1. 08 12月, 2011 1 次提交
    • F
      ath9k: rework power state handling · c0c11741
      Felix Fietkau 提交于
      Turning off the radio when mac80211 tells the driver that it's idle is not
      a good idea, as idle interfaces might still occasionally scan or send packets.
      The only time the radio can be safely turned off is when drv_stop has been
      called. In the mean time, use sc->ps_idle only to indicate network sleep vs
      full sleep.
      Move the LED GPIO changes out of the PCI suspend/resume path, the start/stop
      functions already take care of that.
      Signed-off-by: NFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      c0c11741
  2. 01 11月, 2011 1 次提交
  3. 15 10月, 2011 1 次提交
  4. 17 9月, 2011 2 次提交
  5. 26 8月, 2011 2 次提交
  6. 25 8月, 2011 2 次提交
  7. 23 8月, 2011 2 次提交
  8. 09 8月, 2011 2 次提交
  9. 02 8月, 2011 1 次提交
  10. 30 6月, 2011 1 次提交
  11. 20 5月, 2011 1 次提交
  12. 31 3月, 2011 1 次提交
  13. 29 1月, 2011 2 次提交
  14. 23 12月, 2010 4 次提交
    • M
      ath9k: Reset keycache on resume · db7ec38d
      Mohammed Shafi Shajakhan 提交于
      It looks like some hardware registers are left into undefined state
      after suspend/resume. At minimum, this can cause odd issues related to
      key cache and hardware trying to encrypt/decrypt frames unexpectedly.
      This seems to happen even when there is no keys configured, i.e., hardware
      can end up touching TX frames just based of invalid key cache context
      even if the driver is not asking a specific entry to be used. In
      addition, RX can likely be affected. This patch fixes this issue.
      Signed-off-by: NJouni Malinen <Jouni.Malinen@Atheros.com>
      Signed-off-by: NMohammed Shafi Shajakhan <mshajakhan@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      db7ec38d
    • H
      ath9k: Use pci_is_pcie() · e40b5faa
      Hauke Mehrtens 提交于
      Use function pci_is_pcie() instead of accessing struct member directly.
      
      CC: Luis R. Rodriguez <lrodriguez@atheros.com>
      Signed-off-by: NHauke Mehrtens <hauke@hauke-m.de>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      e40b5faa
    • L
      ath9k: fix aphy / wiphy idle mismatch · afe68d0a
      Luis R. Rodriguez 提交于
      ath9k supports its own set of virtual wiphys, and it uses
      the mac80211 idle notifications to know when a device needs
      to be idle or not. We recently changed ath9k to force idle
      on driver stop() and on resume but forgot to take into account
      ath9k's own virtual wiphy idle states. These are used internally
      by ath9k to check if the device's radio should be powered down
      on each idle call. Without this change its possible that the
      device could have been forced off but the virtual wiphy idle
      was left on.
      
      Cc: stable@kernel.org
      Cc: Paul Stewart <pstew@google.com>
      Cc: Amod Bodas <amod.bodas@atheros.com>
      Signed-off-by: NLuis R. Rodriguez <lrodriguez@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      afe68d0a
    • R
      ath9k: Fix warnings on card removal · d584747b
      Rajkumar Manoharan 提交于
      The recently added warning message on power change failure
      is not needed on device removal.
      
      ath: Failed to wakeup in 500us
      ------------[ cut here ]------------
      WARNING: at drivers/net/wireless/ath/ath9k/hw.c:1618
      ath9k_hw_setpower+0x61f/0x630 [ath9k_hw]()
      Hardware name: 64756D6
      Pid: 540, comm: kworker/u:3 Not tainted 2.6.37-rc6-wl #37
      Call Trace:
       [<ffffffff810501aa>] warn_slowpath_common+0x7a/0xb0
       [<ffffffffa056e280>] ? ath9k_iowrite32+0x0/0x90 [ath9k]
       [<ffffffff810501f5>] warn_slowpath_null+0x15/0x20
       [<ffffffffa05226ef>] ath9k_hw_setpower+0x61f/0x630 [ath9k_hw]
       [<ffffffffa05700e5>] ath9k_ps_wakeup+0x85/0xd0 [ath9k]
       [<ffffffffa0570685>] ath9k_configure_filter+0x25/0x80 [ath9k]
       [<ffffffffa04dde43>] ieee80211_configure_filter+0x133/0x190 [mac80211]
       [<ffffffffa04ee502>] ieee80211_do_stop+0x132/0x540 [mac80211]
       [<ffffffff813466ff>] ? _raw_spin_unlock_bh+0x1f/0x30
       [<ffffffff812b6923>] ? dev_deactivate+0x1c3/0x1e0
       [<ffffffffa04ee925>] ieee80211_stop+0x15/0x20 [mac80211]
       [<ffffffff8129d1b6>] __dev_close+0x56/0x90
      Signed-off-by: NRajkumar Manoharan <rmanoharan@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      d584747b
  15. 14 12月, 2010 1 次提交
    • L
      ath9k: fix assumptions for idle calls on suspend/resume · a08e7ade
      Luis R. Rodriguez 提交于
      mac80211 will notify drivers when to go idle and ath9k
      assumed that it would get further notifications for idle
      states after a device stop() config call but as per agreed
      semantics the idle state of the radio is left up to driver
      after mac80211 issues the stop() callback. The driver is
      resposnbile for ensuring the device remains idle after
      that even between suspend / resume calls.
      
      This fixes suspend/resume when you issue suspend and resume
      twice on ath9k when ath9k_stop() was already called. We need
      to put the radio to full sleep in order for resume to work
      correctly.
      
      What might seem fishy is we are turning the radio off
      after resume. The reason why we do this is because we know
      we should not have anything enabled after a mac80211 tells
      us to stop(), if we resume and never get a start() we won't
      get another stop() by mac80211 so to be safe always bring
      the 802.11 device with the radio disabled after resume,
      this ensures that if we suspend we already have the radio
      disabled and only a start() will ever trigger it on.
      
      Cc: stable@kernel.org
      Cc: Paul Stewart <pstew@google.com>
      Cc: Amod Bodas <amod.bodas@atheros.com>
      Signed-off-by: NLuis R. Rodriguez <lrodriguez@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      a08e7ade
  16. 08 12月, 2010 3 次提交
  17. 19 11月, 2010 1 次提交
  18. 10 11月, 2010 1 次提交
  19. 28 7月, 2010 1 次提交
  20. 15 6月, 2010 1 次提交
  21. 22 5月, 2010 1 次提交
  22. 17 4月, 2010 1 次提交
  23. 07 4月, 2010 1 次提交
  24. 03 2月, 2010 1 次提交
  25. 02 2月, 2010 1 次提交
  26. 15 1月, 2010 1 次提交
  27. 13 1月, 2010 1 次提交
  28. 08 1月, 2010 1 次提交
  29. 29 12月, 2009 1 次提交