linux/net/mac80211
Manikanta Pubbisetty 33d915d9e8 {nl,mac}80211: allow 4addr AP operation on crypto controlled devices
As per the current design, in the case of sw crypto controlled devices,
it is the device which advertises the support for AP/VLAN iftype based
on it's ability to tranmsit packets encrypted in software
(In VLAN functionality, group traffic generated for a specific
VLAN group is always encrypted in software). Commit db3bdcb9c3
("mac80211: allow AP_VLAN operation on crypto controlled devices")
has introduced this change.

Since 4addr AP operation also uses AP/VLAN iftype, this conditional
way of advertising AP/VLAN support has broken 4addr AP mode operation on
crypto controlled devices which do not support VLAN functionality.

In the case of ath10k driver, not all firmwares have support for VLAN
functionality but all can support 4addr AP operation. Because AP/VLAN
support is not advertised for these devices, 4addr AP operations are
also blocked.

Fix this by allowing 4addr operation on devices which do not support
AP/VLAN iftype but can support 4addr AP operation (decision is based on
the wiphy flag WIPHY_FLAG_4ADDR_AP).

Cc: stable@vger.kernel.org
Fixes: db3bdcb9c3 ("mac80211: allow AP_VLAN operation on crypto controlled devices")
Signed-off-by: Manikanta Pubbisetty <mpubbise@codeaurora.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2019-05-24 11:26:54 +02:00
..
aead_api.c mac80211: use crypto_aead_authsize() 2017-10-11 15:46:45 +02:00
aead_api.h mac80211: aead api to reduce redundancy 2017-10-11 09:37:35 +02:00
aes_ccm.h mac80211: aead api to reduce redundancy 2017-10-11 09:37:35 +02:00
aes_cmac.c mac80211: aes-cmac: switch to shash CMAC driver 2017-02-08 09:19:33 +01:00
aes_cmac.h mac80211: aes-cmac: switch to shash CMAC driver 2017-02-08 09:19:33 +01:00
aes_gcm.h mac80211: aead api to reduce redundancy 2017-10-11 09:37:35 +02:00
aes_gmac.c mac80211: move struct aead_req off the stack 2016-10-17 16:14:04 +02:00
aes_gmac.h mac80211: move struct aead_req off the stack 2016-10-17 16:14:04 +02:00
agg-rx.c mac80211: add support for HE 2018-06-18 22:40:32 +02:00
agg-tx.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-02-15 12:38:38 -08:00
cfg.c mac80211: probe unexercised mesh links 2019-04-26 13:02:11 +02:00
chan.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
debug.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
debugfs_key.c
debugfs_key.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
debugfs_netdev.c mac80211: don't attempt to rename ERR_PTR() debugfs dirs 2019-04-23 13:47:05 +02:00
debugfs_netdev.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
debugfs_sta.c mac80211: update HE IEs to D3.3 2019-02-22 13:46:55 +01:00
debugfs_sta.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
debugfs.c mac80211: debugfs option to force TX status frames 2019-04-26 13:02:11 +02:00
debugfs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
driver-ops.c mac80211: store tx power value from user to station 2019-04-26 13:02:11 +02:00
driver-ops.h Various updates, notably: 2019-04-26 16:05:52 -04:00
ethtool.c mac80211: use BIT_ULL for NL80211_STA_INFO_* attribute types 2018-06-29 09:53:09 +02:00
fils_aead.c Some more updates: 2017-02-10 14:31:51 -05:00
fils_aead.h mac80211: FILS AEAD protection for station mode association frames 2016-10-27 16:03:25 +02:00
he.c mac80211: add support for HE 2018-06-18 22:40:32 +02:00
ht.c mac80211: fix RX STBC override byte order 2019-04-10 14:13:54 +02:00
ibss.c mac80211: pass bssids to elements parsing function 2019-02-08 13:51:50 +01:00
ieee80211_i.h mac80211: handle deauthentication/disassociation from TDLS peer 2019-05-24 11:26:44 +02:00
iface.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-05-02 22:14:21 -04:00
Kconfig mac80211: rewrite Kconfig text for mesh 2018-12-05 15:32:28 +01:00
key.c mac80211: remove set but not used variable 'old' 2019-05-24 11:26:44 +02:00
key.h mac80211: IEEE 802.11 Extended Key ID support 2019-04-26 13:02:11 +02:00
led.c leds: triggers: let struct led_trigger::activate() return an error code 2018-07-05 23:21:10 +02:00
led.h
main.c mac80211: Set CAN_REPLACE_PTK0 for SW crypto only drivers 2019-04-26 13:02:11 +02:00
Makefile mac80211: minstrel: merge with minstrel_ht, always enable VHT support 2018-10-11 16:01:01 +02:00
mesh_hwmp.c mac80211: probe unexercised mesh links 2019-04-26 13:02:11 +02:00
mesh_pathtbl.c Various updates, notably: 2019-04-26 16:05:52 -04:00
mesh_plink.c mac80211: pass bssids to elements parsing function 2019-02-08 13:51:50 +01:00
mesh_ps.c networking: make skb_put & friends return void pointers 2017-06-16 11:48:39 -04:00
mesh_sync.c mac80211: Use appropriate name for functions and messages 2016-12-13 16:22:27 +01:00
mesh.c mac80211: pass bssids to elements parsing function 2019-02-08 13:51:50 +01:00
mesh.h mac80211: Add support for NL80211_STA_INFO_AIRTIME_LINK_METRIC 2019-04-08 13:58:10 +02:00
michael.c mac80211: add get TID helper 2018-02-22 21:13:03 +01:00
michael.h
mlme.c mac80211: handle deauthentication/disassociation from TDLS peer 2019-05-24 11:26:44 +02:00
ocb.c mac80211: Convert timers to use timer_setup() 2017-11-20 16:55:11 +01:00
offchannel.c mac80211: support scan features for improved scan privacy 2018-06-15 13:34:40 +02:00
pm.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
rate.c mac80211: Dynamically set CoDel parameters per station 2017-05-17 16:03:40 +02:00
rate.h mac80211: minstrel: merge with minstrel_ht, always enable VHT support 2018-10-11 16:01:01 +02:00
rc80211_minstrel_debugfs.c mac80211: rc80211_minstrel: remove variance / stddev calculation 2018-10-11 16:01:05 +02:00
rc80211_minstrel_ht_debugfs.c mac80211: minstrel_ht: add flag to indicate missing/inaccurate tx A-MPDU length 2019-01-19 09:56:56 +01:00
rc80211_minstrel_ht.c mac80211: minstrel_ht: automatically calculate rate duration shift 2019-04-26 13:02:11 +02:00
rc80211_minstrel_ht.h mac80211: minstrel_ht: add support for rates with 4 spatial streams 2019-04-26 13:02:11 +02:00
rc80211_minstrel.c mac80211: rc80211_minstrel: remove variance / stddev calculation 2018-10-11 16:01:05 +02:00
rc80211_minstrel.h mac80211: rc80211_minstrel: remove variance / stddev calculation 2018-10-11 16:01:05 +02:00
rx.c Various updates, notably: 2019-04-26 16:05:52 -04:00
scan.c mac80211: support multi-bssid 2019-02-08 13:56:37 +01:00
spectmgmt.c mac80211: support max channel switch time element 2019-02-22 13:42:54 +01:00
sta_info.c mac80211: IEEE 802.11 Extended Key ID support 2019-04-26 13:02:11 +02:00
sta_info.h mac80211: fix missing/malformed documentation 2019-02-01 12:11:13 +01:00
status.c mac80211: Add airtime accounting and scheduling to TXQs 2019-01-19 09:31:43 +01:00
tdls.c mac80211: handle deauthentication/disassociation from TDLS peer 2019-05-24 11:26:44 +02:00
tkip.c
tkip.h
trace_msg.h mac80211: Increase MAX_MSG_LEN 2019-03-29 11:20:36 +01:00
trace.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
trace.h mac80211: store tx power value from user to station 2019-04-26 13:02:11 +02:00
tx.c Various updates, notably: 2019-04-26 16:05:52 -04:00
util.c {nl,mac}80211: allow 4addr AP operation on crypto controlled devices 2019-05-24 11:26:54 +02:00
vht.c mac80211: copy VHT EXT NSS BW Support/Capable data to station 2018-09-05 10:03:14 +02:00
wep.c crypto: drop mask=CRYPTO_ALG_ASYNC from 'cipher' tfm allocations 2018-11-20 14:26:55 +08:00
wep.h
wme.c mac80211: when using iTXQ, select the queue in ieee80211_subif_start_xmit 2019-04-26 13:02:11 +02:00
wme.h mac80211: when using iTXQ, select the queue in ieee80211_subif_start_xmit 2019-04-26 13:02:11 +02:00
wpa.c mac80211: add get TID helper 2018-02-22 21:13:03 +01:00
wpa.h