habanalabs: prevent false heartbeat message
authorOded Gabbay <ogabbay@kernel.org>
Sat, 13 Nov 2021 15:58:43 +0000 (17:58 +0200)
committerOded Gabbay <ogabbay@kernel.org>
Sun, 26 Dec 2021 06:59:06 +0000 (08:59 +0200)
If a device reset has started, there is a chance that the heartbeat
function will fail because the device is disabled at the beginning
of the reset function.

In that case, we don't want the error message to appear in the log.

Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
drivers/misc/habanalabs/common/device.c

index 0da5a55..ca74d78 100644 (file)
@@ -543,7 +543,9 @@ static void hl_device_heartbeat(struct work_struct *work)
        if (!hdev->asic_funcs->send_heartbeat(hdev))
                goto reschedule;
 
-       dev_err(hdev->dev, "Device heartbeat failed!\n");
+       if (hl_device_operational(hdev, NULL))
+               dev_err(hdev->dev, "Device heartbeat failed!\n");
+
        hl_device_reset(hdev, HL_DRV_RESET_HARD | HL_DRV_RESET_HEARTBEAT);
 
        return;