]> git.baikalelectronics.ru Git - kernel.git/commit
iwlwifi: fix suspend/resume and its usage of pci saved state
authorReinette Chatre <reinette.chatre@intel.com>
Tue, 10 Feb 2009 20:02:49 +0000 (12:02 -0800)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 11 Feb 2009 16:27:21 +0000 (11:27 -0500)
commitce742862d9a83e1622ca46af110f6fbe48dffb5c
tree6123009bfd05d833060ecf44c9965870beb5e3d5
parent9b786e1fa9458a4d5b31dfa9d8143590521f22f3
iwlwifi: fix suspend/resume and its usage of pci saved state

Here we do two things:

First, revert "iwlwifi: save PCI state before suspend, restore after
resume".  That misguided patch led to being unable to use iwlwifi
devices after resume.

Next, indicate to PCI driver that the saved PCI state is valid during suspend.

We restore PCI state and enable the device when network interface is created,
similarly PCI state is saved and the device is disabled when network interface
is removed. Thus, when .suspend is called the PCI state is saved and device
is disabled. This is the case even if an interface is never created as PCI
state is saved and device disabled during .probe.

PCI driver assumes PCI state is saved in .suspend. Saving the state at this
time will save state of disabled device and thus cause problems during
resume (resuming a disabled device). We thus indicate directly to PCI
driver that current PCI saved state is valid.

Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Tested-by: Alex Riesen <fork0@users.sf.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/iwlwifi/iwl-agn.c
drivers/net/wireless/iwlwifi/iwl3945-base.c