Staging: hv: vmbus: Increase the timeout value in the vmbus driver
authorK. Y. Srinivasan <kys@microsoft.com>
Thu, 16 Jun 2011 20:16:34 +0000 (13:16 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 5 Jul 2011 15:59:23 +0000 (08:59 -0700)
On some loaded windows hosts, we have discovered that the host may not
respond to guest requests within the specified time (one second)
as evidenced by the guest timing out. Fix this problem by increasing
the timeout to 5 seconds.

It may be useful to apply this patch to the 3.0 kernel as well.

Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Hank Janssen <hjanssen@microsoft.com>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/hv/channel.c
drivers/staging/hv/channel_mgmt.c
drivers/staging/hv/connection.c

index cffca7c9143ded3afb6c3e1cc36935e7a293b958..455f47a891f17980a71d13b7f82ec00f89f27ae4 100644 (file)
@@ -211,7 +211,7 @@ int vmbus_open(struct vmbus_channel *newchannel, u32 send_ringbuffer_size,
        if (ret != 0)
                goto cleanup;
 
-       t = wait_for_completion_timeout(&openInfo->waitevent, HZ);
+       t = wait_for_completion_timeout(&openInfo->waitevent, 5*HZ);
        if (t == 0) {
                err = -ETIMEDOUT;
                goto errorout;
index 2d270ce376bbf0b2c297cd737c937732f9aeeab8..bf011f3fb8514739c93c036af0f9520971cc03fb 100644 (file)
@@ -767,7 +767,7 @@ int vmbus_request_offers(void)
                goto cleanup;
        }
 
-       t = wait_for_completion_timeout(&msginfo->waitevent, HZ);
+       t = wait_for_completion_timeout(&msginfo->waitevent, 5*HZ);
        if (t == 0) {
                ret = -ETIMEDOUT;
                goto cleanup;
index 7e15392fac9ed7167d6cece8c19d92910a058e2e..e6b40392e08d511b560f53080160b4d06ad20db2 100644 (file)
@@ -135,7 +135,7 @@ int vmbus_connect(void)
        }
 
        /* Wait for the connection response */
-       t =  wait_for_completion_timeout(&msginfo->waitevent, HZ);
+       t =  wait_for_completion_timeout(&msginfo->waitevent, 5*HZ);
        if (t == 0) {
                spin_lock_irqsave(&vmbus_connection.channelmsg_lock,
                                flags);