svn commit: r305587 - head/sys/dev/hyperv/netvsc

Sepherosa Ziehau sephe at FreeBSD.org
Thu Sep 8 07:45:21 UTC 2016


Author: sephe
Date: Thu Sep  8 07:45:20 2016
New Revision: 305587
URL: https://svnweb.freebsd.org/changeset/base/305587

Log:
  hyperv/hn: Factor out NVS NDIS initialization
  
  MFC after:	1 week
  Sponsored by:	Microsoft
  Differential Revision:	https://reviews.freebsd.org/D7811

Modified:
  head/sys/dev/hyperv/netvsc/hv_net_vsc.c

Modified: head/sys/dev/hyperv/netvsc/hv_net_vsc.c
==============================================================================
--- head/sys/dev/hyperv/netvsc/hv_net_vsc.c	Thu Sep  8 07:34:31 2016	(r305586)
+++ head/sys/dev/hyperv/netvsc/hv_net_vsc.c	Thu Sep  8 07:45:20 2016	(r305587)
@@ -491,6 +491,24 @@ hn_nvs_conf_ndis(struct hn_softc *sc, in
 }
 
 static int
+hn_nvs_init_ndis(struct hn_softc *sc)
+{
+	struct hn_nvs_ndis_init ndis;
+	int error;
+
+	memset(&ndis, 0, sizeof(ndis));
+	ndis.nvs_type = HN_NVS_TYPE_NDIS_INIT;
+	ndis.nvs_ndis_major = HN_NDIS_VERSION_MAJOR(sc->hn_ndis_ver);
+	ndis.nvs_ndis_minor = HN_NDIS_VERSION_MINOR(sc->hn_ndis_ver);
+
+	/* NOTE: No response. */
+	error = hn_nvs_req_send(sc, &ndis, sizeof(ndis));
+	if (error)
+		if_printf(sc->hn_ifp, "send nvs ndis init failed: %d\n", error);
+	return (error);
+}
+
+static int
 hn_nvs_init(struct hn_softc *sc)
 {
 	int i;
@@ -523,8 +541,7 @@ hn_nvs_init(struct hn_softc *sc)
 static int
 hv_nv_connect_to_vsp(struct hn_softc *sc, int mtu)
 {
-	int ret = 0;
-	struct hn_nvs_ndis_init ndis;
+	int ret;
 
 	/*
 	 * Initialize NVS.
@@ -545,24 +562,13 @@ hv_nv_connect_to_vsp(struct hn_softc *sc
 	/*
 	 * Initialize NDIS.
 	 */
-
-	memset(&ndis, 0, sizeof(ndis));
-	ndis.nvs_type = HN_NVS_TYPE_NDIS_INIT;
-	ndis.nvs_ndis_major = HN_NDIS_VERSION_MAJOR(sc->hn_ndis_ver);
-	ndis.nvs_ndis_minor = HN_NDIS_VERSION_MINOR(sc->hn_ndis_ver);
-
-	/* NOTE: No response. */
-	ret = hn_nvs_req_send(sc, &ndis, sizeof(ndis));
-	if (ret != 0) {
-		if_printf(sc->hn_ifp, "send nvs ndis init failed: %d\n", ret);
-		goto cleanup;
-	}
+	ret = hn_nvs_init_ndis(sc);
+	if (ret != 0)
+		return (ret);
 
 	ret = hv_nv_init_rx_buffer_with_net_vsp(sc);
 	if (ret == 0)
 		ret = hv_nv_init_send_buffer_with_net_vsp(sc);
-
-cleanup:
 	return (ret);
 }
 


More information about the svn-src-head mailing list