On Wed, Jun 17, 2015 at 2:17 PM, Johannes Berg <johannes@xxxxxxxxxxxxxxxx> wrote: > On Wed, 2015-06-10 at 19:12 +0530, Chaitanya T K wrote: >> From: Chaitanya T K <chaitanya.mgit@xxxxxxxxx> >> >> Background: When wowlan is enabled, the chipset stays in low >> power state maintaining the connection as per the >> mac80211 power save state. >> >> If suspended during TX in progress, there can be >> race where the driver is put of of power-save due >> to TX and during suspend dynamic_ps_time is cancelled >> and TX packet is flushed, leaving the driver in ACTIVE >> even after resuming until dynamic_ps_time puts >> driver back in DOZE. (Which only happens if there >> is another TX). >> >> This can lead to high power consumption of chipset >> during (or) after resuming. > > I still don't like it. I also don't believe that what you're writing is > actually true. The only problem I can see is that it leads to higher > power consumption *while the system is suspended* - at resume time we > send a packet and thus kick the timers... "If" we send a packet, but until them the system will still be active. > > I was going to change it to this: > > ------- > mac80211: ensure powersave is enabled when going to WoWLAN > > If the system suspends while the client powersave mechanism > is waiting to suspend due to a previous TX, the system will > go to sleep with the NIC being awake (active) rather than > in doze mode. Unless the driver handles this, it leads to > excessive power consumption while sleeping. > ------- Yes, i am fine with this, but wanted to include about resume in case there is not response accepted fro the RX packet which triggered resume. > but I'm not convinced all of this is right. Normally all drivers/firmware are honoring mac80211 power state to enter Doze/not. Yes, we can ask drivers to force power save while entering suspend, but still up on resumption we must honor the mac80211 power save , so till the time we send any TX, chipset will be active drawing more power. -- 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