On Fri, Oct 09, 2009 at 01:20:20PM -0700, Reinette Chatre wrote: > From: Ben Cahill <ben.m.cahill@xxxxxxxxx> > > In some cases (e.g. when mac80211 calls iwl_mac_stop() for suspend or user > no longer wants device active), device has not been going into low power state > via __iwl_down(). apm_ops.reset() does not put device into low power state; > instead it resets the device, then puts it into a powered-up state ready to be > re-loaded with uCode and re-started. This has needlessly warmed up user's > laptops and drained batteries. > > With current architecture in which mac80211 controls device up/down (including > resetting device after firmware errors), there is no need for apm_ops.reset() > any more; apm_ops.reset() is basically a combination of apm_ops.stop() and > apm_ops.init(). > > Instead, __iwl_down() now unconditionally places the device into a low-power > state via apm_ops.stop(). Device may be re-started via __iwl_up() calling > apm_ops.init() as soon as it may be needed (e.g. quickly for firmware errors), > but in the meantime, device will stop wasting energy. > > Note that, even in this low power state, if driver re-enables interrupts, > the device retains the ability to sense the hardware RF-KILL switch, and > (except for 3945) interrupt the host when it changes. > > Signed-off-by: Ben Cahill <ben.m.cahill@xxxxxxxxx> > Signed-off-by: Reinette Chatre <reinette.chatre@xxxxxxxxx> It this a regression? Bug reference? John -- John W. Linville Someday the world will need a hero, and you linville@xxxxxxxxxxxxx might be all we have. Be ready. -- 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