svn commit: r330212 - stable/11/sys/dev/iwm

Eitan Adler eadler at FreeBSD.org
Thu Mar 1 06:42:48 UTC 2018


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;


More information about the svn-src-all mailing list