From: Tomer Tayar <tta...@habana.ai>

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: Tomer Tayar <tta...@habana.ai>
Reviewed-by: Oded Gabbay <ogab...@kernel.org>
Signed-off-by: Oded Gabbay <ogab...@kernel.org>
---
 drivers/accel/habanalabs/gaudi2/gaudi2.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/accel/habanalabs/gaudi2/gaudi2.c 
b/drivers/accel/habanalabs/gaudi2/gaudi2.c
index 05e2170c815e..1f061209ae21 100644
--- a/drivers/accel/habanalabs/gaudi2/gaudi2.c
+++ b/drivers/accel/habanalabs/gaudi2/gaudi2.c
@@ -10345,14 +10345,20 @@ static int 
gaudi2_memset_memory_chunk_using_edma_qm(struct hl_device *hdev,
 
        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,
                                phys_addr + (i * sizeof(u64)),
                                ((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);
        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);
 
        return rc;
-- 
2.34.1

Reply via email to