Module Name:    src
Committed By:   knakahara
Date:           Fri Jun  8 11:18:23 UTC 2018

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

Log Message:
iwm(4) workaround as ifp->if_hwdl can be set only once. Advised nonaka@n.o and 
ozaki-r@n.o, thanks.

To avoid for iwm(4) to set if_hwdl before loading firmware, use local address
as dummy. See sys/net/if.c::if_set_sadl().


To generate a diff of this commit:
cvs rdiff -u -r1.81 -r1.82 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.81 src/sys/dev/pci/if_iwm.c:1.82
--- src/sys/dev/pci/if_iwm.c:1.81	Fri Jun  8 11:09:24 2018
+++ src/sys/dev/pci/if_iwm.c	Fri Jun  8 11:18:23 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_iwm.c,v 1.81 2018/06/08 11:09:24 knakahara Exp $	*/
+/*	$NetBSD: if_iwm.c,v 1.82 2018/06/08 11:18:23 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.81 2018/06/08 11:09:24 knakahara Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_iwm.c,v 1.82 2018/06/08 11:18:23 knakahara Exp $");
 
 #include <sys/param.h>
 #include <sys/conf.h>
@@ -8140,7 +8140,13 @@ iwm_attach(device_t parent, device_t sel
 #if 0
 	ieee80211_ifattach(ic);
 #else
-	ether_ifattach(ifp, NULL);	/* XXX */
+	/*
+	 * XXX
+	 * To avoid setting ifp->if_hwdl in if_set_sadl(), we fake
+	 *  ic->ic_myaddr as local address.
+	 */
+	ic->ic_myaddr[0] = 0x02;
+	ether_ifattach(ifp,  ic->ic_myaddr);	/* XXX */
 #endif
 	/* Use common softint-based if_input */
 	ifp->if_percpuq = if_percpuq_create(ifp);

Reply via email to