svn commit: r318224 - head/sys/dev/iwm
Adrian Chadd
adrian at FreeBSD.org
Fri May 12 06:16:12 UTC 2017
Author: adrian
Date: Fri May 12 06:16:11 2017
New Revision: 318224
URL: https://svnweb.freebsd.org/changeset/base/318224
Log:
[iwm] Refuse connection to APs with beacon interval < 16.
Obtained from: dragonflybsd.git aba448de727e9b122adadeb36fd00a8ad6018d4f
Modified:
head/sys/dev/iwm/if_iwm.c
Modified: head/sys/dev/iwm/if_iwm.c
==============================================================================
--- head/sys/dev/iwm/if_iwm.c Fri May 12 06:05:34 2017 (r318223)
+++ head/sys/dev/iwm/if_iwm.c Fri May 12 06:16:11 2017 (r318224)
@@ -3976,6 +3976,21 @@ iwm_auth(struct ieee80211vap *vap, struc
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;
More information about the svn-src-head
mailing list