linux/net/mac80211
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
..
aes_ccm.c mac80211: port CCMP to cryptoapi's CCM driver 2013-10-11 15:38:20 +02:00
aes_ccm.h mac80211: port CCMP to cryptoapi's CCM driver 2013-10-11 15:38:20 +02:00
aes_cmac.c mac80211: fix checkpatch errors 2013-12-18 10:33:06 +01:00
aes_cmac.h mac80211: fix checkpatch errors 2013-12-18 10:33:06 +01:00
agg-rx.c mac80211: improve aggregation debug messages 2013-01-18 21:55:15 +01:00
agg-tx.c mac80211: send {ADD,DEL}BA on AC_VO like other mgmt frames, as per spec 2014-02-04 21:48:28 +01:00
cfg.c mac80211: add missing CSA locking 2014-02-04 21:58:11 +01:00
cfg.h mac80211: make cfg80211 ops and privid const 2014-02-04 21:48:21 +01:00
chan.c mac80211: fix sdata->radar_required locking 2014-02-04 21:58:10 +01:00
debug.h mac80211: process the CSA frame for mesh accordingly 2013-10-28 15:05:28 +01:00
debugfs_key.c mac80211: move sdata debugfs dir to vif 2013-03-18 20:10:04 +01:00
debugfs_key.h
debugfs_netdev.c mac80211: sync dtim_count to TSF 2014-01-06 20:10:47 +01:00
debugfs_netdev.h
debugfs_sta.c mac80211: fix agg_status debugfs file write 2014-02-04 21:48:19 +01:00
debugfs_sta.h
debugfs.c mac80211: Tx frame latency statistics 2013-12-02 11:51:50 +01:00
debugfs.h mac80211: use __printf attribute in debugfs 2012-10-18 09:01:57 +02:00
driver-ops.h mac80211: add pre-RCU-sync sta removal driver operation 2013-12-16 11:29:44 +01:00
event.c
ht.c mac80211: send {ADD,DEL}BA on AC_VO like other mgmt frames, as per spec 2014-02-04 21:48:28 +01:00
ibss.c cfg80211: fix channel configuration in IBSS join 2014-02-04 21:58:16 +01:00
ieee80211_i.h mac80211: make cfg80211 ops and privid const 2014-02-04 21:48:21 +01:00
iface.c mac80211: add missing CSA locking 2014-02-04 21:58:11 +01:00
Kconfig mac80211: process the CSA frame for mesh accordingly 2013-10-28 15:05:28 +01:00
key.c mac80211: free all AP/VLAN keys at once 2013-12-16 11:29:48 +01:00
key.h mac80211: free all AP/VLAN keys at once 2013-12-16 11:29:48 +01:00
led.c mac80211: use oneshot blink API for LED triggers 2013-08-01 10:48:49 +02:00
led.h mac80211: use oneshot blink API for LED triggers 2013-08-01 10:48:49 +02:00
main.c mac80211: add check on hw->max_signal value on ieee80211_register_hw 2014-02-04 21:48:13 +01:00
Makefile mac80211: mesh power save basics 2013-02-04 18:57:47 +01:00
mesh_hwmp.c mac80211: use put_unaligned_le in mesh when necessary 2013-11-25 20:51:55 +01:00
mesh_pathtbl.c mac80211: use put_unaligned_le in mesh when necessary 2013-11-25 20:51:55 +01:00
mesh_plink.c mac80211: enable WME for peer mesh STA 2014-01-06 17:43:06 +01:00
mesh_ps.c mac80211: use put_unaligned_le16 in mesh_plink_frame_tx 2013-11-25 20:51:53 +01:00
mesh_sync.c mac80211: update adjusting TBTT bit in beacon 2013-12-16 14:21:22 +01:00
mesh.c mac80211: add missing CSA locking 2014-02-04 21:58:11 +01:00
mesh.h mac80211: use put_unaligned_le in mesh when necessary 2013-11-25 20:51:55 +01:00
michael.c
michael.h
mlme.c mac80211: move csa_active setting in STA CSA 2014-02-04 21:58:10 +01:00
offchannel.c mac80211: Run deferred scan if last roc_list item is not started 2013-09-30 12:36:56 +02:00
pm.c mac80211: don't delay station destruction 2013-12-16 11:29:45 +01:00
rate.c mac80211: remove module handling from rate control ops 2014-02-04 21:48:26 +01:00
rate.h mac80211: make rate control ops const 2014-02-04 21:48:21 +01:00
rc80211_minstrel_debugfs.c mac80211: cosmetics for minstrel_debugfs 2013-04-17 17:08:23 +02:00
rc80211_minstrel_ht_debugfs.c mac80211: minstrel_ht: replace some occurences of MCS_GROUP_RATES 2013-11-25 20:52:07 +01:00
rc80211_minstrel_ht.c mac80211: minstrel_ht: sample_table can be __read_mostly 2014-02-04 21:48:25 +01:00
rc80211_minstrel_ht.h mac80211/minstrel_ht: use the new rate control API 2013-04-22 16:16:41 +02:00
rc80211_minstrel.c mac80211: make rate control ops const 2014-02-04 21:48:21 +01:00
rc80211_minstrel.h mac80211: make rate control ops const 2014-02-04 21:48:21 +01:00
rc80211_pid_algo.c mac80211: make rate control ops const 2014-02-04 21:48:21 +01:00
rc80211_pid_debugfs.c mac80211: fix some snprintf misuses 2013-10-01 12:16:51 +02:00
rc80211_pid.h
rx.c mac80211: fix bufferable MMPDU RX handling 2014-02-04 21:58:15 +01:00
scan.c mac80211: reschedule sched scan after HW restart 2013-12-16 13:47:26 +01:00
spectmgmt.c mac80211: fix the mesh channel switch support 2013-11-25 16:50:13 +01:00
sta_info.c mac80211: handle MMPDUs at EOSP correctly 2014-01-10 09:50:02 +01:00
sta_info.h mac80211: optimise mixed AP/VLAN station removal 2013-12-16 11:29:47 +01:00
status.c mac80211: remove set but unused variables 2014-02-04 21:58:14 +01:00
tkip.c mac80211: fix checkpatch errors 2013-12-18 10:33:06 +01:00
tkip.h
trace.c mac80211: trace debug messages 2012-06-24 11:33:18 +02:00
trace.h mac80211: add tracing for ieee80211_sta_set_buffered 2014-01-06 12:09:01 +01:00
tx.c mac80211: fix bufferable MMPDU RX handling 2014-02-04 21:58:15 +01:00
util.c mac80211: remove set but unused variables 2014-02-04 21:58:14 +01:00
vht.c mac80211: enable easier manipulation of VHT beamforming caps 2013-11-25 20:52:01 +01:00
wep.c wireless: move crypto constants to ieee80211.h 2013-05-16 22:39:41 +02:00
wep.h
wme.c mac80211: Add support for QoS mapping 2013-12-19 16:30:58 +01:00
wme.h mac80211: save wmm_acm per sdata 2012-06-20 17:35:22 +02:00
wpa.c mac80211: add length check in ieee80211_is_robust_mgmt_frame() 2014-02-04 21:58:07 +01:00
wpa.h mac80211: add generic cipher scheme support 2013-11-25 20:50:52 +01:00