Commit 9d139c810a2aa17365cc548d0cd2a189d8433c65 introduced
AA deadlock -- ath5k_config_interface(); holds sc->lock
and it calls ath5k_beacon_update(); which tries to grab the
lock again.

Don't grab the lock in beacon update, since only caller is
config iface for now.

Signed-off-by: Jiri Slaby <[EMAIL PROTECTED]>
Cc: Johannes Berg <[EMAIL PROTECTED]>
Cc: John W. Linville <[EMAIL PROTECTED]>
Cc: Nick Kossifidis <[EMAIL PROTECTED]>
Cc: Luis R. Rodriguez <[EMAIL PROTECTED]>
---
 drivers/net/wireless/ath5k/base.c |    4 ----
 1 files changed, 0 insertions(+), 4 deletions(-)

diff --git a/drivers/net/wireless/ath5k/base.c 
b/drivers/net/wireless/ath5k/base.c
index 7273e9f..898a969 100644
--- a/drivers/net/wireless/ath5k/base.c
+++ b/drivers/net/wireless/ath5k/base.c
@@ -3065,8 +3065,6 @@ ath5k_beacon_update(struct ieee80211_hw *hw, struct 
sk_buff *skb)
 
        ath5k_debug_dump_skb(sc, skb, "BC  ", 1);
 
-       mutex_lock(&sc->lock);
-
        if (sc->opmode != IEEE80211_IF_TYPE_IBSS) {
                ret = -EIO;
                goto end;
@@ -3081,9 +3079,7 @@ ath5k_beacon_update(struct ieee80211_hw *hw, struct 
sk_buff *skb)
                ath5k_beacon_config(sc);
                mmiowb();
        }
-
 end:
-       mutex_unlock(&sc->lock);
        return ret;
 }
 
-- 
1.5.6.2

_______________________________________________
ath5k-devel mailing list
ath5k-devel@lists.ath5k.org
https://lists.ath5k.org/mailman/listinfo/ath5k-devel

Reply via email to