Search Linux Wireless

[RFCv2] ath9k: Respect current txpower setting

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

 



In routine ath_tx_fill_desc(), the txpower is only set to
MAX_RATE_POWER. Now it respects the txpower from bss_conf and set it if it
is (txpower * 2) < MAX_RATE_POWER else set to MAX_RATE_POWER.

Signed-off-by: Tobias Steinicke <tsteinicke@xxxxxxxxxxxxxxxxxxxxxxx>
---
 drivers/net/wireless/ath/ath9k/xmit.c |    7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/net/wireless/ath/ath9k/xmit.c b/drivers/net/wireless/ath/ath9k/xmit.c
index 5bc5802..90701e4 100644
--- a/drivers/net/wireless/ath/ath9k/xmit.c
+++ b/drivers/net/wireless/ath/ath9k/xmit.c
@@ -1110,13 +1110,18 @@ static void ath_tx_fill_desc(struct ath_softc *sc, struct ath_buf *bf,
 	struct ath_buf *bf_first = bf;
 	struct ath_tx_info info;
 	bool aggr = !!(bf->bf_state.bf_type & BUF_AGGR);
+	u8 txpower = tx_info->control.vif->bss_conf.txpower * 2;

 	memset(&info, 0, sizeof(info));
 	info.is_first = true;
 	info.is_last = true;
-	info.txpower = MAX_RATE_POWER;
 	info.qcu = txq->axq_qnum;

+	if (txpower > MAX_RATE_POWER)
+		info.txpower = MAX_RATE_POWER;
+	else
+		info.txpower = txpower;
+
 	info.flags = ATH9K_TXDESC_INTREQ;
 	if (tx_info->flags & IEEE80211_TX_CTL_NO_ACK)
 		info.flags |= ATH9K_TXDESC_NOACK;
-- 1.7.9.5
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




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

  Powered by Linux