linux-xiaomi-chiron/drivers/net
Sujith Manoharan 9bf30ff93d ath9k: Fix panic when adding an AP interface
If a station interface is already assigned to a context
and is active and a second interface of type AP is added,
then beaconing on the new interface has to be begin only
after the BSS_CHANGED_BEACON_ENABLED flag is sent by mac80211
to the driver.

But, since we issue ATH_CHANCTX_EVENT_ENABLE_MULTICHANNEL as soon
as a new channel context is added, a switch occurs almost immediately
before BSS_CHANGED_BEACON_ENABLED is received. When a HW reset
is done for the new context, beacons are enabled for the
interface since "enable_beacon" in the BSS config maintained
in mac80211 is true - but the driver hasn't been notified yet.
This causes a panic, since the beacon interval is zero for this
interface and ath9k_cmn_beacon_config_ap() doesn't have a safety check.

Fix this panic by checking if the beacon params has been cached
for this context and use the "enable_beacon" flag maintained
locally in the driver. Also, recalculate the summary data
after the beacon params have been cached when BSS_CHANGED_BEACON_ENABLED
is received.

Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-09-09 15:27:20 -04:00
..
appletalk
arcnet PCI changes for the v3.17 merge window (part 2): 2014-08-14 18:10:33 -06:00
bonding Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-08-05 18:46:26 -07:00
caif net: set name_assign_type in alloc_netdev() 2014-07-15 16:12:48 -07:00
can can: flexcan: handle state passive -> warning transition 2014-08-21 10:50:00 +02:00
cris eth_v10: remove unnecessary break after return 2014-07-20 21:29:49 -07:00
dsa net: dsa: update DSA drivers to use ds_to_priv 2014-04-30 13:31:25 -04:00
ethernet net: ethernet: broadcom: bnx2x: Remove redundant #ifdef 2014-08-22 11:29:58 -07:00
fddi PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
hamradio net: set name_assign_type in alloc_netdev() 2014-07-15 16:12:48 -07:00
hippi PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
hyperv hyperv: Adjust the size of sendbuf region to support ws2008r2 2014-08-06 13:52:07 -07:00
ieee802154 net: set name_assign_type in alloc_netdev() 2014-07-15 16:12:48 -07:00
irda PCI changes for the v3.17 merge window (part 2): 2014-08-14 18:10:33 -06:00
phy net: phy: smsc: move smsc_phy_config_init reset part in a soft_reset function 2014-08-16 20:15:54 -07:00
plip
ppp net: filter: split 'struct sk_filter' into socket and bpf parts 2014-08-02 15:03:58 -07:00
slip net: set name_assign_type in alloc_netdev() 2014-07-15 16:12:48 -07:00
team team: Simplify return path of team_newlink 2014-08-05 16:37:51 -07:00
usb net: fix USB network driver config option. 2014-08-06 16:00:20 -07:00
vmxnet3 PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
wan PCI changes for the v3.17 merge window (part 2): 2014-08-14 18:10:33 -06:00
wimax net: set name_assign_type in alloc_netdev() 2014-07-15 16:12:48 -07:00
wireless ath9k: Fix panic when adding an AP interface 2014-09-09 15:27:20 -04:00
xen-netback xen-netback: remove loop waiting function 2014-08-13 20:07:44 -07:00
dummy.c net: set name_assign_type in alloc_netdev() 2014-07-15 16:12:48 -07:00
eql.c net: set name_assign_type in alloc_netdev() 2014-07-15 16:12:48 -07:00
ifb.c net: set name_assign_type in alloc_netdev() 2014-07-15 16:12:48 -07:00
Kconfig vxlan: Call udp_sock_create 2014-07-14 16:12:15 -07:00
LICENSE.SRC
loopback.c net: set name_assign_type in alloc_netdev() 2014-07-15 16:12:48 -07:00
macvlan.c macvlan: Allow setting multicast filter on all macvlan types 2014-08-21 16:54:25 -07:00
macvtap.c mactap: Fix checksum errors for non-gso packets in bridge mode 2014-04-30 16:12:22 -04:00
Makefile net: reduce USB network driver config options. 2014-08-05 16:48:59 -07:00
mdio.c
mii.c
netconsole.c
nlmon.c net: nlmon: flag nlmon devs with LLTX/SG 2014-03-28 16:49:47 -04:00
ntb_netdev.c net: use ethtool_cmd_speed_set helper to set ethtool speed value 2014-06-06 16:24:07 -07:00
rionet.c net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
sb1000.c
Space.c
sungem_phy.c
tun.c net: set name_assign_type in alloc_netdev() 2014-07-15 16:12:48 -07:00
veth.c net: rtnetlink - make create_link take name_assign_type 2014-07-15 16:13:07 -07:00
virtio_net.c virtio-net: rx busy polling support 2014-07-23 15:12:02 -07:00
vxlan.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-07-30 13:25:49 -07:00
xen-netfront.c xen-netfront: Fix handling packets on compound pages with skb_linearize 2014-08-11 14:46:41 -07:00