From: John W. Linville <linville@tuxdriver.com>
Date: Mon, 25 May 2009 19:28:47 +0000 (+0200)
Subject: ath5k: avoid leaking mutex in ath5k_config
X-Git-Tag: firefly_0821_release~13604^2~234^2~68
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=55aa4e0f16aa55e4b8cbe40b11e09cf029848f02;p=firefly-linux-kernel-4.4.55.git

ath5k: avoid leaking mutex in ath5k_config

Reported-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
---

diff --git a/drivers/net/wireless/ath/ath5k/base.c b/drivers/net/wireless/ath/ath5k/base.c
index fb5193764afa..dd6dc8dc740b 100644
--- a/drivers/net/wireless/ath/ath5k/base.c
+++ b/drivers/net/wireless/ath/ath5k/base.c
@@ -2779,7 +2779,7 @@ ath5k_config(struct ieee80211_hw *hw, u32 changed)
 
 	ret = ath5k_chan_set(sc, conf->channel);
 	if (ret < 0)
-		return ret;
+		goto unlock;
 
 	if ((changed & IEEE80211_CONF_CHANGE_POWER) &&
 	(sc->power_level != conf->power_level)) {
@@ -2808,8 +2808,9 @@ ath5k_config(struct ieee80211_hw *hw, u32 changed)
 	 */
 	ath5k_hw_set_antenna_mode(ah, AR5K_ANTMODE_DEFAULT);
 
+unlock:
 	mutex_unlock(&sc->lock);
-	return 0;
+	return ret;
 }
 
 #define SUPPORTED_FIF_FLAGS \