Drivers: hv: vmbus: avoid wait_for_completion() on crash
[cascardo/linux.git] / drivers / hv / channel_mgmt.c
index b40f429..f70e352 100644 (file)
@@ -641,7 +641,7 @@ static void vmbus_unload_response(struct vmbus_channel_message_header *hdr)
        complete(&vmbus_connection.unload_event);
 }
 
-void vmbus_initiate_unload(void)
+void vmbus_initiate_unload(bool crash)
 {
        struct vmbus_channel_message_header hdr;
 
@@ -658,7 +658,7 @@ void vmbus_initiate_unload(void)
         * vmbus_initiate_unload() is also called on crash and the crash can be
         * happening in an interrupt context, where scheduling is impossible.
         */
-       if (!in_interrupt())
+       if (!crash)
                wait_for_completion(&vmbus_connection.unload_event);
        else
                vmbus_wait_for_unload();