habanalabs: verify no zero event is sent
authorTal Cohen <talcohen@habana.ai>
Mon, 3 Oct 2022 10:55:50 +0000 (13:55 +0300)
committerOded Gabbay <ogabbay@kernel.org>
Wed, 23 Nov 2022 14:13:42 +0000 (16:13 +0200)
The event notifier mechanism should not raise an empty
event (event equals zero).

Signed-off-by: Tal Cohen <talcohen@habana.ai>
Reviewed-by: Oded Gabbay <ogabbay@kernel.org>
Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
drivers/misc/habanalabs/common/device.c
drivers/misc/habanalabs/gaudi/gaudi.c

index b8b32285720de8856d18a314a1a86a2737af3311..9b54d1df53022fc8da9814304fa748f9ff729860 100644 (file)
@@ -1746,6 +1746,11 @@ void hl_notifier_event_send_all(struct hl_device *hdev, u64 event_mask)
 {
        struct hl_fpriv *hpriv;
 
+       if (!event_mask) {
+               dev_warn(hdev->dev, "Skip sending zero event");
+               return;
+       }
+
        mutex_lock(&hdev->fpriv_list_lock);
 
        list_for_each_entry(hpriv, &hdev->fpriv_list, dev_node)
index 1a99f7be8b609ccb0a67d73c9f09b304626c553c..337123f735014942fc5d4b79ae787610182e9c24 100644 (file)
@@ -7945,7 +7945,9 @@ reset_device:
        /* despite reset doesn't execute. a notification on
         * occurred event needs to be sent here
         */
-       hl_notifier_event_send_all(hdev, event_mask);
+       if (event_mask)
+               hl_notifier_event_send_all(hdev, event_mask);
+
        if (reset_required)
                hl_device_reset(hdev, flags);
        else