1. 12 5月, 2009 1 次提交
  2. 22 4月, 2009 1 次提交
    • R
      iwlwifi: DMA fixes · df833b1d
      Reinette Chatre 提交于
      A few issues wrt DMA were uncovered when using the driver with swiotlb.
      - driver should not use memory after it has been mapped
      - iwl3945's RX queue management cannot use all of iwlagn because
        the size of the RX buffer is different. Revert back to using
        iwl3945 specific routines that map/unmap memory.
      - no need to "dma_syn_single_range_for_cpu" followed by pci_unmap_single,
        we can just call pci_unmap_single initially
      - only map the memory area that will be used by device. this is especially
        relevant to the mapping of iwl_cmd. we should not map the entire
        structure because the meta data at the beginning of structure contains
        the address to be used later for unmapping. If the address to be used for
        unmapping is stored in mapped data it creates a problem.
      - ensure that _if_ memory needs to be modified after it is mapped that we
        call _sync_single_for_cpu first, and then release it back to device with
        _sync_single_for_device
      - we mapped the wrong length of data for host commands, with mapped length
        differing with length provided to device, fix that.
      
      Thanks to Jason Andryuk <jandryuk@gmail.com> for significant bisecting
      help to find these issues.
      
      This fixes http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1964Signed-off-by: NReinette Chatre <reinette.chatre@intel.com>
      Tested-by: NJason Andryuk <jandryuk@gmail.com>
      Tested-by: NBen Gamari <bgamari@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      df833b1d
  3. 30 3月, 2009 1 次提交
  4. 28 3月, 2009 3 次提交
  5. 17 3月, 2009 2 次提交
  6. 06 3月, 2009 3 次提交
  7. 28 2月, 2009 9 次提交
  8. 14 2月, 2009 2 次提交
  9. 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
  10. 10 2月, 2009 3 次提交
  11. 05 2月, 2009 1 次提交
    • 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
  12. 30 1月, 2009 13 次提交