David,

Totally untested; will need manual application as I bet this patch is mangled.

Would you mind testing this? I have a feeling we need to add if_addr
lock calls in a few places.

Thanks,


-adrian

Index: sys/net80211/ieee80211_ioctl.c
===================================================================
--- sys/net80211/ieee80211_ioctl.c (revision 303738)
+++ sys/net80211/ieee80211_ioctl.c (working copy)
@@ -3389,15 +3389,16 @@
  /* Wait for parent ioctl handler if it was queued */
  if (wait) {
  ieee80211_waitfor_parent(ic);
-
  /*
  * Check if the MAC address was changed
  * via SIOCSIFLLADDR ioctl.
  */
+ if_addr_rlock(ifp);
  if ((ifp->if_flags & IFF_UP) == 0 &&
      !IEEE80211_ADDR_EQ(vap->iv_myaddr, IF_LLADDR(ifp)))
  IEEE80211_ADDR_COPY(vap->iv_myaddr,
      IF_LLADDR(ifp));
+ if_addr_runlock(ifp);
  }
  break;
  case SIOCADDMULTI:
_______________________________________________
freebsd-net@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"

Reply via email to