Drivers: hv: vmbus: Cleanup vmbus_teardown_gpadl()
[pandora-kernel.git] / drivers / hv / channel.c
index f4c3d28..fa59090 100644 (file)
@@ -472,7 +472,7 @@ int vmbus_teardown_gpadl(struct vmbus_channel *channel, u32 gpadl_handle)
        struct vmbus_channel_gpadl_teardown *msg;
        struct vmbus_channel_msginfo *info;
        unsigned long flags;
-       int ret, t;
+       int ret;
 
        info = kmalloc(sizeof(*info) +
                       sizeof(struct vmbus_channel_gpadl_teardown), GFP_KERNEL);
@@ -494,11 +494,12 @@ int vmbus_teardown_gpadl(struct vmbus_channel *channel, u32 gpadl_handle)
        ret = vmbus_post_msg(msg,
                               sizeof(struct vmbus_channel_gpadl_teardown));
 
-       BUG_ON(ret != 0);
-       t = wait_for_completion_timeout(&info->waitevent, 5*HZ);
-       BUG_ON(t == 0);
+       if (ret)
+               goto post_msg_err;
+
+       wait_for_completion(&info->waitevent);
 
-       /* Received a torndown response */
+post_msg_err:
        spin_lock_irqsave(&vmbus_connection.channelmsg_lock, flags);
        list_del(&info->msglistentry);
        spin_unlock_irqrestore(&vmbus_connection.channelmsg_lock, flags);