linux/net/mac80211
Johannes Berg 0d9c2beed1 wifi: mac80211: fix monitor channel with chanctx emulation
After the channel context emulation, there were reports that
changing the monitor channel no longer works. This is because
those drivers don't have WANT_MONITOR_VIF, so the setting the
channel always exits out quickly.

Fix this by always allocating the virtual monitor sdata, and
simply not telling the driver about it unless it wanted to.
This way, we have an interface/sdata to bind the chanctx to,
and the emulation can work correctly.

Cc: stable@vger.kernel.org
Fixes: 0a44dfc070 ("wifi: mac80211: simplify non-chanctx drivers")
Reported-and-tested-by: Savyasaachi Vanga <savyasaachiv@gmail.com>
Closes: https://lore.kernel.org/r/chwoymvpzwtbmzryrlitpwmta5j6mtndocxsyqvdyikqu63lon@gfds653hkknl
Link: https://msgid.link/20240612122351.b12d4a109dde.I1831a44417faaab92bea1071209abbe4efbe3fba@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2024-06-14 09:14:08 +02:00
..
tests wifi: mac80211: hide element parsing internals 2024-03-04 14:33:03 +01:00
aead_api.c
aead_api.h
aes_ccm.h
aes_cmac.c
aes_cmac.h
aes_gcm.h
aes_gmac.c
aes_gmac.h
agg-rx.c
agg-tx.c wifi: mac80211: introduce 'channel request' 2024-02-08 13:07:34 +01:00
airtime.c
cfg.c wifi: mac80211: pass proper link id for channel switch started notification 2024-05-29 15:25:36 +02:00
chan.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2024-04-25 12:41:37 -07:00
debug.h wifi: mac80211: fix mlme_link_id_dbg() 2024-03-25 15:22:53 +01:00
debugfs.c wifi: mac80211: add flag to disallow puncturing in 5 GHz 2024-03-25 15:38:13 +01:00
debugfs.h
debugfs_key.c
debugfs_key.h
debugfs_netdev.c wifi: mac80211: fix driver debugfs for vif type change 2024-02-02 13:09:55 +01:00
debugfs_netdev.h wifi: mac80211: fix driver debugfs for vif type change 2024-02-02 13:09:55 +01:00
debugfs_sta.c
debugfs_sta.h
driver-ops.c wifi: mac80211: fix monitor channel with chanctx emulation 2024-06-14 09:14:08 +02:00
driver-ops.h wifi: mac80211: pass link conf to abort_channel_switch 2024-03-04 14:33:56 +01:00
drop.h wifi: mac80211: improve drop for action frame return 2024-03-25 15:39:28 +01:00
eht.c
ethtool.c
fils_aead.c
fils_aead.h
he.c wifi: mac80211: correctly parse Spatial Reuse Parameter Set element 2024-05-29 15:35:12 +02:00
ht.c wifi: mac80211: clarify IEEE80211_STATUS_SUBDATA_MASK 2024-03-25 15:39:28 +01:00
ibss.c wifi: mac80211: flush only stations using requests links 2024-02-12 21:13:57 +01:00
ieee80211_i.h wifi: mac80211: handle tasklet frames before stopping 2024-05-29 15:25:10 +02:00
iface.c wifi: mac80211: fix monitor channel with chanctx emulation 2024-06-14 09:14:08 +02:00
Kconfig
key.c wifi: mac80211: add link id to ieee80211_gtk_rekey_add() 2024-03-04 14:31:28 +01:00
key.h
led.c
led.h
link.c wifi: mac80211: keep mac80211 consistent on link activation failure 2024-04-19 10:19:37 +02:00
main.c wifi: mac80211: handle tasklet frames before stopping 2024-05-29 15:25:10 +02:00
Makefile wifi: mac80211: move element parsing to a new file 2024-02-08 15:00:43 +01:00
mesh.c wifi: mac80211: mesh: init nonpeer_pm to active by default in mesh sdata 2024-05-29 15:19:45 +02:00
mesh.h wifi: mac80211: split mesh fast tx cache into local/proxied/forwarded 2024-04-17 09:21:32 +02:00
mesh_hwmp.c
mesh_pathtbl.c wifi: mac80211: mesh: Fix leak of mesh_preq_queue objects 2024-05-29 15:17:03 +02:00
mesh_plink.c wifi: mac80211: simplify adding supported rates 2024-02-08 15:00:43 +01:00
mesh_ps.c
mesh_sync.c
michael.c
michael.h
mlme.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2024-04-25 12:41:37 -07:00
ocb.c wifi: mac80211: flush only stations using requests links 2024-02-12 21:13:57 +01:00
offchannel.c wifi: mac80211: handle link ID during management Tx 2024-04-19 10:54:58 +02:00
parse.c wifi: mac80211: fix Spatial Reuse element size check 2024-05-29 15:34:46 +02:00
pm.c
rate.c wifi: mac80211: don't use rate mask for scanning 2024-04-08 20:11:34 +02:00
rate.h
rc80211_minstrel_ht.c
rc80211_minstrel_ht.h
rc80211_minstrel_ht_debugfs.c
rx.c wifi: mac80211: handle color change per link 2024-05-03 10:18:19 +02:00
s1g.c
scan.c wifi: mac80211: Avoid address calculations via out of bounds array indexing 2024-06-14 09:08:41 +02:00
spectmgmt.c wifi: mac80211: spectmgmt: simplify 6 GHz HE/EHT handling 2024-03-25 15:36:36 +01:00
sta_info.c wifi: mac80211: Fix deadlock in ieee80211_sta_ps_deliver_wakeup() 2024-05-29 15:19:55 +02:00
sta_info.h wifi: mac80211: add return docs for sta_info_flush() 2024-04-19 10:27:21 +02:00
status.c wifi: mac80211: add support for tearing down negotiated TTLM 2024-03-25 15:38:15 +01:00
tdls.c wifi: mac80211: remove TDLS peers only on affected link 2024-03-04 14:34:03 +01:00
tkip.c
tkip.h
trace.c
trace.h tracing/treewide: Remove second parameter of __assign_str() 2024-05-22 20:14:47 -04:00
trace_msg.h wifi: mac80211: remove unused MAX_MSG_LEN define 2024-02-08 12:50:09 +01:00
tx.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2024-04-25 12:41:37 -07:00
util.c wifi: mac80211: fix monitor channel with chanctx emulation 2024-06-14 09:14:08 +02:00
vht.c wifi: mac80211: track capability/opmode NSS separately 2024-03-04 14:25:27 +01:00
wbrf.c
wep.c
wep.h
wme.c
wme.h
wpa.c wifi: mac80211: extend IEEE80211_KEY_FLAG_GENERATE_MMIE to other ciphers 2024-04-08 20:52:28 +02:00
wpa.h