On Thu, Oct 8, 2009 at 8:21 PM, Sujith <Sujith.Manoharan@xxxxxxxxxxx> 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@xxxxxxxxxxx> > --- > 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 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html