Linux wireless drivers development
 help / color / mirror / Atom feed
* [PATCH] ath9k: Fix TX hang poll routine
@ 2009-10-09  4:21 Sujith
  2009-11-24 16:11 ` Luis R. Rodriguez
  0 siblings, 1 reply; 3+ messages in thread
From: Sujith @ 2009-10-09  4:21 UTC (permalink / raw)
  To: linville; +Cc: linux-wireless

When TX is hung, the chip is reset. Ensure that
the chip is awake by using the PS wrappers.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
---
 drivers/net/wireless/ath/ath9k/xmit.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

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,
-- 
1.6.4.4


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] ath9k: Fix TX hang poll routine
  2009-10-09  4:21 [PATCH] ath9k: Fix TX hang poll routine Sujith
@ 2009-11-24 16:11 ` Luis R. Rodriguez
  2009-12-02 17:04   ` Luis R. Rodriguez
  0 siblings, 1 reply; 3+ messages in thread
From: Luis R. Rodriguez @ 2009-11-24 16:11 UTC (permalink / raw)
  To: Sujith, Greg KH; +Cc: linville, linux-wireless

On Thu, Oct 8, 2009 at 8:21 PM, Sujith <Sujith.Manoharan@atheros.com> wrote:
> When TX is hung, the chip is reset. Ensure that
> the chip is awake by using the PS wrappers.
>
> Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
> ---
>  drivers/net/wireless/ath/ath9k/xmit.c |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
>
> 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,
> --

John this should be pulled to 2.6.32 if possible. It would do the
actual reset and fix TX properly if we are asleep.

  Luis

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] ath9k: Fix TX hang poll routine
  2009-11-24 16:11 ` Luis R. Rodriguez
@ 2009-12-02 17:04   ` Luis R. Rodriguez
  0 siblings, 0 replies; 3+ messages in thread
From: Luis R. Rodriguez @ 2009-12-02 17:04 UTC (permalink / raw)
  To: Sujith, Greg KH; +Cc: linville, linux-wireless, David Woodhouse, stable

On Tue, Nov 24, 2009 at 8:11 AM, Luis R. Rodriguez <mcgrof@gmail.com> wrote:
> On Thu, Oct 8, 2009 at 8:21 PM, Sujith <Sujith.Manoharan@atheros.com> wrote:
>> When TX is hung, the chip is reset. Ensure that
>> the chip is awake by using the PS wrappers.
>>
>> Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
>> ---
>>  drivers/net/wireless/ath/ath9k/xmit.c |    2 ++
>>  1 files changed, 2 insertions(+), 0 deletions(-)
>>
>> 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,
>> --
>
> John this should be pulled to 2.6.32 if possible. It would do the
> actual reset and fix TX properly if we are asleep.

Note: stable fix, don't recall yet if this will apply to 31 series though.

 Luis

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2009-12-02 17:04 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-10-09  4:21 [PATCH] ath9k: Fix TX hang poll routine Sujith
2009-11-24 16:11 ` Luis R. Rodriguez
2009-12-02 17:04   ` Luis R. Rodriguez

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox