Skip to contentSkip to conversation

Patch "ath9k: bring back direction setting in ath9k_{start_stop}" has been added to the 4.7-stable tree

PATCH [email protected] 1 participant 1 message Sep 22, 2016

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

    ath9k: bring back direction setting in ath9k_{start_stop}

to the 4.7-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
ath9k-bring-back-direction-setting-in-ath9k_-start_stop.patch
and it can be found in the queue-4.7 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From e34f2ff40e0339f6a379e1ecf49e8f2759056453 Mon Sep 17 00:00:00 2001

From: =?UTF-8?q?Giedrius=20Statkevi=C4=8Dius?=
<[email protected]>
Date: Thu, 1 Sep 2016 20:47:02 +0300
Subject: ath9k: bring back direction setting in ath9k_{start_stop}
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Giedrius Statkevičius <[email protected]>

commit e34f2ff40e0339f6a379e1ecf49e8f2759056453 upstream.

A regression was introduced in commit id 79d4db1214a ("ath9k: cleanup led_pin initial") that broken the WLAN status led on my laptop with AR9287 after suspending and resuming.

Steps to reproduce:
* Suspend (laptop)
* Resume (laptop)
* Observe that the WLAN led no longer turns ON/OFF depending on the status and is always red

Even though for my case it only needs to be set to OUT in ath9k_start but for consistency bring back the IN direction setting as well.

Fixes 79d4db1214a0 ("ath9k: cleanup led_pin initial")
Cc Miaoqing Pan <[email protected]>
Cc Kalle Valo <[email protected]>
[[email protected]: improve commit log]
---
 drivers/net/wireless/ath/ath9k/main.c |    9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)
drivers/net/wireless/ath/ath9k/main.c +7 -2
@@ -718,9 +718,12 @@ static int ath9k_start(struct ieee80211_
 	if (!ath_complete_reset(sc, false))
 		ah->reset_power_on = false;
 
-	if (ah->led_pin >= 0)
+	if (ah->led_pin >= 0) {
 		ath9k_hw_set_gpio(ah, ah->led_pin,
 				  (ah->config.led_active_high) ? 1 : 0);
+		ath9k_hw_gpio_request_out(ah, ah->led_pin, NULL,
+					  AR_GPIO_OUTPUT_MUX_AS_OUTPUT);
+	}
 
 	/*
 	 * Reset key cache to sane defaults (all entries cleared) instead of
@@ -864,9 +867,11 @@ static void ath9k_stop(struct ieee80211_
 
 	spin_lock_bh(&sc->sc_pcu_lock);
 
-	if (ah->led_pin >= 0)
+	if (ah->led_pin >= 0) {
 		ath9k_hw_set_gpio(ah, ah->led_pin,
 				  (ah->config.led_active_high) ? 0 : 1);
+		ath9k_hw_gpio_request_in(ah, ah->led_pin, NULL);
+	}
 
 	ath_prepare_reset(sc);
 

Patches currently in stable-queue which might be from [email protected] are

queue-4.7/ath9k-bring-back-direction-setting-in-ath9k_-start_stop.patch