1. 28 2月, 2009 3 次提交
  2. 14 2月, 2009 4 次提交
  3. 12 2月, 2009 1 次提交
    • R
      iwlwifi: fix suspend/resume and its usage of pci saved state · 89c581b3
      Reinette Chatre 提交于
      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: NReinette Chatre <reinette.chatre@intel.com>
      Tested-by: NAlex Riesen <fork0@users.sf.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      89c581b3
  4. 10 2月, 2009 15 次提交
  5. 05 2月, 2009 2 次提交
    • R
      iwlwifi: save PCI state before suspend, restore after resume · c4e061ac
      Reinette Chatre 提交于
      This is the right thing to do and fixes the following warning:
      
      [  115.012278] ------------[ cut here ]------------
      [  115.012281] WARNING: at drivers/pci/pci-driver.c:370
      pci_legacy_suspend+0x85/0xc2()
      [  115.012285] Hardware name: Latitude D630
      [  115.012301] PCI PM: Device state not saved by
      iwl3945_pci_suspend+0x0/0x4c [iwl3945]
      [  115.012304] Modules linked in: fuse nfsd lockd nfs_acl auth_rpcgss
      exportfs sunrpc ipv6 acpi_cpufreq kvm_intel kvm snd_hda_codec_idt
      snd_hda_intel snd_hda_codec snd_hwdep arc4 snd_seq_device snd_pcm_oss
      snd_mixer_oss ecb snd_pcm cryptomgr aead snd_timer crypto_blkcipher
      snd snd_page_alloc ohci1394 crypto_hash crypto_algapi ch341 ieee1394
      usbserial thermal iwl3945 mac80211 led_class lib80211 tg3 processor
      i2c_i801 i2c_core sg cfg80211 libphy usbhid battery ac button sr_mod
      cdrom evdev dcdbas ata_generic ata_piix libata sd_mod scsi_mod ext3
      jbd mbcache uhci_hcd ohci_hcd ehci_hcd usbcore [last unloaded:
      microcode]
      [  115.012374] Pid: 4163, comm: pm-suspend Not tainted
      2.6.29-rc3-00227-gf1dd849-dirty #67
      [  115.012377] Call Trace:
      [  115.012382]  [<ffffffff8023d04d>] warn_slowpath+0xb1/0xed
      [  115.012387]  [<ffffffff80450b5e>] ? _spin_unlock_irqrestore+0x5c/0x78
      [  115.012390]  [<ffffffff80254f08>] ? up+0x34/0x39
      [  115.012394]  [<ffffffff80362319>] ? acpi_ut_release_mutex+0x5d/0x61
      [  115.012397]  [<ffffffff803584b2>] ? acpi_get_data+0x5e/0x70
      [  115.012400]  [<ffffffff80363dd9>] ? acpi_bus_get_device+0x25/0x39
      [  115.012403]  [<ffffffff80363e98>] ? acpi_bus_power_manageable+0x11/0x29
      [  115.012406]  [<ffffffff803462f7>] ? acpi_pci_power_manageable+0x17/0x19
      [  115.012410]  [<ffffffff8033ddfd>] ? pci_set_power_state+0xcc/0x101
      [  115.012418]  [<ffffffffa01f28e9>] ? iwl3945_pci_suspend+0x0/0x4c [iwl3945]
      [  115.012422]  [<ffffffff803401e6>] pci_legacy_suspend+0x85/0xc2
      [  115.012425]  [<ffffffff80340316>] pci_pm_suspend+0x34/0x86
      [  115.012429]  [<ffffffff8039d7ce>] pm_op+0x52/0xe5
      [  115.012432]  [<ffffffff8039dd78>] device_suspend+0x32a/0x451
      [  115.012436]  [<ffffffff80269ec2>] suspend_devices_and_enter+0x3e/0x13a
      [  115.012439]  [<ffffffff8026a128>] enter_state+0x110/0x164
      [  115.012442]  [<ffffffff8026a233>] state_store+0xb7/0xd7
      [  115.012446]  [<ffffffff8032f95f>] kobj_attr_store+0x17/0x19
      [  115.012449]  [<ffffffff80307d64>] sysfs_write_file+0xe4/0x119
      [  115.012453]  [<ffffffff802baa7a>] vfs_write+0xae/0x137
      [  115.012456]  [<ffffffff802babc7>] sys_write+0x47/0x70
      [  115.012459]  [<ffffffff8020b73a>] system_call_fastpath+0x16/0x1b
      [  115.012467] ---[ end trace 829828966f6f24dc ]---
      Signed-off-by: NReinette Chatre <reinette.chatre@intel.com>
      Tested-by: NMing Lei <tom.leiming@gmail.com>
      Cc: Rafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      c4e061ac
    • R
      iwlwifi: clean key table in iwl_clear_stations_table · 5e46882e
      Reinette Chatre 提交于
      Cleans uCode key table bit map iwl_clear_stations_table
      since all stations are cleared also the key table must be.
      
      Since the keys are not removed properly on suspend by mac80211
      this may result in exhausting key table on resume leading
      to memory corruption during removal
      Signed-off-by: NTomas Winkler <tomas.winkler@intel.com>
      Signed-off-by: NReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      5e46882e
  6. 30 1月, 2009 15 次提交