Make roaming after a background scan work while tcpbench -u is running
authorstsp <stsp@openbsd.org>
Thu, 14 Dec 2017 20:12:32 +0000 (20:12 +0000)
committerstsp <stsp@openbsd.org>
Thu, 14 Dec 2017 20:12:32 +0000 (20:12 +0000)
over iwn(4), in the same way as this was done for iwm(4).

I forgot about making iwn(4) heed the IEEE80211_F_TX_MGMT_ONLY flag which
is used to disable queueing of new data frames during an AP switch.

Found due to a problem report by naddy@
ok phessler@ tb@

sys/dev/pci/if_iwn.c

index 6c799fb..2c8c122 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: if_iwn.c,v 1.195 2017/12/14 14:21:11 stsp Exp $       */
+/*     $OpenBSD: if_iwn.c,v 1.196 2017/12/14 20:12:32 stsp Exp $       */
 
 /*-
  * Copyright (c) 2007-2010 Damien Bergamini <damien.bergamini@free.fr>
@@ -3254,7 +3254,8 @@ iwn_start(struct ifnet *ifp)
                        ni = m->m_pkthdr.ph_cookie;
                        goto sendit;
                }
-               if (ic->ic_state != IEEE80211_S_RUN)
+               if (ic->ic_state != IEEE80211_S_RUN ||
+                   (ic->ic_xflags & IEEE80211_F_TX_MGMT_ONLY))
                        break;
 
                /* Encapsulate and send data frames. */