1. 07 5月, 2009 1 次提交
    • J
      mac80211: clean up beacon interval settings · 57c4d7b4
      Johannes Berg 提交于
      We currently have two beacon interval configuration knobs:
      hw.conf.beacon_int and vif.bss_info.beacon_int. This is
      rather confusing, even though the former is used when we
      beacon ourselves and the latter when we are associated to
      an AP.
      
      This just deprecates the hw.conf.beacon_int setting in favour
      of always using vif.bss_info.beacon_int. Since it touches all
      the beaconing IBSS code anyway, we can also add support for
      the cfg80211 IBSS beacon interval configuration easily.
      
      NOTE: The hw.conf.beacon_int setting is retained for now due
            to drivers still using it -- I couldn't untangle all
            drivers, some are updated in this patch.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      57c4d7b4
  2. 25 4月, 2009 1 次提交
    • J
      wireless: remove some (bogus?) 'may be used uninitialized' warnings · d3feaf5a
      John W. Linville 提交于
      net/mac80211/tx.c: In function ‘ieee80211_tx_h_select_key’:
      net/mac80211/tx.c:448: warning: ‘key’ may be used uninitialized in this function
      
      drivers/net/wireless/ath/ath9k/rc.c: In function ‘ath_rc_rate_getidx’:
      drivers/net/wireless/ath/ath9k/rc.c:815: warning: ‘nextindex’ may be used uninitialized in this function
      
      drivers/net/wireless/hostap/hostap_plx.c: In function ‘prism2_plx_probe’:
      drivers/net/wireless/hostap/hostap_plx.c:438: warning: ‘cor_index’ may be used uninitialized in this function
      drivers/net/wireless/hostap/hostap_plx.c:438: warning: ‘cor_offset’ may be used uninitialized in this function
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      d3feaf5a
  3. 23 4月, 2009 3 次提交
  4. 28 3月, 2009 9 次提交
  5. 17 3月, 2009 1 次提交
  6. 28 2月, 2009 2 次提交
    • J
      mac80211: split IBSS/managed code · 46900298
      Johannes Berg 提交于
      This patch splits out the ibss code and data from managed (station) mode.
      The reason to do this is to better separate the state machines, and have
      the code be contained better so it gets easier to determine what exactly
      a given change will affect, that in turn makes it easier to understand.
      
      This is quite some churn, especially because I split sdata->u.sta into
      sdata->u.mgd and sdata->u.ibss, but I think it's easier to maintain that
      way. I've also shuffled around some code -- null function sending is only
      applicable to managed interfaces so put that into that file, some other
      functions are needed from various places so put them into util, and also
      rearranged the prototypes in ieee80211_i.h accordingly.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      46900298
    • J
      mac80211: fix aggregation for hardware with ampdu queues · 96f5e66e
      Johannes Berg 提交于
      Hardware with AMPDU queues currently has broken aggregation.
      
      This patch fixes it by making all A-MPDUs go over the regular AC queues,
      but keeping track of the hardware queues in mac80211. As a first rough
      version, it actually stops the AC queue for extended periods of time,
      which can be removed by adding buffering internal to mac80211, but is
      currently not a huge problem because people rarely use multiple TIDs
      that are in the same AC (and iwlwifi currently doesn't operate as AP).
      
      This is a short-term fix, my current medium-term plan, which I hope to
      execute soon as well, but am not sure can finish before .30, looks like
      this:
       1) rework the internal queuing layer in mac80211 that we use for
          fragments if the driver stopped queue in the middle of a fragmented
          frame to be able to queue more frames at once (rather than just a
          single frame with its fragments)
       2) instead of stopping the entire AC queue, queue up the frames in a
          per-station/per-TID queue during aggregation session initiation,
          when the session has come up take all those frames and put them
          onto the queue from 1)
       3) push the ampdu queue layer abstraction this patch introduces in
          mac80211 into the driver, and remove the virtual queue stuff from
          mac80211 again
      
      This plan will probably also affect ath9k in that mac80211 queues the
      frames instead of passing them down, even when there are no ampdu queues.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      96f5e66e
  7. 14 2月, 2009 1 次提交
  8. 12 2月, 2009 1 次提交
  9. 10 2月, 2009 1 次提交
    • L
      mac80211: do not TX injected frames when not allowed · 47f4d887
      Luis R. Rodriguez 提交于
      Monitor mode is able to TX by using injected frames. We should
      not allow injected frames to be sent unless allowed by regulatory
      rules. Since AP mode uses a monitor interfaces to transmit
      management frames we have to take care to not break AP mode as
      well while resolving this. We can deal with this by allowing compliant
      APs solutions to inform mac80211 if their monitor interface is
      intended to be used for an AP by setting a cfg80211 flag for the
      monitor interface. hostapd, for example, currently does its own
      checks to ensure AP mode is not used on channels which require radar
      detection. Once such solutions are available it can can add this
      flag for monitor interfaces.
      Acked-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NLuis R. Rodriguez <lrodriguez@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      47f4d887
  10. 30 1月, 2009 7 次提交
  11. 23 1月, 2009 1 次提交
  12. 20 12月, 2008 1 次提交
    • K
      mac80211: implement dynamic power save · 520eb820
      Kalle Valo 提交于
      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: NKalle Valo <kalle.valo@nokia.com>
      Acked-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      520eb820
  13. 13 12月, 2008 1 次提交
  14. 05 12月, 2008 1 次提交
  15. 11 11月, 2008 1 次提交
  16. 01 11月, 2008 7 次提交
  17. 28 10月, 2008 1 次提交