android_kernel_samsung_univ.../net/mac80211
mpubbise@codeaurora.org 0dc742d907 mac80211: add stations tied to AP_VLANs during hw reconfig
[ Upstream commit 19103a4bfb42f320395daa5616ece3e89e759d63 ]

As part of hw reconfig, only stations linked to AP interfaces are added
back to the driver ignoring those which are tied to AP_VLAN interfaces.

It is true that there could be stations tied to the AP_VLAN interface while
serving 4addr clients or when using AP_VLAN for VLAN operations; we should
be adding these stations back to the driver as part of hw reconfig, failing
to do so can cause functional issues.

In the case of ath10k driver, the following errors were observed.

ath10k_pci : failed to install key for non-existent peer XX:XX:XX:XX:XX:XX
Workqueue: events_freezable ieee80211_restart_work [mac80211]
(unwind_backtrace) from (show_stack+0x10/0x14)
(show_stack) (dump_stack+0x80/0xa0)
(dump_stack) (warn_slowpath_common+0x68/0x8c)
(warn_slowpath_common) (warn_slowpath_null+0x18/0x20)
(warn_slowpath_null) (ieee80211_enable_keys+0x88/0x154 [mac80211])
(ieee80211_enable_keys) (ieee80211_reconfig+0xc90/0x19c8 [mac80211])
(ieee80211_reconfig]) (ieee80211_restart_work+0x8c/0xa0 [mac80211])
(ieee80211_restart_work) (process_one_work+0x284/0x488)
(process_one_work) (worker_thread+0x228/0x360)
(worker_thread) (kthread+0xd8/0xec)
(kthread) (ret_from_fork+0x14/0x24)

Also while bringing down the AP VAP, WARN_ONs and errors related to peer
removal were observed.

ath10k_pci : failed to clear all peer wep keys for vdev 0: -2
ath10k_pci : failed to disassociate station: 8c:fd:f0:0a:8c:f5 vdev 0: -2
(unwind_backtrace) (show_stack+0x10/0x14)
(show_stack) (dump_stack+0x80/0xa0)
(dump_stack) (warn_slowpath_common+0x68/0x8c)
(warn_slowpath_common) (warn_slowpath_null+0x18/0x20)
(warn_slowpath_null) (sta_set_sinfo+0xb98/0xc9c [mac80211])
(sta_set_sinfo [mac80211]) (__sta_info_flush+0xf0/0x134 [mac80211])
(__sta_info_flush [mac80211]) (ieee80211_stop_ap+0xe8/0x390 [mac80211])
(ieee80211_stop_ap [mac80211]) (__cfg80211_stop_ap+0xe0/0x3dc [cfg80211])
(__cfg80211_stop_ap [cfg80211]) (cfg80211_stop_ap+0x30/0x44 [cfg80211])
(cfg80211_stop_ap [cfg80211]) (genl_rcv_msg+0x274/0x30c)
(genl_rcv_msg) (netlink_rcv_skb+0x58/0xac)
(netlink_rcv_skb) (genl_rcv+0x20/0x34)
(genl_rcv) (netlink_unicast+0x11c/0x204)
(netlink_unicast) (netlink_sendmsg+0x30c/0x370)
(netlink_sendmsg) (sock_sendmsg+0x70/0x84)
(sock_sendmsg) (___sys_sendmsg.part.3+0x188/0x228)
(___sys_sendmsg.part.3) (__sys_sendmsg+0x4c/0x70)
(__sys_sendmsg) (ret_fast_syscall+0x0/0x44)

These issues got fixed by adding the stations which are
tied to AP_VLANs back to the driver.

