On Wed, May 20, 2015 at 7:11 PM, Johannes Berg <johannes@xxxxxxxxxxxxxxxx> wrote: > On Tue, 2015-05-19 at 13:53 +0530, Krishna Chaitanya wrote: > >> > I'm not sure I get it - we always transmit a frame after resume. >> Let me explain the sequence of events: >> >> tx_frame: >> dynamic_ps_disable_work. >> get the chip out of power save. >> suspend came: >> dynamic ps timer is cancelled. >> tx queues are flushed. >> chip stays out of power save unless there is one more >> tx frame which kicks the dynamic ps timer again. > > So initially, for suspend, this shouldn't matter. Some chipsets are using power_save state from mac80211 to stay in DOZE mode, so in that case we end up drawing more power. We can force the chipset fw to enter DOZE independent of the mac80211 power save state but when resuming the chip FW should again configure as per mac80211 power save state. > And after suspend we always transmit a frame. What gives? Yes, but we have seen that in idle case this delay is more like 30secs-1min depending on the keepalive packet. Till that time the chip is active and 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