1. 19 10月, 2012 1 次提交
    • M
      mac80211: make client powersave independent of interface type · d012a605
      Marco Porsch 提交于
      This patch prepares mac80211 for a later implementation of mesh or
      ad-hoc powersave clients.
      The structures related to powersave (buffer, TIM map, counters) are
      moved from the AP-specific interface structure to a generic structure
      that can be embedded into any interface type.
      The functions related to powersave are prepared to allow easy
      extension with different interface types. For example with:
      
      + } else if (sta->sdata->vif.type == NL80211_IFTYPE_MESH_POINT) {
      +         ps = &sdata->u.mesh.ps;
      
      Some references to the AP's beacon structure are removed where they
      were obviously not used.
      
      The patch compiles without warning and has been briefly tested as AP
      interface with one client in PS mode.
      Signed-off-by: NMarco Porsch <marco.porsch@etit.tu-chemnitz.de>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      d012a605
  2. 17 10月, 2012 2 次提交
  3. 21 9月, 2012 1 次提交
  4. 10 9月, 2012 1 次提交
  5. 24 6月, 2012 1 次提交
    • J
      mac80211: clean up debugging · bdcbd8e0
      Johannes Berg 提交于
      There are a few things that make the logging and
      debugging in mac80211 less useful than it should
      be right now:
       * a lot of messages should be pr_info, not pr_debug
       * wholesale use of pr_debug makes it require *both*
         Kconfig and dynamic configuration
       * there are still a lot of ifdefs
       * the style is very inconsistent, sometimes the
         sdata->name is printed in front
      
      Clean up everything, introducing new macros and
      separating out the station MLME debugging into
      a new Kconfig symbol.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      bdcbd8e0
  6. 06 6月, 2012 2 次提交
  7. 05 6月, 2012 1 次提交
  8. 10 5月, 2012 1 次提交
    • J
      mac80211: Convert compare_ether_addr to ether_addr_equal · b203ca39
      Joe Perches 提交于
      Use the new bool function ether_addr_equal to add
      some clarity and reduce the likelihood for misuse
      of compare_ether_addr for sorting.
      
      Done via cocci script:
      
      $ cat compare_ether_addr.cocci
      @@
      expression a,b;
      @@
      -	!compare_ether_addr(a, b)
      +	ether_addr_equal(a, b)
      
      @@
      expression a,b;
      @@
      -	compare_ether_addr(a, b)
      +	!ether_addr_equal(a, b)
      
      @@
      expression a,b;
      @@
      -	!ether_addr_equal(a, b) == 0
      +	ether_addr_equal(a, b)
      
      @@
      expression a,b;
      @@
      -	!ether_addr_equal(a, b) != 0
      +	!ether_addr_equal(a, b)
      
      @@
      expression a,b;
      @@
      -	ether_addr_equal(a, b) == 0
      +	!ether_addr_equal(a, b)
      
      @@
      expression a,b;
      @@
      -	ether_addr_equal(a, b) != 0
      +	ether_addr_equal(a, b)
      
      @@
      expression a,b;
      @@
      -	!!ether_addr_equal(a, b)
      +	ether_addr_equal(a, b)
      Signed-off-by: NJoe Perches <joe@perches.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b203ca39
  9. 25 4月, 2012 2 次提交
  10. 10 4月, 2012 1 次提交
  11. 06 3月, 2012 1 次提交
  12. 01 3月, 2012 1 次提交
  13. 28 2月, 2012 1 次提交
  14. 09 2月, 2012 1 次提交
  15. 07 2月, 2012 5 次提交
  16. 31 1月, 2012 4 次提交
  17. 25 1月, 2012 2 次提交
  18. 17 1月, 2012 1 次提交
  19. 13 1月, 2012 1 次提交
  20. 05 1月, 2012 1 次提交
    • M
      mac80211: fix kernel panic in IBSS due to a regression · e46a2cf9
      Mohammed Shafi Shajakhan 提交于
      kernel panic occurs when we create an IBSS mode and leave it for
      sometime without any joiner and this is introduced by the
      commit ec2b774e where we don't
      put proper braces for 'list_for_each_entry_safe' and we pass an
      invalid 'sta' pointer to __sta_info_destroy
      
      EIP is at __list_add+0xe/0xa0
      EAX: f3b63db4 EBX: 00000000 ECX: eab88c1c EDX: 00000000
      ESI: 00000000 EDI: 00000246 EBP: f3b63d80 ESP: f3b63d58
      DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
      Process kworker/u:2 (pid: 198, ti=f3b62000 task=f3afbea0
      task.ti=f3b62000)
      Stack:
      00000000 00000000 f9ef9821 00000000 00000000 eab88c30
      f3b63d80 c017f623
      eab88bf0 eab88bf0 f3b63dd0 c066f925 00000000 00000002
      00000000 f9ef9821
      f3b63da0 c0180a2b eab88c1c eab88c30 00000002 f3afbea0
      eab88bf4 f3b63db4
       Call Trace:
      [<f9ef9821>] ? __ieee80211_stop_tx_ba_session+0x31/0x60
      [mac80211]
      [<c017f623>] ? debug_mutex_add_waiter+0x23/0x60
      [<c066f925>] __mutex_lock_common+0xd5/0x390
      [<f9ef9821>] ? __ieee80211_stop_tx_ba_session+0x31/0x60
      [mac80211]
      [<c0180a2b>] ? trace_hardirqs_off+0xb/0x10
      [<c066fd37>] mutex_lock_nested+0x47/0x60
      [<f9ef9821>] ? __ieee80211_stop_tx_ba_session+0x31/0x60
      [mac80211]
      [<f9ef9821>] __ieee80211_stop_tx_ba_session+0x31/0x60
      [mac80211]
      [<f9ef8989>] ieee80211_sta_tear_down_BA_sessions+0x39/0x60 [mac80211]
      [<f9ef1a67>] __sta_info_destroy+0x57/0x780 [mac80211]
      [<f9ef2223>] ieee80211_sta_expire+0x93/0xb0 [mac80211]
      [<f9efc8f6>] ieee80211_ibss_work+0x2d6/0x530 [mac80211]
      
      Cc: Marek Lindner <lindner_marek@yahoo.de>
      Signed-off-by: NMohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      e46a2cf9
  21. 22 12月, 2011 1 次提交
  22. 20 12月, 2011 1 次提交
  23. 16 12月, 2011 5 次提交
  24. 14 12月, 2011 1 次提交
    • Y
      mac80211: Purge A-MPDU TX queues before station destructions · 42624d49
      Yogesh Ashok Powar 提交于
      When a station leaves suddenly while ampdu traffic to that station is still
      running, there is a possibility that the ampdu pending queues are not freed due
      to a race condition leading to memory leaks. In '__sta_info_destroy' when we
      attempt to destroy the ampdu sessions in 'ieee80211_sta_tear_down_BA_sessions',
      the driver calls 'ieee80211_stop_tx_ba_cb_irqsafe' to delete the ampdu
      structures (tid_tx) and splice the pending queues and this job gets queued in
      sdata workqueue. However, the sta entry can get destroyed before the above work
      gets scheduled and hence the race.
      
      Purging the queues and freeing the tid_tx to avoid the leak. The better solution
      would be to fix the race, but that can be taken up in a separate patch.
      Signed-off-by: NNishant Sarmukadam <nishants@marvell.com>
      Signed-off-by: NYogesh Ashok Powar <yogeshp@marvell.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      42624d49
  25. 29 11月, 2011 1 次提交