On 05/10/15(Mon) 22:58, Stefan Sperling wrote:
> This matches what all other wifi drivers seem to be doing.
> ifconfig iwm0 lladdr random still works.
>
> ok?
Yes please.
> Index: if_iwm.c
> ===================================================================
> RCS file: /cvs/src/sys/dev/pci/if_iwm.c,v
> retrieving revision 1.52
> diff -u -p -r1.52 if_iwm.c
> --- if_iwm.c 5 Oct 2015 13:05:08 -0000 1.52
> +++ if_iwm.c 5 Oct 2015 20:53:23 -0000
> @@ -5729,11 +5729,6 @@ iwm_ioctl(struct ifnet *ifp, u_long cmd,
> error = 0;
> break;
>
> - case SIOCSIFLLADDR:
> - IEEE80211_ADDR_COPY(sc->sc_ic.ic_myaddr,
> - ((struct arpcom *)ifp)->ac_enaddr);
> - break;
> -
> default:
> error = ieee80211_ioctl(ifp, cmd, data);
> }
> @@ -6323,8 +6318,12 @@ iwm_preinit(struct iwm_softc *sc)
> return error;
> }
>
> - if (attached)
> + if (attached) {
> + /* Update MAC in case the upper layers changed it. */
> + IEEE80211_ADDR_COPY(sc->sc_ic.ic_myaddr,
> + ((struct arpcom *)ifp)->ac_enaddr);
> return 0;
> + }
>
> if ((error = iwm_start_hw(sc)) != 0) {
> printf("%s: could not initialize hardware\n", DEVNAME(sc));
>