1. 01 12月, 2011 1 次提交
  2. 18 11月, 2011 1 次提交
  3. 01 11月, 2011 1 次提交
  4. 05 2月, 2011 1 次提交
    • B
      mac80211: Optimize scans on current operating channel. · b23b025f
      Ben Greear 提交于
      This should decrease un-necessary flushes, on/off channel work,
      and channel changes in cases where the only scanned channel is
      the current operating channel.
      
      * Removes SCAN_OFF_CHANNEL flag, uses SDATA_STATE_OFFCHANNEL
        and is-scanning flags instead.
      
      * Add helper method to determine if we are currently configured
        for the operating channel.
      
      * Do no blindly go off/on channel in work.c  Instead, only call
        appropriate on/off code when we really need to change channels.
        Always enable offchannel-ps mode when starting work,
        and disable it when we are done.
      
      * Consolidate ieee80211_offchannel_stop_station and
        ieee80211_offchannel_stop_beaconing, call it
        ieee80211_offchannel_stop_vifs instead.
      
      * Accept non-beacon frames when scanning on operating channel.
      
      * Scan state machine optimized to minimize on/off channel
        transitions.  Also, when going on-channel, go ahead and
        re-enable beaconing.  We're going to be there for 200ms,
        so seems like some useful beaconing could happen.
        Always enable offchannel-ps mode when starting software
        scan, and disable it when we are done.
      
      * Grab local->mtx earlier in __ieee80211_scan_completed_finish
        so that we are protected when calling hw_config(), etc.
      
      * Pass probe-responses up the stack if scanning on local
        channel, so that mlme can take a look.
      Signed-off-by: NBen Greear <greearb@candelatech.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      b23b025f
  5. 06 1月, 2011 2 次提交
  6. 17 9月, 2010 2 次提交
  7. 28 8月, 2010 1 次提交
    • J
      mac80211: fix offchannel queue stop · 5b714c6a
      Johannes Berg 提交于
      Somebody noticed this problem, and I outlined
      to them how to fix it, but haven't heard back
      from them. So while I was adding the state
      field I figured I could use it to fix it.
      
      The problem, as I understand it, is that when
      we go offchannel while the driver has a queue
      stopped, the driver will likely start draining
      the queue and then enable it while offchannel.
      This in turn will enable the interface queue,
      and that leads to transmitting data frames on
      the wrong channel.
      
      Fix this by keeping track of offchannel status
      per interface, and not enabling the interface
      queues on interfaces that are offchannel when
      the driver enables a queue.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      5b714c6a
  8. 16 1月, 2010 1 次提交
  9. 29 12月, 2009 2 次提交