linux_dsm_epyc7002/drivers/net/wireless/ath/ath6kl
Antonio Quartulli fe94f3a4ff cfg80211: fix channel configuration in IBSS join
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@qca.qualcomm.com>
Cc: Arend van Spriel <arend@broadcom.com>
Cc: Bing Zhao <bzhao@marvell.com>
Cc: Jussi Kivilinna <jussi.kivilinna@iki.fi>
Cc: libertas-dev@lists.infradead.org
Acked-by: Kalle Valo <kvalo@qca.qualcomm.com>
Signed-off-by: Antonio Quartulli <antonio@open-mesh.com>
[minor code cleanup in ath6kl]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2014-02-04 21:58:16 +01:00
..
bmi.c
bmi.h
cfg80211.c cfg80211: fix channel configuration in IBSS join 2014-02-04 21:58:16 +01:00
cfg80211.h ath6kl: Move and rename ath6kl_cleanup_vif function 2012-11-27 21:44:28 +02:00
common.h ath: Remove extern from function prototypes 2013-09-24 16:52:29 -07:00
core.c ath6kl: Make fw error recovery configurable 2012-10-24 11:49:49 +03:00
core.h ath6kl: cleanup ath6kl_reset_device() 2013-03-18 13:37:46 +02:00
debug.c wireless: ath6kl: re-use native helper to parse MAC 2013-06-01 15:11:52 +03:00
debug.h ath: Remove extern from function prototypes 2013-09-24 16:52:29 -07:00
hif-ops.h
hif.c ath6kl: add tracing point for hif irqs 2013-03-18 13:42:21 +02:00
hif.h
htc_mbox.c ath6kl: adding tracing points for htc_mbox 2013-03-18 13:42:21 +02:00
htc_pipe.c ath6kl: cold reset target after host warm boot 2013-03-18 13:38:37 +02:00
htc-ops.h
htc.h ath6kl: fix compilation warning in ath6kl_htc_pipe_conn_service 2013-10-01 19:42:28 +03:00
init.c ath6kl: Fix race in heart beat polling 2013-08-07 10:53:36 +03:00
Kconfig Merge tag 'for-linville-20130318' of git://github.com/kvalo/ath6kl 2013-03-18 16:34:55 -04:00
main.c ath6kl: Fix invalid pointer access on fuzz testing with AP mode 2013-08-07 10:58:59 +03:00
Makefile ath6kl: add tracing support and tracing points for wmi packets 2013-03-18 13:42:20 +02:00
recovery.c ath6kl: Make fw error recovery configurable 2012-10-24 11:49:49 +03:00
sdio.c ath6kl: Unify sg_sz and buf_sz in ath6kl_sdio_alloc_prep_scat_req() 2013-06-01 15:16:33 +03:00
target.h ath6kl: cleanup ath6kl_reset_device() 2013-03-18 13:37:46 +02:00
testmode.c cfg80211: add wdev to testmode cmd 2013-08-12 14:11:37 +02:00
testmode.h cfg80211: add wdev to testmode cmd 2013-08-12 14:11:37 +02:00
trace.c ath6kl: add tracing points for sdio transfers 2013-03-18 13:42:20 +02:00
trace.h ath6kl: fix size_t printf warnings 2013-03-20 08:55:26 -04:00
txrx.c ath6kl: remove false check from ath6kl_rx() 2013-03-18 13:50:19 +02:00
usb.c ath6kl: Fix a suspend/resume crash in AR6004 USB 2013-06-01 15:14:41 +03:00
wmi.c cfg80211: in bitrate_mask, rename mcs to ht_mcs 2013-12-05 16:39:07 +01:00
wmi.h ath6kl: Parse beacon interval from userspace 2012-11-27 21:44:28 +02:00