[PATCHv2] cfg80211: fix channel configuration in IBSS join
Kalle Valo
kvalo at qca.qualcomm.com
Wed Jan 29 10:12:38 EST 2014
Antonio Quartulli <antonio at meshcoding.com> writes:
> From: Antonio Quartulli <antonio at open-mesh.com>
>
> 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 at qca.qualcomm.com>
> Cc: Arend van Spriel <arend at broadcom.com>
> Cc: Bing Zhao <bzhao at marvell.com>
> Cc: Jussi Kivilinna <jussi.kivilinna at iki.fi>
> Cc: libertas-dev at lists.infradead.org
> Signed-off-by: Antonio Quartulli <antonio at open-mesh.com>
For the ath6kl part:
Acked-by: Kalle Valo <kvalo at qca.qualcomm.com>
--
Kalle Valo
More information about the libertas-dev
mailing list