1. 03 10月, 2013 1 次提交
  2. 16 8月, 2013 1 次提交
  3. 12 8月, 2013 2 次提交
  4. 09 8月, 2013 3 次提交
  5. 06 8月, 2013 5 次提交
  6. 31 7月, 2013 2 次提交
  7. 26 7月, 2013 2 次提交
  8. 22 7月, 2013 1 次提交
  9. 16 7月, 2013 4 次提交
  10. 25 6月, 2013 3 次提交
    • J
      iwlwifi: always use 'trans_pcie' name · cfb4e624
      Johannes Berg 提交于
      A few places use 'pcie_trans' which is a bit non-standard,
      use 'trans_pcie' there as well.
      Reviewed-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      cfb4e624
    • J
      iwlwifi: always use 'rxq' as RX queue struct name · fecba09e
      Johannes Berg 提交于
      A few places use just 'q', use 'rxq' there like all
      other places.
      Reviewed-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      fecba09e
    • J
      iwlwifi: pcie: rework RX buffer list init and freeing · c7df1f4b
      Johannes Berg 提交于
      The PCIe code has an array of buffer descriptors (RXBs) that have pages
      and DMA mappings attached. In regular use, the array isn't used and the
      buffers are either on the hardware receive queue or the rx_free/rx_used
      lists for recycling.
      
      Occasionally, during module unload, we'd see a warning from this:
      
      WARNING: at lib/list_debug.c:32 __list_add+0x91/0xa0()
      list_add corruption. prev->next should be next (c31c98cc), but was c31c80bc. (prev=c31c80bc).
      Pid: 519, comm: rmmod Tainted: G        W  O 3.4.24-dev #3
      Call Trace:
       [<c10335b2>] warn_slowpath_common+0x72/0xa0
       [<c1033683>] warn_slowpath_fmt+0x33/0x40
       [<c12e31d1>] __list_add+0x91/0xa0
       [<fdf2083c>] iwl_pcie_rxq_free_rbs+0xcc/0xe0 [iwlwifi]
       [<fdf21b3f>] iwl_pcie_rx_free+0x3f/0x210 [iwlwifi]
       [<fdf2dd7a>] iwl_trans_pcie_free+0x2a/0x90 [iwlwifi]
      
      The reason for this seems to be that in iwl_pcie_rxq_free_rbs() we use
      the array to free all buffers (the hardware receive queue isn't in use
      any more at this point). The function also adds all buffers to rx_used
      because it's also used during initialisation (when no freeing happens.)
      This can cause the warning because it may add entries to the list that
      are already on it. Luckily, this is harmless because it can only happen
      when the entire data structure is freed anyway, since during init both
      lists are initialized from scratch.
      
      Disentangle this code and treat init and free separately. During init
      we just need to put them onto the list after freeing all buffers (for
      switching between 4k/8k buffers); during free no list manipulations
      are necessary at all.
      Reviewed-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      c7df1f4b
  11. 13 6月, 2013 6 次提交
  12. 04 6月, 2013 1 次提交
  13. 30 5月, 2013 1 次提交
    • J
      iwlwifi: mvm: implement D3 testing · debff618
      Johannes Berg 提交于
      For testing the D3 (WoWLAN) firmware, it is useful to be able
      to run the firmware with instrumentation while the host isn't
      sleeping and can poke at the firmware debug logging etc.
      
      Implement this by a debugfs file. When the file is opened the
      D3 firmware is loaded and all regular commands are blocked.
      While the file is being read, poll the firmware's PME status
      flag and report EOF once it changes to non-zero. When it is
      closed, do (most of) the resume processing. This lets a user
      just "cat" the file. Pressing Ctrl-C to kill the cat process
      will resume the firwmare as though the platform resumed for
      non-wireless reason and when the firmware wants to wake up
      reading from the file automatically completes.
      
      Unlike in real suspend, only disable interrupts and don't
      reset the TX/RX hardware while in the test mode. This is a
      workaround for some interrupt problems that happen only when
      the PCIe link isn't fully reset (presumably by changing the
      PCI config space registers which the core PCI code does.)
      
      Note that while regular operations are blocked from sending
      commands to the firmware, they could still be made and cause
      strange mac80211 issues. Therefore, while using this testing
      feature you need to be careful to not try to disconnect, roam
      or similar, and will see warnings for such attempts.
      
      Als note that this requires an upcoming firmware change to
      tell the driver the location of the PME status flag in SRAM.
      D3 test will fail if the firmware doesn't report the pointer.
      Reviewed-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      debff618
  14. 27 5月, 2013 1 次提交
  15. 17 5月, 2013 3 次提交
  16. 14 5月, 2013 4 次提交