lkml.org 
[lkml]   [2015]   [Apr]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.12 148/155] mac80211: disable u-APSD queues by default
    Date
    From: Michal Kazior <michal.kazior@tieto.com>

    3.12-stable review patch. If anyone has any objections, please let me know.

    ===============

    commit aa75ebc275b2a91b193654a177daf900ad6703f0 upstream.

    Some APs experience problems when working with
    U-APSD. Decreasing the probability of that
    happening by using legacy mode for all ACs but VO
    isn't enough.

    Cisco 4410N originally forced us to enable VO by
    default only because it treated non-VO ACs as
    legacy.

    However some APs (notably Netgear R7000) silently
    reclassify packets to different ACs. Since u-APSD
    ACs require trigger frames for frame retrieval
    clients would never see some frames (e.g. ARP
    responses) or would fetch them accidentally after
    a long time.

    It makes little sense to enable u-APSD queues by
    default because it needs userspace applications to
    be aware of it to actually take advantage of the
    possible additional powersavings. Implicitly
    depending on driver autotrigger frame support
    doesn't make much sense.

    Signed-off-by: Michal Kazior <michal.kazior@tieto.com>
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>
    ---
    net/mac80211/ieee80211_i.h | 23 +++++++++++++++++------
    1 file changed, 17 insertions(+), 6 deletions(-)

    diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h
    index 23c13165ce83..09d4201b9e81 100644
    --- a/net/mac80211/ieee80211_i.h
    +++ b/net/mac80211/ieee80211_i.h
    @@ -57,13 +57,24 @@ struct ieee80211_local;
    #define IEEE80211_UNSET_POWER_LEVEL INT_MIN

    /*
    - * Some APs experience problems when working with U-APSD. Decrease the
    - * probability of that happening by using legacy mode for all ACs but VO.
    - * The AP that caused us trouble was a Cisco 4410N. It ignores our
    - * setting, and always treats non-VO ACs as legacy.
    + * Some APs experience problems when working with U-APSD. Decreasing the
    + * probability of that happening by using legacy mode for all ACs but VO isn't
    + * enough.
    + *
    + * Cisco 4410N originally forced us to enable VO by default only because it
    + * treated non-VO ACs as legacy.
    + *
    + * However some APs (notably Netgear R7000) silently reclassify packets to
    + * different ACs. Since u-APSD ACs require trigger frames for frame retrieval
    + * clients would never see some frames (e.g. ARP responses) or would fetch them
    + * accidentally after a long time.
    + *
    + * It makes little sense to enable u-APSD queues by default because it needs
    + * userspace applications to be aware of it to actually take advantage of the
    + * possible additional powersavings. Implicitly depending on driver autotrigger
    + * frame support doesn't make much sense.
    */
    -#define IEEE80211_DEFAULT_UAPSD_QUEUES \
    - IEEE80211_WMM_IE_STA_QOSINFO_AC_VO
    +#define IEEE80211_DEFAULT_UAPSD_QUEUES 0

    #define IEEE80211_DEFAULT_MAX_SP_LEN \
    IEEE80211_WMM_IE_STA_QOSINFO_SP_ALL
    --
    2.3.4


    \
     
     \ /
      Last update: 2015-04-07 15:01    [W:5.433 / U:0.104 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site