Re: 3.4-rc ath9k regression (Re: [ath9k-devel] 3.3.1 ath9k regression)

From: Mohammed Shafi
Date: Tue Apr 10 2012 - 01:48:59 EST


On Mon, Apr 9, 2012 at 8:59 PM, Michael Leun
<lkml20120218@xxxxxxxxxxxxxxx> wrote:
> On Mon, 9 Apr 2012 19:52:45 +0530
> Mohammed Shafi <shafi.wireless@xxxxxxxxx> wrote:
>
>> On Mon, Apr 9, 2012 at 7:33 PM, Michael Leun
>> <lkml20120218@xxxxxxxxxxxxxxx> wrote:
>> > On Mon, 9 Apr 2012 12:25:49 +0200
>> > Michael Leun <lkml20120218@xxxxxxxxxxxxxxx> wrote:
>> >
>> >> On Mon, 9 Apr 2012 11:58:06 +0530
>> >> Mohammed Shafi <shafi.wireless@xxxxxxxxx> wrote:
>> >>
>> >> > 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.
>> >>
>> >> 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.

yes, but that breaks power save in idle unassociated state. any way as
Sujith had said we got to
revert it , if the association itself fails for 3.3.1, if we cannot
find the root cause and better solution.

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



--
thanks,
shafi
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/