]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
Staging: hv: storvsc: Increase the timeout value in the storvsc driver
authorK. Y. Srinivasan <kys@microsoft.com>
Thu, 16 Jun 2011 20:16:36 +0000 (13:16 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 5 Aug 2011 04:58:31 +0000 (21:58 -0700)
commit 46d2eb6d82ef44be58ae192c35e8cd52485f02eb 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.
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/storvsc.c
drivers/staging/hv/storvsc_drv.c

index 06cd3276813c55e9a6fc328fdee72fc109f1eee0..302978611943febbc2ba05f1d6e3d4ff070e2ebc 100644 (file)
@@ -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;
index 942cc5f98db19694673c21c6b35ac4099b541fb8..cb4a25b08313917889a9394e95176d584432abac 100644 (file)
@@ -393,7 +393,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;