Search Linux Wireless

Re: Asus eeepc 1008HA suspend issue and mac80211 suspend corner case

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Dec 22, 2009 at 6:52 PM, Sujith <Sujith.Manoharan@xxxxxxxxxxx> wrote:
> Luis Rodriguez wrote:
>> OK I have to go now but I managed to get this working without the
>> issue coming up. At this point I am not sure if all of these are
>> required but I cherry picked 2 patches from wireless-testing and then
>> added 4, one based on sujith's suggestion.
>>
>> http://bombadil.infradead.org/~mcgrof/patches/pm-stuff/0001-mac80211-fix-resume.patch
>> http://bombadil.infradead.org/~mcgrof/patches/pm-stuff/0002-mac80211-fix-WMM-AP-settings-application.patch
>>
>> http://bombadil.infradead.org/~mcgrof/patches/pm-stuff/0003-ath9k-set-and-restore-ps-prior-to-stop-and-interface.patch
>> http://bombadil.infradead.org/~mcgrof/patches/pm-stuff/0004-ath9k-ensure-hardware-is-awake-during-ampdu-TX-actio.patch
>>
>> http://bombadil.infradead.org/~mcgrof/patches/pm-stuff/0005-ath9k-synch-TX-DMA-buffer-upon-TX-cancelation.patch
>> http://bombadil.infradead.org/~mcgrof/patches/pm-stuff/0006-ath9k-do-not-wake-up-device-if-it-hasn-t-been-starte.patch
>>
>> Its likely only patch 3, 4, and 6 are the only ones required. In fact
>> maybe even 6 will fix it, but I just gotta go so cannot test that. I
>> was able to resume about 10 times consecutively which I was unable to
>> do before.
>
> Probably lucky. :)

Not really, I noticed the interrupts were being set and full sleep->
awake was going on right after ath9k_stop() so I looked for who could
have called that and it was mac80211 calling the config, disabling PS.

> None of the above patches address the issue of allowing configuration requests
> after the chip has been shut down.

Did you see the last one? It turns out its the only config option
passed by mac8021 I've seen so far so my commit log should change.

> Can you try this on top of the earlier one I sent out ?
>
> diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c
> index 419c382..7fdcc6b 100644
> --- a/drivers/net/wireless/ath/ath9k/main.c
> +++ b/drivers/net/wireless/ath/ath9k/main.c
> @@ -2673,6 +2673,11 @@ static int ath9k_config(struct ieee80211_hw *hw, u32 changed)
>
>        mutex_lock(&sc->mutex);
>
> +       if (sc->sc_flags & SC_OP_INVALID) {
> +               mutex_unlock(&sc->mutex);
> +               return 0;
> +       }
> +
>        /*
>         * Leave this as the first check because we need to turn on the
>         * radio if it was disabled before prior to processing the rest

That ones busts the resume.

  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

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux