From: K. Y. Srinivasan Date: Thu, 16 Jun 2011 20:16:34 +0000 (-0700) Subject: Staging: hv: vmbus: Increase the timeout value in the vmbus driver X-Git-Url: http://git.mmlx.us/?a=commitdiff_plain;h=2dfde9644fe8c4a77f9c73f95b25d6300ca23b5d;p=linux-edison.git Staging: hv: vmbus: Increase the timeout value in the vmbus driver 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 Signed-off-by: Haiyang Zhang Signed-off-by: Hank Janssen Cc: stable Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/hv/channel.c b/drivers/staging/hv/channel.c index cffca7c9143..455f47a891f 100644 --- a/drivers/staging/hv/channel.c +++ b/drivers/staging/hv/channel.c @@ -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; diff --git a/drivers/staging/hv/channel_mgmt.c b/drivers/staging/hv/channel_mgmt.c index 2d270ce376b..bf011f3fb85 100644 --- a/drivers/staging/hv/channel_mgmt.c +++ b/drivers/staging/hv/channel_mgmt.c @@ -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; diff --git a/drivers/staging/hv/connection.c b/drivers/staging/hv/connection.c index 7e15392fac9..e6b40392e08 100644 --- a/drivers/staging/hv/connection.c +++ b/drivers/staging/hv/connection.c @@ -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);