Signed-off-by: Manikanta Pubbisetty <mpubbise@codeaurora.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-09-05 09:18:33 +02:00
..
aes_ccm.c
aes_ccm.h
aes_cmac.c
aes_cmac.h
aes_gcm.c
aes_gcm.h
aes_gmac.c
aes_gmac.h
agg-rx.c mac80211: RX BA support for sta max_rx_aggregation_subframes 2017-05-20 14:27:03 +02:00
agg-tx.c mac80211: pass block ack session timeout to to driver 2017-05-20 14:27:03 +02:00
cfg.c cfg80211: fix cfg80211_beacon_dup 2018-02-28 10:17:22 +01:00
chan.c
debug.h
debugfs_key.c
debugfs_key.h
debugfs_netdev.c
debugfs_netdev.h
debugfs_sta.c
debugfs_sta.h
debugfs.c net/mac80211/debugfs.c: prevent build failure with CONFIG_UBSAN=y 2018-01-17 09:35:25 +01:00
debugfs.h
driver-ops.c mac80211: pass block ack session timeout to to driver 2017-05-20 14:27:03 +02:00
driver-ops.h mac80211: pass block ack session timeout to to driver 2017-05-20 14:27:03 +02:00
ethtool.c
ht.c
ibss.c mac80211: fix IBSS presp allocation size 2017-06-26 07:13:09 +02:00
ieee80211_i.h mac80211: Remove invalid flag operations in mesh TSF synchronization 2017-11-30 08:37:27 +00:00
iface.c mac80211: remove BUG() when interface type is invalid 2018-03-22 09:23:29 +01:00
Kconfig
key.c mac80211: don't compare TKIP TX MIC key in reinstall prevention 2017-11-18 11:11:05 +01:00
key.h
led.c
led.h
main.c mac80211: initialize SMPS field in HT capabilities 2017-07-05 14:37:20 +02:00
Makefile
mesh_hwmp.c mac80211: fix the update of path metric for RANN frame 2018-02-03 17:04:27 +01:00
mesh_pathtbl.c mac80211: mesh: fix call_rcu() usage 2015-11-17 15:49:25 +01:00
mesh_plink.c mac80211: Suppress NEW_PEER_CANDIDATE event if no room 2017-11-30 08:37:27 +00:00
mesh_ps.c
mesh_sync.c mac80211: Remove invalid flag operations in mesh TSF synchronization 2017-11-30 08:37:27 +00:00
mesh.c mac80211: Fix addition of mesh configuration element 2017-12-20 10:04:52 +01:00
mesh.h mac80211: Requeue work after scan complete for all VIF types. 2016-03-03 15:07:26 -08:00
michael.c
michael.h
mlme.c mac80211: bail out from prep_connection() if a reconfig is ongoing 2018-04-13 19:50:01 +02:00
ocb.c
offchannel.c mac80211: flush hw_roc_start work before cancelling the ROC 2017-10-05 09:41:44 +02:00
pm.c mac80211: flush delayed work when entering suspend 2017-03-15 09:57:14 +08:00
rate.c mac80211: further improve "no supported rates" warning 2015-11-03 10:56:42 +01:00
rate.h
rc80211_minstrel_debugfs.c
rc80211_minstrel_ht_debugfs.c
rc80211_minstrel_ht.c mac80211: minstrel_ht: fix a logic error in RTS/CTS handling 2016-03-16 08:43:00 -07:00
rc80211_minstrel_ht.h
rc80211_minstrel.c mac80211: minstrel: Change expected throughput unit back to Kbps 2016-03-16 08:42:59 -07:00
rc80211_minstrel.h
rx.c mac80211: mesh: drop frames appearing to be from us 2018-03-03 10:19:44 +01:00
scan.c mac80211: Requeue work after scan complete for all VIF types. 2016-03-03 15:07:26 -08:00
spectmgmt.c
sta_info.c mac80211: fix power saving clients handling in iwlwifi 2017-10-21 17:09:04 +02:00
sta_info.h mac80211: fix fast_tx header alignment 2016-07-27 09:47:27 -07:00
status.c mac80211: don't parse encrypted management frames in ieee80211_frame_acked 2018-03-24 10:58:44 +01:00
tdls.c
tkip.c
tkip.h
trace_msg.h
trace.c
trace.h mac80211: pass block ack session timeout to to driver 2017-05-20 14:27:03 +02:00
tx.c mac80211: initialize fast-xmit 'info' later 2017-01-12 11:22:43 +01:00
util.c mac80211: add stations tied to AP_VLANs during hw reconfig 2018-09-05 09:18:33 +02:00
vht.c mac80211: handle width changes from opmode notification IE in beacon 2015-12-15 13:16:47 +01:00
wep.c mac80211: Add RX flag to indicate ICV stripped 2018-05-16 10:06:46 +02:00
wep.h
wme.c
wme.h
wpa.c mac80211: Add RX flag to indicate ICV stripped 2018-05-16 10:06:46 +02:00
wpa.h