• Johannes Berg's avatar
    mac80211: calculate min channel width correctly · 96aa2e7c
    Johannes Berg authored
    In the current minimum chandef code there's an issue in that the
    recalculation can happen after rate control is initialized for a
    station that has a wider bandwidth than the current chanctx, and
    then rate control can immediately start using those higher rates
    which could cause problems.
    
    Observe that first of all that this problem is because we don't
    take non-associated and non-uploaded stations into account. The
    restriction to non-associated is quite pointless and is one of
    the causes for the problem described above, since the rate init
    will happen before the station is set to associated; no frames
    could actually be sent until associated, but the rate table can
    already contain higher rates and that might cause problems.
    
    Also, rejecting non-uploaded stations is wrong, since the rate
    control can select higher rates for those as well.
    
    Secondly, it's then necessary to recalculate the minimal config
    before initializing rate control, so that when rate control is
    initialized, the higher rates are already available. This can be
    done easily by adding the necessary function call in rate init.
    
    Change-Id: Ib9bc02d34797078db55459d196993f39dcd43070
    Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    96aa2e7c
chan.c 44.8 KB