1. 26 1月, 2010 1 次提交
    • W
      iwlwifi: add function to reset/tune radio if needed · afbdd69a
      Wey-Yi Guy 提交于
      Adding "radio reset" function to help reset and stabilize the radio.
      
      During normal operation, sometime for unknown reason, radio encounter
      problem and can not recover by itself; the best way to
      recover from it is to reset and re-tune the radio. Currently, there is
      no RF reset command available, but since radio will get reset when
      switching channel, use internal hw scan request to force radio
      reset and get back to normal operation state.
      
      The internal hw scan will only perform passive scan on the first
      available channel (not the channel being used) in associated state. The
      request should be ignored if already performing scan operation or STA is
      not in associated state.
      
      Also include an "internal_scan" debugfs file to help trigger the
      internal scan from user mode.
      Signed-off-by: NWey-Yi Guy <wey-yi.w.guy@intel.com>
      Signed-off-by: NReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      afbdd69a
  2. 20 1月, 2010 1 次提交
  3. 22 12月, 2009 1 次提交
  4. 12 11月, 2009 2 次提交
  5. 03 11月, 2009 1 次提交
  6. 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
  7. 08 10月, 2009 1 次提交
  8. 29 8月, 2009 1 次提交
  9. 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
  10. 11 7月, 2009 1 次提交
  11. 23 5月, 2009 1 次提交
  12. 21 5月, 2009 1 次提交
  13. 12 5月, 2009 1 次提交
  14. 29 4月, 2009 1 次提交
  15. 23 4月, 2009 3 次提交
  16. 28 2月, 2009 1 次提交
  17. 14 2月, 2009 1 次提交
  18. 10 2月, 2009 1 次提交
  19. 30 1月, 2009 4 次提交
  20. 13 12月, 2008 1 次提交
  21. 11 11月, 2008 1 次提交
  22. 07 11月, 2008 1 次提交
  23. 01 11月, 2008 6 次提交
  24. 07 10月, 2008 3 次提交
  25. 25 9月, 2008 1 次提交
  26. 16 9月, 2008 1 次提交
  27. 12 9月, 2008 1 次提交