1. 29 Jan, 2009 16 commits
  2. 16 Jan, 2009 1 commit
  3. 19 Dec, 2008 3 commits
    • Kalle Valo's avatar
      mac80211: implement dynamic power save · 520eb820
      Kalle Valo authored
      
      
      This patch implements dynamic power save for mac80211. Basically it
      means enabling power save mode after an idle period. Implementing it
      dynamically gives a good compromise of low power consumption and low
      latency. Some hardware have support for this in firmware, but some
      require the host to do it.
      
      The dynamic power save is implemented by adding an timeout to
      ieee80211_subif_start_xmit(). The timeout can be enabled from userspace
      with Wireless Extensions. For example, the command below enables the
      dynamic power save and sets the time timeout to 500 ms:
      
      iwconfig wlan0 power timeout 500m
      
      Power save now only works with devices which handle power save in firmware.
      It's also disabled by default and the heuristics when and how to enable is
      considered as a policy decision and will be left for the userspace to handle.
      In case the firmware has support for this, drivers can disable this feature
      with IEEE80211_HW_NO_STACK_DYNAMIC_PS.
      
      Big thanks to Johannes Berg for the help with the design and code.
      Signed-off-by: default avatarKalle Valo <kalle.valo@nokia.com>
      Acked-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      520eb820
    • Jouni Malinen's avatar
      mac80211: Add HT rates into RX status reporting · 0fb8ca45
      Jouni Malinen authored
      
      
      This patch adds option for HT-enabled drivers to report HT rates
      (HT20/HT40, short GI, MCS index) to mac80211. These rates are
      currently not in the rate table, so the rate_idx is used to indicate
      MCS index.
      Signed-off-by: default avatarJouni Malinen <jouni.malinen@atheros.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      0fb8ca45
    • Sujith's avatar
      mac80211: Fix HT channel selection · 094d05dc
      Sujith authored
      
      
      HT management is done differently for AP and STA modes, unify
      to just the ->config() callback since HT is fundamentally a
      PHY property and cannot be per-BSS.
      
      Rename enum nl80211_sec_chan_offset as nl80211_channel_type to denote
      the channel type ( NO_HT, HT20, HT40+, HT40- ).
      Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: default avatarSujith <Sujith.Manoharan@atheros.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      094d05dc
  4. 12 Dec, 2008 3 commits
  5. 05 Dec, 2008 3 commits
  6. 21 Nov, 2008 3 commits
  7. 18 Nov, 2008 1 commit
    • Johannes Berg's avatar
      mac80211: remove ieee80211_notify_mac · 8e3bad65
      Johannes Berg authored
      Before ieee80211_notify_mac() was added, it was presented with the
      use case of using it to tell mac80211 that the association may
      have been lost because the firmware crashed/reset.
      
      Since then, it has also been used by iwlwifi to (slightly) speed
      up re-association after resume, a workaround around the fact that
      mac80211 has no suspend/resume handling yet. It is also not used
      by any other drivers, so clearly it cannot be necessary for "good
      enough" suspend/resume.
      
      Unfortunately, the callback suffers from a severe problem: It only
      works for station mode. If suspend/resume happens while in IBSS or
      any other mode (but station), then the callback is pointless.
      
      Recently, it has created a number of locking issues, first because
      it required rtnl locking rather than RCU due to calling sleeping
      functions within the critical section, and now because it's called
      by iwlwifi from the mac80211 workqueue that may not use the rtnl
      because it is flushed under rtnl.
      (cf. http://bugzilla.kernel.org/show_bug.cgi?id=12046
      
      )
      
      I think, therefore, that we should take a step back, remove it
      entirely for now and add the small feature it provided properly.
      For suspend and resume we will need to introduce new hooks, and for
      the case where the firmware was reset the driver will probably
      simply just pretend it has done a suspend/resume cycle to get
      mac80211 to reprogram the hardware completely, not just try to
      connect to the current AP again in station mode. When doing so, we
      will need to take into account locking issues and possibly defer
      to schedule_work from within mac80211 for the resume operation,
      while the suspend operation must be done directly.
      
      Proper suspend/resume should also not necessarily try to reconnect
      to the current AP, the time spent in suspend may have been short
      enough to not be disconnected from the AP, mac80211 will detect
      that the AP went out of range quickly if it did, and if the
      association is lost then the AP will disassoc as soon as a data
      frame is sent. We might also take into account WWOL then, and
      have mac80211 program the hardware into such a mode where it is
      available and requested.
      Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      8e3bad65
  8. 10 Nov, 2008 2 commits
  9. 31 Oct, 2008 8 commits