1
0
Fork 0
alistair23-linux/drivers/net
Remi Pommarel 0a993df8d6 ath9k: Handle txpower changes even when TPC is disabled
commit 968ae2caad upstream.

When TPC is disabled IEEE80211_CONF_CHANGE_POWER event can be handled to
reconfigure HW's maximum txpower.

This fixes 0dBm txpower setting when user attaches to an interface for
the first time with the following scenario:

ieee80211_do_open()
    ath9k_add_interface()
        ath9k_set_txpower() /* Set TX power with not yet initialized
                               sc->hw->conf.power_level */

    ieee80211_hw_config() /* Iniatilize sc->hw->conf.power_level and
                             raise IEEE80211_CONF_CHANGE_POWER */

    ath9k_config() /* IEEE80211_CONF_CHANGE_POWER is ignored */

This issue can be reproduced with the following:

  $ modprobe -r ath9k
  $ modprobe ath9k
  $ wpa_supplicant -i wlan0 -c /tmp/wpa.conf &
  $ iw dev /* Here TX power is either 0 or 3 depending on RF chain */
  $ killall wpa_supplicant
  $ iw dev /* TX power goes back to calibrated value and subsequent
              calls will be fine */

Fixes: 283dd11994 ("ath9k: add per-vif TX power capability")
Cc: stable@vger.kernel.org
Signed-off-by: Remi Pommarel <repk@triplefau.lt>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-04-17 10:50:12 +02:00
..
appletalk
arcnet drivers: net: Fix Kconfig indentation 2019-09-26 08:56:17 +02:00
bonding bonding/alb: make sure arp header is pulled before accessing it 2020-03-18 07:17:42 +01:00
caif
can slcan: Don't transmit uninitialized stack data in padding 2020-04-13 10:48:05 +02:00
dsa net: dsa: mt7530: fix null pointer dereferencing in port5 setup 2020-04-13 10:48:03 +02:00
ethernet qlcnic: Fix bad kzalloc null test 2020-04-17 10:49:59 +02:00
fddi
fjes fjes: fix missed check in fjes_acpi_add 2019-12-31 16:41:14 +01:00
hamradio 6pack,mkiss: fix possible deadlock 2020-01-04 19:18:36 +01:00
hippi
hyperv hv_netvsc: Fix unwanted wakeup in netvsc_attach() 2020-03-05 16:43:46 +01:00
ieee802154 Merge tag 'ieee802154-for-davem-2019-09-28' of git://git.kernel.org/pub/scm/linux/kernel/git/sschmidt/wpan 2019-09-30 17:14:45 -07:00
ipvlan ipvlan: don't deref eth hdr before checking it's set 2020-03-18 07:17:39 +01:00
netdevsim netdevsim: fix stack-out-of-bounds in nsim_dev_debugfs_init() 2020-02-11 04:35:06 -08:00
phy net: phy: micrel: kszphy_resume(): add delay after genphy_resume() before accessing PHY registers 2020-04-13 10:48:03 +02:00
plip
ppp ppp: Adjust indentation into ppp_async_input 2020-02-11 04:35:46 -08:00
slip slip: not call free_netdev before rtnl_unlock in slip_open 2020-03-21 08:11:53 +01:00
team team: add missing attribute validation for array index 2020-03-18 07:17:45 +01:00
usb net: qmi_wwan: add support for ASKEY WWHC050 2020-04-01 11:01:36 +02:00
vmxnet3
wan wan: ixp4xx_hss: fix compile-testing on 64-bit 2020-02-24 08:36:46 +01:00
wimax wimax: i2400: Fix memory leak in i2400m_op_rfkill_sw_toggle 2019-10-29 16:20:25 -07:00
wireless ath9k: Handle txpower changes even when TPC is disabled 2020-04-17 10:50:12 +02:00
xen-netback xen/netback: fix error path of xenvif_connect_data() 2019-10-19 11:43:29 -07:00
Kconfig net: Fix CONFIG_NET_CLS_ACT=n and CONFIG_NFT_FWD_NETDEV={y, m} build 2020-04-01 11:02:18 +02:00
LICENSE.SRC
Makefile
Space.c
dummy.c
eql.c
geneve.c geneve: move debug check after netdev unregister 2020-04-01 11:01:31 +02:00
gtp.c gtp: use __GFP_NOWARN to avoid memalloc warning 2020-02-11 04:35:04 -08:00
ifb.c net: Fix CONFIG_NET_CLS_ACT=n and CONFIG_NFT_FWD_NETDEV={y, m} build 2020-04-01 11:02:18 +02:00
loopback.c
macsec.c macsec: restrict to ethernet devices 2020-04-01 11:01:32 +02:00
macvlan.c macvlan: add cond_resched() during multicast processing 2020-03-18 07:17:39 +01:00
macvtap.c
mdio.c
mii.c
net_failover.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
sungem_phy.c
tap.c net: tap: clean up an indentation issue 2019-09-27 20:58:35 +02:00
thunderbolt.c
tun.c tun: Don't put_page() for all negative return values from XDP program 2020-04-13 10:48:05 +02:00
veth.c
virtio_net.c netfilter: drop bridge nf reset from nf_reset 2019-10-01 18:42:15 +02:00
vrf.c net: core: add generic lockdep keys 2019-10-24 14:53:48 -07:00
vsockmon.c
vxlan.c vxlan: check return value of gro_cells_init() 2020-04-01 11:01:39 +02:00
xen-netfront.c xen-netfront: do not use ~0U as error return value for xennet_fill_frags() 2019-10-01 21:49:51 -04:00