1. 03 Jun, 2010 1 commit
  2. 12 May, 2010 1 commit
  3. 27 Apr, 2010 1 commit
  4. 08 Apr, 2010 1 commit
  5. 08 Feb, 2010 2 commits
    • Kalle Valo's avatar
      mac80211: remove get_tx_stats() driver op · 349e6b72
      Kalle Valo authored
      
      
      get_tx_stats() driver operation is not currently used anywhere in mac80211
      and there are no plans to use it in the not-so-near future. So it can go
      without anyone missing it.
      Signed-off-by: default avatarKalle Valo <kalle.valo@iki.fi>
      Acked-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      349e6b72
    • Johannes Berg's avatar
      mac80211: allow station add/remove to sleep · 34e89507
      Johannes Berg authored
      
      
      Many drivers would like to sleep during station
      addition and removal, and currently have a high
      complexity there from not being able to.
      
      This introduces two new callbacks sta_add() and
      sta_remove() that drivers can implement instead
      of using sta_notify() and that can sleep, and
      the new sta_add() callback is also allowed to
      fail.
      
      The reason we didn't do this previously is that
      the IBSS code wants to insert stations from the
      RX path, which is a tasklet, so cannot sleep.
      This patch will keep the station allocation in
      that path, but moves adding the station to the
      driver out of line. Since the addition can now
      fail, we can have IBSS peer structs the driver
      rejected -- in that case we still talk to the
      station but never tell the driver about it in
      the control.sta pointer. If there will ever be
      a driver that has a low limit on the number of
      stations and that cannot talk to any stations
      that are not known to it, we need to do come up
      with a new strategy of handling larger IBSSs,
      maybe quicker expiry or rejecting peers.
      Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      34e89507
  6. 26 Jan, 2010 1 commit
    • Zhu Yi's avatar
      mac80211: fix NULL pointer dereference when ftrace is enabled · 3092ad05
      Zhu Yi authored
      
      
      I got below kernel oops when I try to bring down the network interface if
      ftrace is enabled. The root cause is drv_ampdu_action() is passed with a
      NULL ssn pointer in the BA session tear down case. We need to check and
      avoid dereferencing it in trace entry assignment.
      
      BUG: unable to handle kernel NULL pointer dereference
      Modules linked in: at (null)
      IP: [<f98fe02a>] ftrace_raw_event_drv_ampdu_action+0x10a/0x160 [mac80211]
      *pde = 00000000
      Oops: 0000 [#1] SMP DEBUG_PAGEALLOC
      [...]
      Call Trace:
       [<f98fdf20>] ? ftrace_raw_event_drv_ampdu_action+0x0/0x160 [mac80211]
       [<f98dac4c>] ? __ieee80211_stop_rx_ba_session+0xfc/0x220 [mac80211]
       [<f98d97fb>] ? ieee80211_sta_tear_down_BA_sessions+0x3b/0x50 [mac80211]
       [<f98dc6f6>] ? ieee80211_set_disassoc+0xe6/0x230 [mac80211]
       [<f98dc6ac>] ? ieee80211_set_disassoc+0x9c/0x230 [mac80211]
       [<f98dcbb8>] ? ieee80211_mgd_deauth+0x158/0x170 [mac80211]
       [<f98e4bdb>] ? ieee80211_deauth+0x1b/0x20 [mac80211]
       [<f8987f49>] ? __cfg80211_mlme_deauth+0xe9/0x120 [cfg80211]
       [<f898b870>] ? __cfg80211_disconnect+0x170/0x1d0 [cfg80211]
      
      Cc: Johannes Berg <johannes@sipsolutions.net>
      Cc: stable@kernel.org
      Signed-off-by: default avatarZhu Yi <yi.zhu@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      3092ad05
  7. 22 Jan, 2010 1 commit
  8. 12 Jan, 2010 1 commit
  9. 28 Dec, 2009 1 commit
  10. 22 Dec, 2009 1 commit
  11. 21 Dec, 2009 2 commits
  12. 28 Nov, 2009 1 commit
  13. 18 Nov, 2009 1 commit
  14. 20 Aug, 2009 1 commit
    • Johannes Berg's avatar
      mac80211: allow configure_filter callback to sleep · 3ac64bee
      Johannes Berg authored
      
      
      Over time, a whole bunch of drivers have come up
      with their own scheme to delay the configure_filter
      operation to a workqueue. To be able to simplify
      things, allow configure_filter to sleep, and add
      a new prepare_multicast callback that drivers that
      need the multicast address list implement. This new
      callback must be atomic, but most drivers either
      don't care or just calculate a hash which can be
      done atomically and then uploaded to the hardware
      non-atomically.
      
      A cursory look suggests that at76c50x-usb, ar9170,
      mwl8k (which is actually very broken now), rt2x00,
      wl1251, wl1271 and zd1211 should make use of this
      new capability.
      Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      3ac64bee
  15. 24 Jul, 2009 2 commits
    • Christian Lamparter's avatar
      mac80211: fix spare warnings in driver-trace.h · f742880c
      Christian Lamparter authored
      
      
      This patch fixes the following errors:
      
      driver-trace.h:148:1: error: cannot size expression
      driver-trace.h:148:1: error: cannot size expression
      [...]
      driver-trace.h:222:1: error: cannot size expression
      driver-trace.h:71:1: error: incompatible types for operation (<)
      driver-trace.h:71:1:    left side has type void *<noident>
      driver-trace.h:71:1:    right side has type int
      driver-trace.h:99:1: error: incompatible types for operation (<)
      driver-trace.h:99:1:    left side has type void *<noident>
      driver-trace.h:99:1:    right side has type int
      driver-trace.h:148:1: error: incompatible types for operation (<)
      driver-trace.h:148:1:    left side has type void *<noident>
      driver-trace.h:148:1:    right side has type int
      driver-trace.h:222:1: error: cannot size expression
      driver-trace.h:248:1: error: incompatible types for operation (<)
      driver-trace.h:248:1:    left side has type void *<noident>
      driver-trace.h:248:1:    right side has type int
      driver-trace.h:446:1: error: incompatible types for operation (<)
      driver-trace.h:446:1:    left side has type void *<noident>
      driver-trace.h:446:1:    right side has type int
      Signed-off-by: default avatarChristian Lamparter <chunkeey@web.de>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      f742880c
    • Johannes Berg's avatar
      mac80211: driver operation debugging · 0a2b8bb2
      Johannes Berg authored
      
      
      This makes mac80211 use the event tracing framework
      to log all operations as given to the driver. This
      will need to be extended with more information, but
      as a start it should be good.
      Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      0a2b8bb2