Staging: hv: netvsc: Increase the timeout value in the netvsc driver
authorK. Y. Srinivasan <kys@microsoft.com>
Thu, 16 Jun 2011 20:16:35 +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/netvsc.c
drivers/staging/hv/rndis_filter.c

index 7b5bf0da81d8870117cc16fc39a3c9630cd4383c..1bd920fd611db8833d7720c8cd0bc2f9a2aa1f9c 100644 (file)
@@ -270,7 +270,7 @@ static int netvsc_init_recv_buf(struct hv_device *device)
                goto cleanup;
        }
 
-       t = wait_for_completion_timeout(&net_device->channel_init_wait, HZ);
+       t = wait_for_completion_timeout(&net_device->channel_init_wait, 5*HZ);
        BUG_ON(t == 0);
 
 
@@ -357,7 +357,7 @@ static int netvsc_connect_vsp(struct hv_device *device)
        if (ret != 0)
                goto cleanup;
 
-       t = wait_for_completion_timeout(&net_device->channel_init_wait, HZ);
+       t = wait_for_completion_timeout(&net_device->channel_init_wait, 5*HZ);
 
        if (t == 0) {
                ret = -ETIMEDOUT;
index 5674a135db98ece17195eb04904432c3424290ae..dbb520199756b2ef294be80d4c8376c990c0bd34 100644 (file)
@@ -452,7 +452,7 @@ static int rndis_filter_query_device(struct rndis_device *dev, u32 oid,
        if (ret != 0)
                goto Cleanup;
 
-       t = wait_for_completion_timeout(&request->wait_event, HZ);
+       t = wait_for_completion_timeout(&request->wait_event, 5*HZ);
        if (t == 0) {
                ret = -ETIMEDOUT;
                goto Cleanup;
@@ -528,7 +528,7 @@ static int rndis_filter_set_packet_filter(struct rndis_device *dev,
        if (ret != 0)
                goto Cleanup;
 
-       t = wait_for_completion_timeout(&request->wait_event, HZ);
+       t = wait_for_completion_timeout(&request->wait_event, 5*HZ);
 
        if (t == 0) {
                ret = -1;
@@ -585,7 +585,7 @@ static int rndis_filter_init_device(struct rndis_device *dev)
        }
 
 
-       t = wait_for_completion_timeout(&request->wait_event, HZ);
+       t = wait_for_completion_timeout(&request->wait_event, 5*HZ);
 
        if (t == 0) {
                ret = -ETIMEDOUT;