The Netgear WNDAP360 sends invalid ECSA IEs in probe response frames which have the operating class and channel number fields set to 0, even when no channel switch is pending. mac80211 responds to invalid ECSAs by disconnecting. The result is that every scan when associated to one of these APs triggers a disconnect. Since these ECSAs are obviously bogus, ignore them in probe response and beacon frames. Do not disconnect. Cc: <stable@xxxxxxxxxxxxxxx> # 3.10+ Signed-off-by: Seth Forshee <seth.forshee@xxxxxxxxxxxxx> --- net/mac80211/mlme.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c index cc9e02d..f921b67 100644 --- a/net/mac80211/mlme.c +++ b/net/mac80211/mlme.c @@ -1054,6 +1054,13 @@ ieee80211_sta_process_chanswitch(struct ieee80211_sub_if_data *sdata, if (!ieee80211_operating_class_to_band( elems->ext_chansw_ie->new_operating_class, &new_band)) { + /* + * Some APs send invalid ECSA IEs in probe response + * frames, so check for these and ignore them. + */ + if (beacon && elems->ext_chansw_ie->new_ch_num == 0 && + elems->ext_chansw_ie->new_operating_class == 0) + return; sdata_info(sdata, "cannot understand ECSA IE operating class %d, disconnecting\n", elems->ext_chansw_ie->new_operating_class); -- 1.8.1.2 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html