habanalabs: fix hard reset print and comment
authorOmer Shpigelman <oshpigelman@habana.ai>
Sat, 31 Oct 2020 20:03:55 +0000 (22:03 +0200)
committerOded Gabbay <ogabbay@kernel.org>
Mon, 30 Nov 2020 08:47:33 +0000 (10:47 +0200)
One of the first steps of a hard reset flow is to close all open user
contexts. This user process teradown might take some time due to long
cleanup in our driver or some other reason even before our cleanup flow.
Hence fix the relevant print and comment to be more accurate.

Signed-off-by: Omer Shpigelman <oshpigelman@habana.ai>
Reviewed-by: Oded Gabbay <ogabbay@kernel.org>
Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
drivers/misc/habanalabs/common/device.c

index 421e371..3b82020 100644 (file)
@@ -793,17 +793,20 @@ static int device_kill_open_processes(struct hl_device *hdev)
 
        mutex_unlock(&hdev->fpriv_list_lock);
 
-       /* We killed the open users, but because the driver cleans up after the
-        * user contexts are closed (e.g. mmu mappings), we need to wait again
-        * to make sure the cleaning phase is finished before continuing with
-        * the reset
+       /*
+        * We killed the open users, but that doesn't mean they are closed.
+        * It could be that they are running a long cleanup phase in the driver
+        * e.g. MMU unmappings, or running other long teardown flow even before
+        * our cleanup.
+        * Therefore we need to wait again to make sure they are closed before
+        * continuing with the reset.
         */
 
        pending_cnt = pending_total;
 
        while ((!list_empty(&hdev->fpriv_list)) && (pending_cnt)) {
                dev_info(hdev->dev,
-                       "Waiting for all unmap operations to finish before hard reset\n");
+                       "Waiting for all user contexts to get closed before hard reset\n");
 
                pending_cnt--;