1. 01 12月, 2012 2 次提交
  2. 22 11月, 2012 4 次提交
  3. 17 11月, 2012 1 次提交
  4. 10 11月, 2012 1 次提交
    • J
      mac80211: clarify interface iteration and make it configurable · 8b2c9824
      Johannes Berg 提交于
      During hardware restart, all interfaces are iterated even
      though they haven't been re-added to the driver, document
      this behaviour. The same also happens during resume, which
      is even more confusing since all of the interfaces were
      previously removed from the driver. Make this optional so
      drivers relying on the current behaviour can still use it,
      but to let drivers that don't want this behaviour disable
      it.
      
      Also convert all API users, keeping the old semantics
      except in hwsim, where the new normal ones are desired.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      8b2c9824
  5. 30 10月, 2012 2 次提交
  6. 20 10月, 2012 1 次提交
    • R
      ath9k: perform ANI cycle in idle state · 424749c7
      Rajkumar Manoharan 提交于
      As of now the ANI cycle is executed only when the chip is awake.
      On idle state case, the station wakes up from network sleep for
      beacon reception. Since most of the time, ANI cycle is not syncing
      with beacon wakeup, ANI cycle is ignored. Approx 5 mins once, the
      calibration is performed. This could affect the connection stability
      when the station is idle for long. Even though the OFDM and CCK phy
      error rates are too high, ANI is unable to tune its immunity level
      as quick enough due to rare execution.
      
      Here the experiment shows that OFDM and CCK levels are at default
      even on higher phy error rate.
      
      listenTime=44 OFDM:3 errs=121977/s CCK:2 errs=440818/s ofdm_turn=1
      
      This change ensures that ANI calibration will be exectued atleast
      once for every 10 seconds. The below result shows improvements and
      immunity levels are adopted quick enough.
      
      listenTime=557 OFDM:4 errs=752/s CCK:4 errs=125/s ofdm_turn=0
      Signed-off-by: NRajkumar Manoharan <rmanohar@qca.qualcomm.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      424749c7
  7. 06 10月, 2012 2 次提交
  8. 12 9月, 2012 2 次提交
  9. 10 9月, 2012 1 次提交
    • J
      mac80211: add key flag for management keys · e548c49e
      Johannes Berg 提交于
      Mark keys that might be used to receive management
      frames so drivers can fall back on software crypto
      for them if they don't support hardware offload.
      As the new flag is only set correctly for RX keys
      and the existing IEEE80211_KEY_FLAG_SW_MGMT flag
      can only affect TX, also rename the latter to
      IEEE80211_KEY_FLAG_SW_MGMT_TX.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      e548c49e
  10. 11 8月, 2012 1 次提交
    • F
      ath9k: fix interrupt storms on queued hardware reset · f41a9b3b
      Felix Fietkau 提交于
      commit b74713d0
      "ath9k: Handle fatal interrupts properly" introduced a race condition, where
      IRQs are being left enabled, however the irq handler returns IRQ_HANDLED
      while the reset is still queued without addressing the IRQ cause.
      This leads to an IRQ storm that prevents the system from even getting to
      the reset code.
      
      Fix this by disabling IRQs in the handler without touching intr_ref_cnt.
      
      Cc: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
      Cc: Sujith Manoharan <c_manoha@qca.qualcomm.com>
      Signed-off-by: NFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      f41a9b3b
  11. 31 7月, 2012 1 次提交
  12. 18 7月, 2012 14 次提交
  13. 13 7月, 2012 1 次提交
    • M
      ath9k: Add WoW related mac80211 callbacks · b11e640a
      Mohammed Shafi Shajakhan 提交于
      add suspend/resume/set_wakeup callbacks to the driver
      
      *suspend
      
      - bail out only if all the conditions for configuring WoW.
        is fine, currently multivif case is not handled
      - check for associated state.
      - map wow triggers from user space data.
      - add deauth/disassoc pattern and user defined pattern,
        for the later a list is maintained.
      - store the interrupt mask before suspend, enabled beacon
        miss interrupt for WoW.
      - configure WoW in the hardware by calling ath9k_hw_wow_enable.
      
      *resume
      
      - restore the interrupts based on the interrupt mask
        stored before suspend.
      - call ath9k_hw_wow_wakeup to configure/restore the hardware.
      - after wow wakeup clear away WoW events and query the
        WoW wakeup reason from the status register
      
      *set_wakeup
      
      - to call 'device_set_wakeup_enable' from cfg80211/mac80211
        when wow is configured and as per Rafael/Johannnes the
        right way to do so rather in the driver suspend/resume
        call back
      
      Cc: Senthil Balasubramanian <senthilb@qca.qualcomm.com>
      Cc: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
      Cc: vadivel@qca.qualcomm.com
      Signed-off-by: NMohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      b11e640a
  14. 10 7月, 2012 3 次提交
  15. 28 6月, 2012 1 次提交
  16. 27 6月, 2012 2 次提交
    • S
      ath9k: Fix lockdep splat · fad29cd2
      Sujith Manoharan 提交于
      Cancel the MCI work only when MCI is actually enabled.
      Fixes this:
      
      [96833.124051] Call Trace:
      [96833.124060]  [<ffffffff810afaf8>] __lock_acquire+0x1518/0x1e40
      [96833.124065]  [<ffffffff810ad126>] ? mark_held_locks+0x86/0x110
      [96833.124069]  [<ffffffff810ad3ad>] ? trace_hardirqs_on+0xd/0x10
      [96833.124073]  [<ffffffff814464f0>] ? _raw_spin_unlock_irq+0x30/0x70
      [96833.124078]  [<ffffffff81072968>] ? wait_on_cpu_work+0x98/0xc0
      [96833.124082]  [<ffffffff810b0a11>] lock_acquire+0xa1/0x150
      [96833.124085]  [<ffffffff81072990>] ? wait_on_cpu_work+0xc0/0xc0
      [96833.124088]  [<ffffffff81072990>] ? wait_on_cpu_work+0xc0/0xc0
      [96833.124092]  [<ffffffff810729e2>] wait_on_work+0x52/0x120
      [96833.124095]  [<ffffffff81072990>] ? wait_on_cpu_work+0xc0/0xc0
      [96833.124099]  [<ffffffff81063b3f>] ? del_timer+0x7f/0x110
      [96833.124102]  [<ffffffff81072c13>] __cancel_work_timer+0x83/0x130
      [96833.124106]  [<ffffffff81072cf0>] cancel_work_sync+0x10/0x20
      [96833.124113]  [<ffffffffa065b5cd>] __ath_cancel_work+0x4d/0x60 [ath9k]
      [96833.124119]  [<ffffffffa065cf28>] ath9k_config+0x458/0x680 [ath9k]
      [96833.124125]  [<ffffffffa065dd1e>] ? ath9k_flush+0x6e/0x1d0 [ath9k]
      [96833.124129]  [<ffffffff8144394d>] ? __mutex_unlock_slowpath+0x10d/0x190
      [96833.124146]  [<ffffffffa056c7b5>] ieee80211_hw_config+0x135/0x2a0 [mac80211]
      [96833.124163]  [<ffffffffa057ebbb>] ieee80211_do_open+0x67b/0xc50 [mac80211]
      [96833.124178]  [<ffffffffa057f1fd>] ieee80211_open+0x6d/0x80 [mac80211]
      [96833.124183]  [<ffffffff8137a44f>] __dev_open+0x9f/0xf0
      [96833.124187]  [<ffffffff8137a701>] __dev_change_flags+0xa1/0x180
      [96833.124190]  [<ffffffff8137a898>] dev_change_flags+0x28/0x70
      [96833.124195]  [<ffffffff813e1179>] devinet_ioctl+0x659/0x780
      [96833.124199]  [<ffffffff8137aea0>] ? dev_ioctl+0x210/0x6d0
      [96833.124203]  [<ffffffff813e1db5>] inet_ioctl+0x75/0x90
      [96833.124208]  [<ffffffff8135e0e0>] sock_do_ioctl+0x30/0x70
      [96833.124211]  [<ffffffff8135e3dd>] sock_ioctl+0x7d/0x2c0
      [96833.124218]  [<ffffffff81193c39>] do_vfs_ioctl+0x99/0x580
      [96833.124222]  [<ffffffff81447415>] ? sysret_check+0x22/0x5d
      [96833.124226]  [<ffffffff811941b9>] sys_ioctl+0x99/0xa0
      [96833.124230]  [<ffffffff814473e9>] system_call_fastpath+0x16/0x1b
      Signed-off-by: NSujith Manoharan <c_manoha@qca.qualcomm.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      fad29cd2
    • S
      ath9k: raise aggregation limit to 64k for HT IBSS · 313eb87f
      Sven Eckelmann 提交于
      mac80211 adds stations in HT IBSS as soon as a frame comes by,
      even if the HT capabilities are not known yet (they are often
      received later, e.g. in beacons). So far, ampdu factor/density
      are only calculated when the station is initially added.
      
      This patch changes this to update ampdu factor/density settings
      when starting a blockack session.
      
      Using this patch, we had performance boosts from 60 to 150 MBit/s
      between two 2x2 Atheros devices in 5 GHz HT IBSS mode.
      Signed-off-by: NSven Eckelmann <sven@narfation.org>
      Signed-off-by: NSimon Wunderlich <siwu@hrz.tu-chemnitz.de>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      313eb87f
  17. 21 6月, 2012 1 次提交