Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 Feb 2016 09:27:50 +0000 (UTC)
From:      Sepherosa Ziehau <sephe@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r296028 - in head/sys/dev/hyperv: netvsc vmbus
Message-ID:  <201602250927.u1P9RorO073619@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: sephe
Date: Thu Feb 25 09:27:50 2016
New Revision: 296028
URL: https://svnweb.freebsd.org/changeset/base/296028

Log:
  hyperv: Wait 5 seconds for hyperv result, instead of 500ms
  
  This addresses various devices (network, stoarge) attach failure.
  
  Reported by:	Hongxiong Xian <v-hoxian microsoft com>
  Tested by:	Hongxiong Xian <v-hoxian microsoft com>
  MFC after:	1 week
  Sponsored by:	Microsoft OSTC
  Differential Revision:	https://reviews.freebsd.org/D5435

Modified:
  head/sys/dev/hyperv/netvsc/hv_rndis_filter.c
  head/sys/dev/hyperv/vmbus/hv_channel.c
  head/sys/dev/hyperv/vmbus/hv_connection.c

Modified: head/sys/dev/hyperv/netvsc/hv_rndis_filter.c
==============================================================================
--- head/sys/dev/hyperv/netvsc/hv_rndis_filter.c	Thu Feb 25 08:17:31 2016	(r296027)
+++ head/sys/dev/hyperv/netvsc/hv_rndis_filter.c	Thu Feb 25 09:27:50 2016	(r296028)
@@ -352,7 +352,7 @@ hv_rf_send_offload_request(struct hv_dev
 		goto cleanup;
 	}
 
-	ret = sema_timedwait(&request->wait_sema, 500);
+	ret = sema_timedwait(&request->wait_sema, 5 * hz);
 	if (ret != 0) {
 		device_printf(dev, "hv send offload request timeout\n");
 		goto cleanup;
@@ -619,7 +619,7 @@ hv_rf_set_packet_filter(rndis_device *de
 	 * us when the response has arrived.  In the failure case,
 	 * sema_timedwait() returns a non-zero status after waiting 5 seconds.
 	 */
-	ret = sema_timedwait(&request->wait_sema, 500);
+	ret = sema_timedwait(&request->wait_sema, 5 * hz);
 	if (ret == 0) {
 		/* Response received, check status */
 		set_complete = &request->response_msg.msg.set_complete;

Modified: head/sys/dev/hyperv/vmbus/hv_channel.c
==============================================================================
--- head/sys/dev/hyperv/vmbus/hv_channel.c	Thu Feb 25 08:17:31 2016	(r296027)
+++ head/sys/dev/hyperv/vmbus/hv_channel.c	Thu Feb 25 09:27:50 2016	(r296028)
@@ -30,6 +30,7 @@
 __FBSDID("$FreeBSD$");
 
 #include <sys/param.h>
+#include <sys/kernel.h>
 #include <sys/malloc.h>
 #include <sys/systm.h>
 #include <sys/mbuf.h>
@@ -194,7 +195,7 @@ hv_vmbus_channel_open(
 	if (ret != 0)
 	    goto cleanup;
 
-	ret = sema_timedwait(&open_info->wait_sema, 500); /* KYS 5 seconds */
+	ret = sema_timedwait(&open_info->wait_sema, 5 * hz); /* KYS 5 seconds */
 
 	if (ret) {
 	    if(bootverbose)
@@ -439,7 +440,7 @@ hv_vmbus_channel_establish_gpadl(
 	    }
 	}
 
-	ret = sema_timedwait(&msg_info->wait_sema, 500); /* KYS 5 seconds*/
+	ret = sema_timedwait(&msg_info->wait_sema, 5 * hz); /* KYS 5 seconds*/
 	if (ret != 0)
 	    goto cleanup;
 
@@ -499,7 +500,7 @@ hv_vmbus_channel_teardown_gpdal(
 	if (ret != 0) 
 	    goto cleanup;
 	
-	ret = sema_timedwait(&info->wait_sema, 500); /* KYS 5 seconds */
+	ret = sema_timedwait(&info->wait_sema, 5 * hz); /* KYS 5 seconds */
 
 cleanup:
 	/*

Modified: head/sys/dev/hyperv/vmbus/hv_connection.c
==============================================================================
--- head/sys/dev/hyperv/vmbus/hv_connection.c	Thu Feb 25 08:17:31 2016	(r296027)
+++ head/sys/dev/hyperv/vmbus/hv_connection.c	Thu Feb 25 09:27:50 2016	(r296028)
@@ -27,6 +27,7 @@
  */
 
 #include <sys/param.h>
+#include <sys/kernel.h>
 #include <sys/malloc.h>
 #include <sys/systm.h>
 #include <sys/lock.h>
@@ -121,7 +122,7 @@ hv_vmbus_negotiate_version(hv_vmbus_chan
 	/**
 	 * Wait for the connection response
 	 */
-	ret = sema_timedwait(&msg_info->wait_sema, 500); /* KYS 5 seconds */
+	ret = sema_timedwait(&msg_info->wait_sema, 5 * hz); /* KYS 5 seconds */
 
 	mtx_lock_spin(&hv_vmbus_g_connection.channel_msg_lock);
 	TAILQ_REMOVE(



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201602250927.u1P9RorO073619>