1. 08 Feb, 2011 29 commits
  2. 07 Feb, 2011 6 commits
  3. 06 Feb, 2011 2 commits
  4. 04 Feb, 2011 3 commits
    • Ben Greear's avatar
      mac80211: Optimize scans on current operating channel. · b23b025f
      Ben Greear authored
      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: default avatarBen Greear <greearb@candelatech.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      b23b025f
    • Felix Fietkau's avatar
      ath9k: add additional checks for the baseband hang detection · cb8d61de
      Felix Fietkau authored
      Since even with the latest changes the false positive issue of the baseband
      hang check is not fully solved yet, additional checks are needed.
      If the baseband hang occurs, the rx_clear signal will be stuck to high, so
      we can use the cycle counters to confirm it.
      With this patch, a hardware reset is only triggered if the baseband hang
      check returned true three times in a row, with a beacon interval between
      each check and if the busy time was also 99% or more during the check
      intervals.
      Signed-off-by: default avatarFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      cb8d61de
    • Felix Fietkau's avatar
      mac80211: do not send duplicate data frames to the cooked monitor interface · b1f93314
      Felix Fietkau authored
      I can't think of a valid use case for this aside from debugging (which can
      also be done with a real monitor interface), and dropping these frames saves
      some precious CPU cycles.
      Signed-off-by: default avatarFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      b1f93314