commit: 46d2eb6d82ef44be58ae192c35e8cd52485f02eb
From: "K. Y. Srinivasan" <[email protected]>
Date: Thu, 16 Jun 2011 13:16:36 -0700
Subject: [PATCH] Staging: hv: storvsc: Increase the timeout value in the
 storvsc 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.
the 3.0 kernel as well.

Signed-off-by: K. Y. Srinivasan <[email protected]>
Signed-off-by: Haiyang Zhang <[email protected]>
Signed-off-by: Hank Janssen <[email protected]>
Cc: stable <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
 drivers/staging/hv/storvsc.c     |    8 ++++----
 drivers/staging/hv/storvsc_drv.c |    2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/staging/hv/storvsc.c b/drivers/staging/hv/storvsc.c
index 06cd327..3029786 100644
--- a/drivers/staging/hv/storvsc.c
+++ b/drivers/staging/hv/storvsc.c
@@ -135,7 +135,7 @@ static int storvsc_channel_init(struct hv_device *device)
        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;
@@ -163,7 +163,7 @@ static int storvsc_channel_init(struct hv_device *device)
        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;
@@ -192,7 +192,7 @@ static int storvsc_channel_init(struct hv_device *device)
        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;
@@ -222,7 +222,7 @@ static int storvsc_channel_init(struct hv_device *device)
        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;
diff --git a/drivers/staging/hv/storvsc_drv.c b/drivers/staging/hv/storvsc_drv.c
index 2c6d2f2..7effaf3 100644
--- a/drivers/staging/hv/storvsc_drv.c
+++ b/drivers/staging/hv/storvsc_drv.c
@@ -376,7 +376,7 @@ static int storvsc_host_reset(struct hv_device *device)
        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;

_______________________________________________
stable mailing list
[email protected]
http://linux.kernel.org/mailman/listinfo/stable

Reply via email to