linux_dsm_epyc7002/drivers/net/wireless/ath/ath10k
Ryan Hsu 88407beb1b ath10k: fix incorrect txpower set by P2P_DEVICE interface
Ath10k reports the phy capability that supports P2P_DEVICE interface.

When we use the P2P supported wpa_supplicant to start connection, it'll
create two interfaces, one is wlan0 (vdev_id=0) and one is P2P_DEVICE
p2p-dev-wlan0 which is for p2p control channel (vdev_id=1).

	ath10k_pci mac vdev create 0 (add interface) type 2 subtype 0
	ath10k_add_interface: vdev_id: 0, txpower: 0, bss_power: 0
	...
	ath10k_pci mac vdev create 1 (add interface) type 2 subtype 1
	ath10k_add_interface: vdev_id: 1, txpower: 0, bss_power: 0

And the txpower in per vif bss_conf will only be set to valid tx power when
the interface is assigned with channel_ctx.

But this P2P_DEVICE interface will never be used for any connection, so
that the uninitialized bss_conf.txpower=0 is assinged to the
arvif->txpower when interface created.

Since the txpower configuration is firmware per physical interface.
So the smallest txpower of all vifs will be the one limit the tx power
of the physical device, that causing the low txpower issue on other
active interfaces.

	wlan0: Limiting TX power to 21 (24 - 3) dBm
	ath10k_pci mac vdev_id 0 txpower 21
	ath10k_mac_txpower_recalc: vdev_id: 1, txpower: 0
	ath10k_mac_txpower_recalc: vdev_id: 0, txpower: 21
	ath10k_pci mac txpower 0

This issue only happens when we use the wpa_supplicant that supports
P2P or if we use the iw tool to create the control P2P_DEVICE interface.

Signed-off-by: Ryan Hsu <ryanhsu@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2016-12-30 11:12:34 +02:00
..
ahb.c ath10k: fix error return code in ahb 2016-09-28 12:41:04 +03:00
ahb.h ath10k: expose hif ops for ahb 2016-01-28 10:47:28 +02:00
bmi.c ath10k: hide kernel addresses from logs using %pK format specifier 2016-09-02 18:29:31 +03:00
bmi.h ath10k: select board data based on BMI chip id and board id 2015-10-14 08:58:35 +03:00
ce.c ath10k: fix copy engine 5 destination ring stuck 2016-09-28 12:48:35 +03:00
ce.h ath10k: fix checkpatch warnings related to spaces 2016-04-14 17:30:51 +03:00
core.c ath10k: fix Tx DMA alloc failure during continuous wifi down/up 2016-12-01 13:13:55 +02:00
core.h wireless-drivers-next patches for 4.10 2016-12-02 13:58:10 -05:00
debug.c ath10k: cache calibration data when the core is stopped 2016-10-13 14:06:20 +03:00
debug.h ath10k: allow setting coverage class 2016-10-04 18:03:22 +03:00
debugfs_sta.c ath10k: add support for per sta tx bitrate 2016-11-23 21:40:07 +02:00
hif.h ath10k: add board data download from target 2016-06-07 14:28:35 +03:00
htc.c ath10k: hide kernel addresses from logs using %pK format specifier 2016-09-02 18:29:31 +03:00
htc.h ath10k: remove unused <linux/semaphore.h> 2016-07-08 09:43:59 +03:00
htt_rx.c ath10k: add per peer htt tx stats support for 10.4 2016-11-23 21:40:02 +02:00
htt_tx.c ath10k: Avoid potential page alloc BUG_ON in tx free path 2016-12-15 11:17:52 +02:00
htt.c ath10k: add per peer htt tx stats support for 10.4 2016-11-23 21:40:02 +02:00
htt.h ath10k: fix Tx DMA alloc failure during continuous wifi down/up 2016-12-01 13:13:55 +02:00
hw.c ath10k: allow setting coverage class 2016-10-04 18:03:22 +03:00
hw.h ath10k: decrease num of peers support 2016-12-29 15:17:33 +02:00
Kconfig ath10k: add reset ctrl related functions in ahb 2016-01-28 10:47:24 +02:00
mac.c ath10k: fix incorrect txpower set by P2P_DEVICE interface 2016-12-30 11:12:34 +02:00
mac.h ath10k: add dynamic tx mode switch config support for qca4019 2016-04-19 18:10:46 +03:00
Makefile ath10k: add basic skeleton to support ahb 2016-01-28 10:47:19 +02:00
p2p.c ath10k: implement handling of p2p noa event 2015-03-07 09:57:42 +02:00
p2p.h ath10k: implement handling of p2p noa event 2015-03-07 09:57:42 +02:00
pci.c ath10k: override CE5 config for QCA9377 2016-12-29 15:17:28 +02:00
pci.h ath10k: implement NAPI support 2016-09-09 14:49:47 +03:00
rx_desc.h ath10k: remove duplicate and unused rx rate flags 2016-06-14 14:56:00 +03:00
spectral.c ath10k: use the right length of "background" 2016-11-15 17:07:36 +02:00
spectral.h ath10k: refactor phyerr event handlers 2015-08-17 17:43:29 +03:00
swap.c ath10k: move firmware_swap_code_seg_info to ath10k_fw_file 2016-08-31 10:18:37 +03:00
swap.h ath10k: move firmware_swap_code_seg_info to ath10k_fw_file 2016-08-31 10:18:37 +03:00
targaddrs.h ath10k: spelling and miscellaneous neatening 2016-09-27 15:00:48 +03:00
testmode_i.h ath10k: add testmode 2014-09-11 23:42:36 +03:00
testmode.c ath10k: hide kernel addresses from logs using %pK format specifier 2016-09-02 18:29:31 +03:00
testmode.h ath10k: add testmode 2014-09-11 23:42:36 +03:00
thermal.c ath10k: replace config_enabled() with IS_REACHABLE() 2016-09-02 18:57:06 +03:00
thermal.h ath10k: fix checkpatch warnings related to spaces 2016-04-14 17:30:51 +03:00
trace.c
trace.h ath10k: add hw_rev to trace events to support pktlog 2016-03-03 19:20:00 +02:00
txrx.c ath10k: fix throughput regression in multi client mode 2016-09-09 15:07:11 +03:00
txrx.h ath10k: move mgmt descriptor limit handle under mgmt_tx 2016-03-18 09:52:27 +02:00
wmi-ops.h ath10k: fix null deref on wmi-tlv when trying spectral scan 2016-11-23 15:55:38 +02:00
wmi-tlv.c ath10k: fix potential memory leak in ath10k_wmi_tlv_op_pull_fw_stats() 2016-12-30 11:11:17 +02:00
wmi-tlv.h ath10k: fix checkpatch warnings related to spaces 2016-04-14 17:30:51 +03:00
wmi.c ath10k: wmi-alloc-chunk should use DMA_BIDIRECTIONAL 2016-12-01 13:16:10 +02:00
wmi.h ath10k: add per peer htt tx stats support for 10.4 2016-11-23 21:40:02 +02:00
wow.c ath10k: move fw_features to struct ath10k_fw_file 2016-04-20 20:00:25 +03:00
wow.h ath10k: add WOW patterns support 2015-03-30 09:10:24 +03:00