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>
Fri, 5 Aug 2011 04:58:32 +0000 (21:58 -0700)
commit 5c5781b3f88567211ecaaada13431af15c8c6003 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/hv/netvsc.c
drivers/staging/hv/rndis_filter.c

index 41cbb26eccbf8c978d5cbc877d15ceebbd4d0f97..4742b684ca2dafe02d29673f15690f1f586a4b93 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);
 
 
@@ -513,7 +513,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 60ebdb1b6082b33f1a993b1b6928da599df4c1fc..b47ebb3513fb009348c3c581083d3ed2225c302b 100644 (file)
@@ -467,7 +467,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;
@@ -543,7 +543,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;
@@ -600,7 +600,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;