Search Linux Wireless

Re: [RFC 3/5] mac80211: fix idle trigger upon resume

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

 



On Thu, May 14, 2009 at 5:32 PM, Luis R. Rodriguez
<lrodriguez@xxxxxxxxxxx> wrote:
> On Mon, May 11, 2009 at 12:09:22PM -0700, Luis Rodriguez wrote:
>> On Mon, May 11, 2009 at 11:53:30AM -0700, Johannes Berg wrote:
>> > On Mon, 2009-05-11 at 11:34 -0700, Luis R. Rodriguez wrote:
>> >
>> > > > Also, __ieee80211_queues_stopped_by_reason is misnamed since it checks
>> > > > only a single queue. I also think that we can do this much better by
>> > > > keeping track of the suspend state in a new variable rather than looking
>> > > > at all the queues; even just checking queue 0 would be sufficient, but I
>> > > > think a new variable is warranted.
>> > >
>> > > A global variable for going to suspend? Hm, do we have a system wide
>> > > thing for this instead?
>> >
>> > No, and even then we couldn't use it I think since you can have
>> > per-device suspend. I was just thinking of a local->variable.
>>
>> OK thanks will add this.
>
> So I've added the WARN_ON() here as we agreed to investigate on irc. Turns out
> we hit it several times as expected. We hit it while going to suspend
> once, and then on resume 3 times.

The trace doesn't help much except for acknowledging the issue I was
pointing out. The workqueue is run because we flush it, twice, during
suspend. The idle recalc is run because we call it within
ieee80211_sta_work(). If we want we can move the check for
local->suspended to ieee80211_sta_work() but then we'd have to set
local->suspended early on during suspend before the first flush and
that doesn't seem right. So I think the patch as I have it is fine
unless I'm missing something.

  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