Commit 01f8cd0f authored by Tomer Tayar's avatar Tomer Tayar Committed by Oded Gabbay

accel/habanalabs/gaudi2: fail memory memset when failing to copy QM packet to device

gaudi2_memset_memory_chunk_using_edma_qm() calls the access_dev_mem()
ASIC function, but ignores its return value.
Add this missing check.
Signed-off-by: default avatarTomer Tayar <ttayar@habana.ai>
Reviewed-by: default avatarOded Gabbay <ogabbay@kernel.org>
Signed-off-by: default avatarOded Gabbay <ogabbay@kernel.org>
parent 731d320e
...@@ -10345,14 +10345,20 @@ static int gaudi2_memset_memory_chunk_using_edma_qm(struct hl_device *hdev, ...@@ -10345,14 +10345,20 @@ static int gaudi2_memset_memory_chunk_using_edma_qm(struct hl_device *hdev,
pkt_size = sizeof(struct packet_lin_dma); pkt_size = sizeof(struct packet_lin_dma);
for (i = 0; i < 3; i++) for (i = 0; i < 3; i++) {
rc = hdev->asic_funcs->access_dev_mem(hdev, PCI_REGION_DRAM, rc = hdev->asic_funcs->access_dev_mem(hdev, PCI_REGION_DRAM,
phys_addr + (i * sizeof(u64)), phys_addr + (i * sizeof(u64)),
((u64 *)(lin_dma_pkt)) + i, DEBUGFS_WRITE64); ((u64 *)(lin_dma_pkt)) + i, DEBUGFS_WRITE64);
if (rc) {
dev_err(hdev->dev, "Failed to copy lin_dma packet to HBM (%#llx)\n",
phys_addr);
return rc;
}
}
rc = hl_hw_queue_send_cb_no_cmpl(hdev, hw_queue_id, pkt_size, phys_addr); rc = hl_hw_queue_send_cb_no_cmpl(hdev, hw_queue_id, pkt_size, phys_addr);
if (rc) if (rc)
dev_err(hdev->dev, "Failed to send lin dma packet to H/W queue %d\n", dev_err(hdev->dev, "Failed to send lin_dma packet to H/W queue %d\n",
hw_queue_id); hw_queue_id);
return rc; return rc;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment