• Reinette Chatre's avatar
    iwlwifi: fix suspend/resume and its usage of pci saved state · 89c581b3
    Reinette Chatre authored
    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: default avatarReinette Chatre <reinette.chatre@intel.com>
    Tested-by: default avatarAlex Riesen <fork0@users.sf.net>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    89c581b3
iwl-agn.c 113 KB