1. 13 1月, 2010 2 次提交
    • K
      mac80211: add U-APSD client support · ab13315a
      Kalle Valo 提交于
      Add Unscheduled Automatic Power-Save Delivery (U-APSD) client support. The
      idea is that the data frames from the client trigger AP to send the buffered
      frames with ACs which have U-APSD enabled. This decreases latency and makes it
      possible to save even more power.
      
      Driver needs to use IEEE80211_HW_UAPSD to enable the feature. The current
      implementation assumes that firmware takes care of the wakeup and
      hardware needing IEEE80211_HW_PS_NULLFUNC_STACK is not yet supported.
      
      Tested with wl1251 on a Nokia N900 and Cisco Aironet 1231G AP and running
      various test traffic with ping.
      Signed-off-by: NKalle Valo <kalle.valo@nokia.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      ab13315a
    • J
      mac80211: fix a few work bugs · 81ac3462
      Johannes Berg 提交于
      Kalle and Lennert reported problems with the new work
      code, and at least Kalle's problem I was able to trace
      to a missing jiffies initialisation.
      
      I also ran into a problem where occasionally I couldn't
      connect, which seems fixed with kicking the work items
      after scanning.
      
      Finally, also add some sanity checking code to verify
      that we're not adding work items while an interface is
      down -- that case could lead to something similar to
      what Lennert was seeing.
      
      There still seems to be a race condition that we're
      trying to figure out separately.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Tested-by: NLennert Buytenhek <buytenh@marvell.com>
      Tested-by: NKalle Valo <kalle.valo@iki.fi>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      81ac3462
  2. 06 1月, 2010 1 次提交
    • K
      mac80211: fix a warning related to pointer conversion to u64 cookie · 1990ca61
      Kalle Valo 提交于
      On a 32 bit system (in this case an omap 3430 system) gcc warned about
      pointer conversion:
      
      net/mac80211/work.c: In function 'ieee80211_remain_on_channel_timeout':
      net/mac80211/work.c:534: warning: cast from pointer to integer of different size
      net/mac80211/work.c: In function 'ieee80211_remain_done':
      net/mac80211/work.c:1030: warning: cast from pointer to integer of different size
      net/mac80211/work.c: In function 'ieee80211_wk_remain_on_channel':
      net/mac80211/work.c:1056: warning: cast from pointer to integer of different size
      net/mac80211/work.c: In function 'ieee80211_wk_cancel_remain_on_channel':
      net/mac80211/work.c:1072: warning: cast from pointer to integer of different size
      
      Fix it by casting the pointers to unsigned long instead. This makes the
      compiler happy again.
      
      Compile-tested only.
      
      Cc: Johannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NKalle Valo <kalle.valo@nokia.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      1990ca61
  3. 29 12月, 2009 8 次提交