1. 22 12月, 2009 1 次提交
    • J
      mac80211: make station management completely depend on vif · abe60632
      Johannes Berg 提交于
      The station management currently uses the virtual
      interface, but you cannot add the same station to
      multiple virtual interfaces if you're communicating
      with it in multiple ways.
      
      This restriction should be lifted so that in the
      future we can, for instance, support bluetooth 3
      with an access point that mac80211 is already
      associated to.
      
      We can do that by requiring all sta_info_get users
      to provide the virtual interface and making the RX
      code aware that an address may match more than one
      station struct. Thanks to the previous patches this
      one isn't all that large and except for the RX and
      TX status paths changes has low complexity.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      abe60632
  2. 19 11月, 2009 1 次提交
  3. 14 11月, 2009 2 次提交
  4. 12 11月, 2009 4 次提交
  5. 14 8月, 2009 1 次提交
  6. 21 5月, 2009 1 次提交
    • J
      mac80211: cancel/restart all timers across suspend/resume · 5bb644a0
      Johannes Berg 提交于
      We forgot to cancel all timers in mac80211 when suspending.
      In particular we forgot to deal with some things that can
      cause hardware reconfiguration -- while it is down.
      
      While at it we go ahead and add a warning in ieee80211_sta_work()
      if its run while the suspend->resume cycle is in effect. This
      should not happen and if it does it would indicate there is
      a bug lurking in either mac80211 or mac80211 drivers.
      
      With this now wpa_supplicant doesn't blink when I go to suspend
      and resume where as before there where issues with some timers
      running during the suspend->resume cycle. This caused a lot of
      incorrect assumptions and would at times bring back the device
      in an incoherent, but mostly recoverable, state.
      Signed-off-by: NLuis R. Rodriguez <lrodriguez@atheros.com>
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      5bb644a0
  7. 30 1月, 2009 3 次提交
  8. 13 1月, 2009 1 次提交
  9. 28 10月, 2008 1 次提交
  10. 16 9月, 2008 3 次提交
  11. 12 9月, 2008 2 次提交
  12. 23 8月, 2008 2 次提交
  13. 15 5月, 2008 1 次提交
    • J
      mac80211: proper STA info locking · 07346f81
      Johannes Berg 提交于
      As discussed earlier, we can unify locking in struct sta_info
      and use just a single spinlock protecting all members of the
      structure that need protection. Many don't, but one of the
      especially bad ones is the 'flags' member that can currently
      be clobbered when RX and TX is being processed on different
      CPUs at the same time.
      
      Because having four spinlocks for different, mostly exclusive
      parts of a single structure is overkill, this patch also kills
      the ampdu and mesh plink spinlocks and uses just a single one
      for everything. Because none of the spinlocks are nested, this
      is safe.
      
      It remains to be seen whether or not we should make the sta
      flags use atomic bit operations instead, for now though this
      is a safe thing and using atomic operations instead will be
      very simple using the new static inline functions this patch
      introduces for accessing sta->flags.
      
      Since spin_lock_bh() is used with this lock, there shouldn't
      be any contention even if aggregation is enabled at around the
      same time as both requires frame transmission/reception which
      is in a bh context.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Cc: Tomas Winkler <tomasw@gmail.com>
      Cc: Ron Rindjunsky <ron.rindjunsky@intel.com>
      Cc: Luis Carlos Cobo <luisca@cozybit.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      07346f81
  14. 09 4月, 2008 2 次提交
  15. 02 4月, 2008 1 次提交
  16. 07 3月, 2008 10 次提交