Author: eadler
Date: Thu Mar  1 06:42:47 2018
New Revision: 330212
URL: https://svnweb.freebsd.org/changeset/base/330212

Log:
  MFC r318224:
  
  [iwm] Refuse connection to APs with beacon interval < 16.

Modified:
  stable/11/sys/dev/iwm/if_iwm.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sys/dev/iwm/if_iwm.c
==============================================================================
--- stable/11/sys/dev/iwm/if_iwm.c      Thu Mar  1 06:42:19 2018        
(r330211)
+++ stable/11/sys/dev/iwm/if_iwm.c      Thu Mar  1 06:42:47 2018        
(r330212)
@@ -3961,6 +3961,21 @@ iwm_auth(struct ieee80211vap *vap, struct iwm_softc *s
 
        in->in_assoc = 0;
 
+       /*
+        * Firmware bug - it'll crash if the beacon interval is less
+        * than 16. We can't avoid connecting at all, so refuse the
+        * station state change, this will cause net80211 to abandon
+        * attempts to connect to this AP, and eventually wpa_s will
+        * blacklist the AP...
+        */
+       if (ni->ni_intval < 16) {
+               device_printf(sc->sc_dev,
+                   "AP %s beacon interval is %d, refusing due to firmware 
bug!\n",
+                   ether_sprintf(ni->ni_bssid), ni->ni_intval);
+               error = EINVAL;
+               goto out;
+       }
+
        error = iwm_mvm_sf_config(sc, IWM_SF_FULL_ON);
        if (error != 0)
                return error;
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to