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);
 }
 
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to