From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757451Ab2DIPdK (ORCPT ); Mon, 9 Apr 2012 11:33:10 -0400 Received: from serv04.lahn.de ([213.239.197.57]:49926 "EHLO serv04.lahn.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757387Ab2DIPdI (ORCPT ); Mon, 9 Apr 2012 11:33:08 -0400 Date: Mon, 9 Apr 2012 17:29:33 +0200 From: Michael Leun To: Mohammed Shafi Cc: Ben Greear , casteyde.christian@free.fr, Kelly Anderson , "ath9k-devel@lists.ath9k.org" , Linux Kernel Mailing List , Felix Fietkau , linux-wireless Mailing List , Sergio Correia Subject: Re: 3.4-rc ath9k regression (Re: [ath9k-devel] 3.3.1 ath9k regression) Message-ID: <20120409172933.4ca4775a@xenia.leun.net> In-Reply-To: References: <4F7A8EB7.4060200@silka.with-linux.com> <4F7AAAD9.2040307@silka.with-linux.com> <4F7AB6FE.3080009@silka.with-linux.com> <20120403200306.0afbb48b@xenia.leun.net> <20120404235104.682cfad3@xenia.leun.net> <4F7DE3A4.1040705@candelatech.com> <4F7F52BD.7060906@candelatech.com> <20120409010816.36244f17@xenia.leun.net> <20120409122549.7469543a@xenia.leun.net> <20120409160322.6b7b8c67@xenia.leun.net> Organization: Not Organized X-Mailer: Claws Mail 3.7.10 (GTK+ 2.24.7; i586-suse-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 9 Apr 2012 19:52:45 +0530 Mohammed Shafi wrote: > On Mon, Apr 9, 2012 at 7:33 PM, Michael Leun > wrote: > > On Mon, 9 Apr 2012 12:25:49 +0200 > > Michael Leun wrote: > > > >> On Mon, 9 Apr 2012 11:58:06 +0530 > >> Mohammed Shafi wrote: > >> > >> > On Mon, Apr 9, 2012 at 4:38 AM, Michael Leun > >> > 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 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. > >> > >> Yes, this patch helps with the issue I see in 3.4-rc2 described > >> above. > > > > Sorry, but I have to partially rectify that: > > > > It works, if the time the machine was suspended is short, as it was > > when I did that testing. > > > > But I noticed it failing, when the machine was hibernated for some > > hours. > > > > I easily can reproduce that, when I reboot the AP while the > > notebook is down (btw: AP is TP-LINK TL-WR1043ND running OpenWRT > > backfire 10.03.1, also using ath9k). > > > > When I do this (hibernate notebook, reboot AP, resume notebook check > > connectivity) with 3.4-rc2 and your test.patch it fails in 100% of > > cases. > > the test.patch is nothing but it reverts back to the code something > back 3.1.1 and there is something else is also there > , where we need to fix. unfortunately i cannot reproduce the issue in > 3.4-rc2 which you guys can easily recreate it. i should try with > 3.3.1 tomorrow. i will go home today and see if i can find some thing > with my analysis. Please do not mix up things. What I described above I see in 3.4-rc2, the thing in 3.3.1 looks different (altough it may (or may not) have the same root cause). Between your test.patch and reverting c1afdaff90538ef085b756454f12b29575411214 is this diff: @@ -118,13 +118,13 @@ if (--sc->ps_usecount != 0) goto unlock; - if (sc->ps_idle && (sc->ps_flags & PS_WAIT_FOR_TX_ACK)) + 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_PSPOLL_DATA | - PS_WAIT_FOR_TX_ACK))) + PS_WAIT_FOR_TX_ACK | + PS_WAIT_FOR_PSPOLL_DATA))) mode = ATH9K_PM_NETWORK_SLEEP; else goto unlock; Seems obvious to me, that this line if (sc->ps_idle && (sc->ps_flags & PS_WAIT_FOR_TX_ACK)) makes the real difference. > > i was also thinking about the code, when the chip goes to FULL_SLEEP > then in ath9k_tx we might need to chip reset to actually tx. my guess > is there is something dependent there. i think i can add a patch with > some of our debug messages which helps us what is happening for you > > reverting breaks unassociated power save case :( > > > > > With 3.4-rc2 and c1afdaff90538ef085b756454f12b29575411214 reverted > > the same works in 100% of cases. > > > >> But I agree with Ben and Sergio that it does NOT help with the > >> issue in 3.3.1 we all see. > > > > I mixed up some mails and actually thought Ben had already answered > > regarding your patch, but that is not true. > > > > -- > > MfG, > > > > Michael Leun > > > > > > -- > thanks, > shafi > -- MfG, Michael Leun