On Mon, Apr 9, 2012 at 4:38 AM, Michael Leun <lkml20120218@xxxxxxxxxxxxxxx> wrote: > After an suspend to disk / resume cycle (in kernel suspend to disk, > openSuSE) with 3.4-rc2 my ath9k wireless does not ping > anymore. > > Output of iwconfig wlan0 looks just as usual (associated to AP). > > iwconfig wlan0 essid <myssid> fixes this (causes an > deauthenticate/authenticate with AP) - then connectivity is there again. > > Guess what: "Of course" does not happen when reverting > c1afdaff90538ef085b756454f12b29575411214 ath9k: fix going to full-sleep > on PS idle. > > So, in my opinion it should be seriously considered to revert that patch > until it is fully understood what is going on and why. please try with the attached patch to see if it helps. > > It may look theoretically correct (I've no knowledge that would enable > me assess that), but it seems to have caused 3 more or less different > problems to various people. > > -- > MfG, > > Michael Leun > -- thanks, shafi
diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c index 215eb25..92da20a 100644 --- a/drivers/net/wireless/ath/ath9k/main.c +++ b/drivers/net/wireless/ath/ath9k/main.c @@ -118,14 +118,12 @@ void ath9k_ps_restore(struct ath_softc *sc) if (--sc->ps_usecount != 0) goto unlock; - if (sc->ps_flags & PS_WAIT_FOR_TX_ACK) - goto unlock; - if (sc->ps_idle) mode = ATH9K_PM_FULL_SLEEP; else if (sc->ps_enabled && !(sc->ps_flags & (PS_WAIT_FOR_BEACON | PS_WAIT_FOR_CAB | + PS_WAIT_FOR_TX_ACK | PS_WAIT_FOR_PSPOLL_DATA))) mode = ATH9K_PM_NETWORK_SLEEP; else