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 0da5a55490ffcbab311f4eb2ad366fb4d273529b..ca74d7815a67ff9e62b4f2efe1357339e936f278 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;