1. 10 3月, 2010 1 次提交
  2. 12 2月, 2010 2 次提交
    • R
      iwlwifi: fix scan race · bbcbb9ef
      Reinette Chatre 提交于
      There is a problem if an "internal short scan" is in progress when a
      mac80211 requested scan arrives. If this new scan request arrives within
      the "next_scan_jiffies" period then driver will immediately return success
      and complete the scan. The problem here is that the scan has not been
      fully initialized at this time (is_internal_short_scan is still set to true
      because of the currently running scan), which results in the scan
      completion never to be sent to mac80211. At this time also, evan though the
      internal short scan is still running the state (is_internal_short_scan)
      will be set to false, so when the internal scan does complete then mac80211
      will receive a scan completion.
      
      Fix this by checking right away if a scan is in progress when a scan
      request arrives from mac80211.
      Signed-off-by: NReinette Chatre <reinette.chatre@intel.com>
      bbcbb9ef
    • W
      iwlwifi: multiple force reset mode · a93e7973
      Wey-Yi Guy 提交于
      Provide the function to perform different type of uCode reset/reload operation.
      When uCode detect error and can not fix itself, this iwl_force_reset()
      function allow driver to perform the necessary reset/reload functions and help
      to bring uCode back to normal operation state.
      
      Currently only 2 type of force reset are available:
       - reset radio
       - reload firmware
      Signed-off-by: NWey-Yi Guy <wey-yi.w.guy@intel.com>
      Signed-off-by: NReinette Chatre <reinette.chatre@intel.com>
      a93e7973
  3. 09 2月, 2010 1 次提交
  4. 26 1月, 2010 3 次提交
  5. 20 1月, 2010 1 次提交
  6. 22 12月, 2009 1 次提交
  7. 12 11月, 2009 2 次提交
  8. 03 11月, 2009 1 次提交
  9. 28 10月, 2009 1 次提交
    • Z
      iwlwifi: use paged Rx · 2f301227
      Zhu Yi 提交于
      This switches the iwlwifi driver to use paged skb from linear skb for Rx
      buffer. So that it relieves some Rx buffer allocation pressure for the
      memory subsystem. Currently iwlwifi (4K for 3945) requests 8K bytes for
      Rx buffer. Due to the trailing skb_shared_info in the skb->data,
      alloc_skb() will do the next order allocation, which is 16K bytes. This
      is suboptimal and more likely to fail when the system is under memory
      usage pressure. Switching to paged Rx skb lets us allocate the RXB
      directly by alloc_pages(), so that only order 1 allocation is required.
      
      It also adjusts the area spin_lock (with IRQ disabled) protected in the
      tasklet because tasklet guarentees to run only on one CPU and the new
      unprotected code can be preempted by the IRQ handler. This saves us from
      spawning another workqueue to make skb_linearize/__pskb_pull_tail happy
      (which cannot be called in hard irq context).
      
      Finally, mac80211 doesn't support paged Rx yet. So we linearize the skb
      for all the management frames and software decryption or defragmentation
      required data frames before handed to mac80211. For all the other frames,
      we __pskb_pull_tail 64 bytes in the linear area of the skb for mac80211
      to handle them properly.
      Signed-off-by: NZhu Yi <yi.zhu@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      2f301227
  10. 08 10月, 2009 1 次提交
  11. 29 8月, 2009 1 次提交
  12. 28 7月, 2009 1 次提交
    • J
      iwlwifi: fix up command sending · c2acea8e
      Johannes Berg 提交于
      The current command sending in iwlwifi is a bit of a mess:
       1) there is a struct, iwl_cmd, that contains both driver
          and device data in a single packed structure -- this
          is very confusing
       2) the on-stack data and the command metadata share a
          structure by embedding the latter in the former, which
          is also rather confusing because it leads to weird
          unions and similarly odd constructs
       3) each txq always has enough space for 256 commands,
          even if only 32 end up being used
      
      This patch fixes these things:
       1) rename iwl_cmd to iwl_device_cmd and keep track of
          command metadata and device command separately, in
          two arrays in each tx queue
       2) remove the 'meta' member from iwl_host_cmd and only
          put in the required members
       3) allocate the cmd/meta arrays separately instead of
          embedding them into the txq structure
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      c2acea8e
  13. 11 7月, 2009 1 次提交
  14. 23 5月, 2009 1 次提交
  15. 21 5月, 2009 1 次提交
  16. 12 5月, 2009 1 次提交
  17. 29 4月, 2009 1 次提交
  18. 23 4月, 2009 3 次提交
  19. 28 2月, 2009 1 次提交
  20. 14 2月, 2009 1 次提交
  21. 10 2月, 2009 1 次提交
  22. 30 1月, 2009 4 次提交
  23. 13 12月, 2008 1 次提交
  24. 11 11月, 2008 1 次提交
  25. 07 11月, 2008 1 次提交
  26. 01 11月, 2008 6 次提交