Search Linux Wireless

ath10k regression for setting txpower to zero: ath10k: fix incorrect txpower set by P2P_DEVICE interface

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

While debugging why I could not set txpower to zero, I found that it was this change
below that caused the problem.

Can we make this more specific so that we only ignore 0 txpower on P2P interfaces
and not other types?

Or, maybe the P2P device should have a better initial value for its txpower?


[greearb@ben-dt4 ath10k]$ git show 88407beb1b146
commit 88407beb1b1462f706a1950a355fd086e1c450b6
Author: Ryan Hsu <ryanhsu@xxxxxxxxxxxxxxxx>
Date:   Tue Dec 13 14:55:19 2016 -0800

    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@xxxxxxxxxxxxxxxx>
    Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx>


Thanks,
Ben

--
Ben Greear <greearb@xxxxxxxxxxxxxxx>
Candela Technologies Inc  http://www.candelatech.com




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux