From 5c5781b3f88567211ecaaada13431af15c8c6003 Mon Sep 17 00:00:00 2001 From: "K. Y. Srinivasan" Date: Thu, 16 Jun 2011 13:16:35 -0700 Subject: [PATCH] Staging: hv: netvsc: Increase the timeout value in the netvsc 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 --- drivers/staging/hv/netvsc.c | 4 ++-- drivers/staging/hv/rndis_filter.c | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/staging/hv/netvsc.c b/drivers/staging/hv/netvsc.c index 7b5bf0da81d8..1bd920fd611d 100644 --- a/drivers/staging/hv/netvsc.c +++ b/drivers/staging/hv/netvsc.c @@ -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; diff --git a/drivers/staging/hv/rndis_filter.c b/drivers/staging/hv/rndis_filter.c index 5674a135db98..dbb520199756 100644 --- a/drivers/staging/hv/rndis_filter.c +++ b/drivers/staging/hv/rndis_filter.c @@ -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; -- 2.39.5