From patchwork Fri Oct 9 04:21:28 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sujith X-Patchwork-Id: 52650 Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by demeter.kernel.org (8.14.2/8.14.2) with ESMTP id n994P4oq020535 for ; Fri, 9 Oct 2009 04:25:05 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751505AbZJIEUi (ORCPT ); Fri, 9 Oct 2009 00:20:38 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751503AbZJIEUi (ORCPT ); Fri, 9 Oct 2009 00:20:38 -0400 Received: from mail.atheros.com ([12.36.123.2]:13798 "EHLO mail.atheros.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751404AbZJIEUi (ORCPT ); Fri, 9 Oct 2009 00:20:38 -0400 Received: from mail.atheros.com ([10.10.20.107]) by sidewinder.atheros.com for ; Thu, 08 Oct 2009 21:20:42 -0700 Received: from CHEXHC-01.global.atheros.com (10.12.0.100) by SC1EXHC-02.global.atheros.com (10.10.20.107) with Microsoft SMTP Server (TLS) id 8.0.813.0; Thu, 8 Oct 2009 21:20:02 -0700 Received: from neuromancer (10.12.4.103) by CHEXHC-01.global.atheros.com (10.12.0.100) with Microsoft SMTP Server (TLS) id 8.0.751.0; Fri, 9 Oct 2009 09:49:58 +0530 From: Sujith MIME-Version: 1.0 Message-ID: <19150.47688.575023.623047@gargle.gargle.HOWL> Date: Fri, 9 Oct 2009 09:51:28 +0530 To: X-Mailer: VM 8.0.12 under 23.1.1 (x86_64-unknown-linux-gnu) CC: Subject: [PATCH] ath9k: Fix TX hang poll routine Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org diff --git a/drivers/net/wireless/ath/ath9k/xmit.c b/drivers/net/wireless/ath/ath9k/xmit.c index a8620b1..2a4efcb 100644 --- a/drivers/net/wireless/ath/ath9k/xmit.c +++ b/drivers/net/wireless/ath/ath9k/xmit.c @@ -2079,7 +2079,9 @@ static void ath_tx_complete_poll_work(struct work_struct *work) if (needreset) { ath_print(ath9k_hw_common(sc->sc_ah), ATH_DBG_RESET, "tx hung, resetting the chip\n"); + ath9k_ps_wakeup(sc); ath_reset(sc, false); + ath9k_ps_restore(sc); } ieee80211_queue_delayed_work(sc->hw, &sc->tx_complete_work,