[PATCH RESEND mac80211] cfg80211: fix channel configuration in IBSS join
Kalle Valo
kvalo at qca.qualcomm.com
Tue Jan 28 08:01:47 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.
>
> 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 meshcoding.com>
> ---
>
> - Patch is getting resent because I did not CC'd the linux-wireless mailing list in
> my previous attempt. :)
Oh, I missed that. Anyway, in previous version I commented about
documenting NULL usage. What do you think about that?
--
Kalle Valo
More information about the libertas-dev
mailing list