Drivers: hv: vmbus: Cleanup vmbus_establish_gpadl()
authorK. Y. Srinivasan <kys@microsoft.com>
Wed, 27 Aug 2014 23:25:34 +0000 (16:25 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 30 Oct 2014 16:35:11 +0000 (09:35 -0700)
commit 72c6b71c245dac8f371167d97ef471b367d0b66b upstream.

Eliminate the call to BUG_ON() by waiting for the host to respond. We are
trying to reclaim the ownership of memory that was given to the host and so
we will have to wait until the host responds.

Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Tested-by: Sitsofe Wheeler <sitsofe@yahoo.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/hv/channel.c

index a367365b3613e1a6d139f54a833fbc21f8c633c6..d34db9fdc518934a7dd0b6dda5202404807ac565 100644 (file)
@@ -392,7 +392,6 @@ int vmbus_establish_gpadl(struct vmbus_channel *channel, void *kbuffer,
        u32 next_gpadl_handle;
        unsigned long flags;
        int ret = 0;
-       int t;
 
        next_gpadl_handle = atomic_read(&vmbus_connection.next_gpadl_handle);
        atomic_inc(&vmbus_connection.next_gpadl_handle);
@@ -439,9 +438,7 @@ int vmbus_establish_gpadl(struct vmbus_channel *channel, void *kbuffer,
 
                }
        }
-       t = wait_for_completion_timeout(&msginfo->waitevent, 5*HZ);
-       BUG_ON(t == 0);
-
+       wait_for_completion(&msginfo->waitevent);
 
        /* At this point, we received the gpadl created msg */
        *gpadl_handle = gpadlmsg->gpadl;