From: Alex Gal <a.gal@motsai.com>
Date: Fri, 10 Jan 2014 20:21:13 +0000 (-0500)
Subject: wl12xx: fix tx power setting
X-Git-Tag: firefly_0821_release~176^2~4570^2~3^2^2~37
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=b30d49b294fe339719918965594f12eb7967dca0;p=firefly-linux-kernel-4.4.55.git

wl12xx: fix tx power setting

The driver ignores BSS_CHANGED_TXPOWER changes.
Fix this by calling ACX_TX_POWER when appropriate.

Signed-off-by: Alex Gal <a.gal@motsai.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
---

diff --git a/drivers/net/wireless/ti/wlcore/main.c b/drivers/net/wireless/ti/wlcore/main.c
index 18a009e593c7..b46b3116cc55 100644
--- a/drivers/net/wireless/ti/wlcore/main.c
+++ b/drivers/net/wireless/ti/wlcore/main.c
@@ -4457,6 +4457,16 @@ static void wl1271_op_bss_info_changed(struct ieee80211_hw *hw,
 	if (ret < 0)
 		goto out;
 
+	if ((changed & BSS_CHANGED_TXPOWER) &&
+	    bss_conf->txpower != wlvif->power_level) {
+
+		ret = wl1271_acx_tx_power(wl, wlvif, bss_conf->txpower);
+		if (ret < 0)
+			goto out;
+
+		wlvif->power_level = bss_conf->txpower;
+	}
+
 	if (is_ap)
 		wl1271_bss_info_changed_ap(wl, vif, bss_conf, changed);
 	else