Return-path: Received: from wolverine02.qualcomm.com ([199.106.114.251]:29412 "EHLO wolverine02.qualcomm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752422Ab2FMEns (ORCPT ); Wed, 13 Jun 2012 00:43:48 -0400 Message-ID: <4FD81A7D.4060300@qca.qualcomm.com> (sfid-20120613_064353_248668_4638A85F) Date: Wed, 13 Jun 2012 10:13:41 +0530 From: Mohammed Shafi Shajakhan MIME-Version: 1.0 To: "John W. Linville" CC: , Rodriguez Luis , , Sujith Manoharan , Rajkumar Manoharan , , Mohammed Shafi Shajakhan Subject: Re: [PATCH] ath9k: Fix softlockup in AR9485 References: <1339512223-17514-1-git-send-email-mohammed@qca.qualcomm.com> <20120612194429.GB1932@tuxdriver.com> In-Reply-To: <20120612194429.GB1932@tuxdriver.com> Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Sender: linux-wireless-owner@vger.kernel.org List-ID: Hi John, On Wednesday 13 June 2012 01:14 AM, John W. Linville wrote: > Do you have a version that applies to 3.5 and earlier? thanks, will soon send a back ported version for 3.5. thanks. > > On Tue, Jun 12, 2012 at 08:13:43PM +0530, Mohammed Shafi Shajakhan wrote: >> From: Mohammed Shafi Shajakhan >> >> steps to recreate: >> load latest ath9k driver with AR9485 >> stop the network-manager and wpa_supplicant >> bring the interface up >> >> Call Trace: >> [] ? ath_hw_check+0xe0/0xe0 [ath9k] >> [] __const_udelay+0x28/0x30 >> [] ar9003_get_pll_sqsum_dvc+0x4a/0x80 [ath9k_hw] >> [] ath_hw_pll_work+0x5b/0xe0 [ath9k] >> [] process_one_work+0x11e/0x470 >> [] worker_thread+0x15f/0x360 >> [] ? manage_workers+0x230/0x230 >> [] kthread+0x93/0xa0 >> [] kernel_thread_helper+0x4/0x10 >> [] ? kthread_freezable_should_stop+0x70/0x70 >> [] ? 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 >> Cc: stable@vger.kernel.org >> Tested-by: Mohammed Shafi Shajakhan >> Signed-off-by: Mohammed Shafi Shajakhan >> --- >> drivers/net/wireless/ath/ath9k/link.c | 8 ++++++++ >> 1 files changed, 8 insertions(+), 0 deletions(-) >> >> diff --git a/drivers/net/wireless/ath/ath9k/link.c b/drivers/net/wireless/ath/ath9k/link.c >> index 0cc4c70..a105c94 100644 >> --- a/drivers/net/wireless/ath/ath9k/link.c >> +++ b/drivers/net/wireless/ath/ath9k/link.c >> @@ -136,6 +136,14 @@ void ath_hw_pll_work(struct work_struct *work) >> u32 pll_sqsum; >> struct ath_softc *sc = container_of(work, struct ath_softc, >> hw_pll_work.work); >> + /* >> + * 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 (!test_bit(SC_OP_BEACONS,&sc->sc_flags)) >> + return; >> >> ath9k_ps_wakeup(sc); >> pll_sqsum = ar9003_get_pll_sqsum_dvc(sc->sc_ah); >> -- >> 1.7.0.4 >> >> > -- thanks, shafi