Antonio Quartulli <antonio@xxxxxxxxxxxxxx> writes: > From: Antonio Quartulli <antonio@xxxxxxxxxxxxx> > > When receiving an IBSS_JOINED event select the BSS object > based on the {bssid, channel} couple rather than the bssid > only. > With the current approach if another cell having the same > BSSID (but using a different channel) exists then cfg80211 > picks up the wrong BSS object. > The result is a mismatching channel configuration between > cfg80211 and the driver, that can lead to any sort of > problem. > > The issue can be triggered by having an IBSS sitting on > given channel and then asking the driver to create a new > cell using the same BSSID but with a different frequency. > By passing the channel to cfg80211_get_bss() we can solve > this ambiguity and retrieve/create the correct BSS object. > All the users of cfg80211_ibss_joined() have been changed > accordingly. > > Moreover WARN when cfg80211_ibss_joined() gets a NULL > channel as argument and remove a bogus call of the same > function in ath6kl (it does not make sense to call > cfg80211_ibss_joined() with a zero BSSID on ibss-leave). > > Cc: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> > Cc: Arend van Spriel <arend@xxxxxxxxxxxx> > Cc: Bing Zhao <bzhao@xxxxxxxxxxx> > Cc: Jussi Kivilinna <jussi.kivilinna@xxxxxx> > Cc: libertas-dev@xxxxxxxxxxxxxxxxxxx > Signed-off-by: Antonio Quartulli <antonio@xxxxxxxxxxxxx> For the ath6kl part: Acked-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> -- Kalle Valo -- 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