1. 30 10月, 2012 2 次提交
  2. 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
  3. 06 10月, 2012 2 次提交
  4. 12 9月, 2012 2 次提交
  5. 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
  6. 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
  7. 31 7月, 2012 1 次提交
  8. 18 7月, 2012 14 次提交
  9. 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
  10. 10 7月, 2012 3 次提交
  11. 28 6月, 2012 1 次提交
  12. 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
  13. 21 6月, 2012 1 次提交
  14. 14 6月, 2012 3 次提交
  15. 12 6月, 2012 2 次提交
    • M
      ath9k: remove incompatible IBSS interface check in change_iface · a23415fd
      Mohammed Shafi Shajakhan 提交于
      'cfg80211: fix interface combinations' ensures that if an interface
      type is not advertised by the driver in any of the interface combinations
      (via ieee80211_iface_combination) then it shall be treated as a single
      incompatible interface. if there are more than one interfaces present
      and changing them to incompatible interface type is not possible.
      These checks will be properly handled by cfg80211_change_iface ->
      cfg80211_can_change_interface.
      
      this patch is dependent on 'cfg80211: fix interface combinations'
      Signed-off-by: NMohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      a23415fd
    • M
      ath9k: Fix a WARNING on suspend/resume with IBSS · 2031b4c2
      Mohammed Shafi Shajakhan 提交于
      this patch is dependent on the patch "cfg80211: fix interface
      combinations"
      
      In ath9k currently we have ADHOC interface as a single incompatible
      interface. when drv_add_interface is called during resume we got to
      consider number of vifs already present in addition to checking the
      drivers 'opmode' information about ADHOC.  we incorrectly assume
      an ADHOC interface is already present. Then we may miss some driver
      specific data for the ADHOC interface after resume.
      
      The above mentioned checks can be removed from the driver,
      as the patch 'cfg80211: fix interface combinations' ensures that
      if an interface type is not advertised by the driver in any of the
      interface combinations(via ieee80211_iface_combination) then it shall
      be treated as a single incompatible interface. Fixes the following
      warning on suspend/resume with ibss interface.
      
              ath: phy0: Cannot create ADHOC interface when other
              interfaces already exist.
              WARNING: at net/mac80211/driver-ops.h:12
              ieee80211_reconfig+0x1882/0x1ca0 [mac80211]()
              Hardware name: 2842RK1
              wlan2:  Failed check-sdata-in-driver check, flags: 0x0
      
              Call Trace:
              [<c01361b2>] warn_slowpath_common+0x72/0xa0
              [<f8aaa7c2>] ? ieee80211_reconfig+0x1882/0x1ca0
              [mac80211]
              [<f8aaa7c2>] ? ieee80211_reconfig+0x1882/0x1ca0
              [mac80211]
              [<c0136283>] warn_slowpath_fmt+0x33/0x40
              [<f8aaa7c2>] ieee80211_reconfig+0x1882/0x1ca0 [mac80211]
              [<c06c1d1a>] ? mutex_lock_nested+0x23a/0x2f0
              [<f8a95097>] ieee80211_resume+0x27/0x70 [mac80211]
              [<fd177edf>] wiphy_resume+0x8f/0xa0 [cfg80211]
      
      Cc: stable@vger.kernel.org
      Cc: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
      Signed-off-by: NMohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      2031b4c2
  16. 07 6月, 2012 3 次提交