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

    ath9k: Fix softlockup in AR9485

to the 3.4-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-fix-softlockup-in-ar9485.patch
and it can be found in the queue-3.4 subdirectory.

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


>From bcb7ad7bcbef030e6ba71ede1f9866368aca7c99 Mon Sep 17 00:00:00 2001
From: Mohammed Shafi Shajakhan <[email protected]>
Date: Wed, 13 Jun 2012 21:28:09 +0530
Subject: ath9k: Fix softlockup in AR9485

From: Mohammed Shafi Shajakhan <[email protected]>

commit bcb7ad7bcbef030e6ba71ede1f9866368aca7c99 upstream.

steps to recreate:
load latest ath9k driver with AR9485
stop the network-manager and wpa_supplicant
bring the interface up

        Call Trace:
        [<ffffffffa0517490>] ? ath_hw_check+0xe0/0xe0 [ath9k]
        [<ffffffff812cd1e8>] __const_udelay+0x28/0x30
        [<ffffffffa03bae7a>] ar9003_get_pll_sqsum_dvc+0x4a/0x80 [ath9k_hw]
        [<ffffffffa05174eb>] ath_hw_pll_work+0x5b/0xe0 [ath9k]
        [<ffffffff810744fe>] process_one_work+0x11e/0x470
        [<ffffffff8107530f>] worker_thread+0x15f/0x360
        [<ffffffff810751b0>] ? manage_workers+0x230/0x230
        [<ffffffff81079af3>] kthread+0x93/0xa0
        [<ffffffff815fd3a4>] kernel_thread_helper+0x4/0x10
        [<ffffffff81079a60>] ? kthread_freezable_should_stop+0x70/0x70
        [<ffffffff815fd3a0>] ? gs_change+0x13/0x13

ensure that the PLL-WAR for AR9485/AR9340 is executed only if the STA is
associated (or) IBSS/AP mode had started beaconing. Ideally this WAR
is needed to recover from some rare beacon stuck during stress testing.
Before the STA is associated/IBSS had started beaconing, PLL4(0x1618c)
always seem to have zero even though we had configured PLL3(0x16188) to
query about PLL's locking status. When we keep on polling infinitely PLL4's
8th bit(ie check for PLL locking measurements is done), machine hangs
due to softlockup.

fixes https://bugzilla.redhat.com/show_bug.cgi?id=811142

Reported-by: Rolf Offermanns <[email protected]>
Tested-by: Mohammed Shafi Shajakhan <[email protected]>
Signed-off-by: Mohammed Shafi Shajakhan <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
 drivers/net/wireless/ath/ath9k/main.c |    9 +++++++++
 1 file changed, 9 insertions(+)

--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -960,6 +960,15 @@ void ath_hw_pll_work(struct work_struct
                                            hw_pll_work.work);
        u32 pll_sqsum;
 
+       /*
+        * ensure that the PLL WAR is executed only
+        * after the STA is associated (or) if the
+        * beaconing had started in interfaces that
+        * uses beacons.
+        */
+       if (!(sc->sc_flags & SC_OP_BEACONS))
+               return;
+
        if (AR_SREV_9485(sc->sc_ah)) {
 
                ath9k_ps_wakeup(sc);


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

queue-3.4/ath9k_hw-avoid-possible-infinite-loop-in.patch
queue-3.4/ath9k-fix-softlockup-in-ar9485.patch
queue-3.4/ath9k-fix-a-warning-on-suspend-resume-with-ibss.patch
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to