Module Name:    src
Committed By:   knakahara
Date:           Tue Jun  5 12:17:18 UTC 2018

Modified Files:
        src/sys/dev/pci: if_iwm.c

Log Message:
Fix panic on boot with iwm(4). Advised by nonaka@n.o, thanks.

XXX pullup-8


To generate a diff of this commit:
cvs rdiff -u -r1.78 -r1.79 src/sys/dev/pci/if_iwm.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/pci/if_iwm.c
diff -u src/sys/dev/pci/if_iwm.c:1.78 src/sys/dev/pci/if_iwm.c:1.79
--- src/sys/dev/pci/if_iwm.c:1.78	Sun Jan 21 18:12:37 2018
+++ src/sys/dev/pci/if_iwm.c	Tue Jun  5 12:17:18 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_iwm.c,v 1.78 2018/01/21 18:12:37 christos Exp $	*/
+/*	$NetBSD: if_iwm.c,v 1.79 2018/06/05 12:17:18 knakahara Exp $	*/
 /*	OpenBSD: if_iwm.c,v 1.148 2016/11/19 21:07:08 stsp Exp	*/
 #define IEEE80211_NO_HT
 /*
@@ -106,7 +106,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_iwm.c,v 1.78 2018/01/21 18:12:37 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_iwm.c,v 1.79 2018/06/05 12:17:18 knakahara Exp $");
 
 #include <sys/param.h>
 #include <sys/conf.h>
@@ -7729,6 +7729,7 @@ static int
 iwm_preinit(struct iwm_softc *sc)
 {
 	struct ieee80211com *ic = &sc->sc_ic;
+	struct ifnet *ifp = IC2IFP(&sc->sc_ic);;
 	int err;
 
 	if (ISSET(sc->sc_flags, IWM_FLAG_ATTACHED))
@@ -7760,6 +7761,7 @@ iwm_preinit(struct iwm_softc *sc)
 	if (sc->sc_nvm.sku_cap_band_52GHz_enable)
 		ic->ic_sup_rates[IEEE80211_MODE_11A] = ieee80211_std_rateset_11a;
 
+	ether_ifdetach(ifp);
 	ieee80211_ifattach(ic);
 
 	ic->ic_node_alloc = iwm_node_alloc;
@@ -8133,7 +8135,7 @@ iwm_attach(device_t parent, device_t sel
 #if 0
 	ieee80211_ifattach(ic);
 #else
-	ether_ifattach(ifp, ic->ic_myaddr);	/* XXX */
+	ether_ifattach(ifp, NULL);	/* XXX */
 #endif
 	/* Use common softint-based if_input */
 	ifp->if_percpuq = if_percpuq_create(ifp);

Reply via email to