• Tova Mussai's avatar
    nl80211: return error for invalid center_freq in 40 MHz · ffa4629e
    Tova Mussai authored
    When NL80211_ATTR_WIPHY_CHANNEL_TYPE is given, nl80211 would parse the
    channel definition the old way, discarding NL80211_ATTR_CENTER_FREQ1,
    NL80211_ATTR_CENTER_FREQ2 etc. However, it is possible that user space
    added both NL80211_ATTR_WIPHY_CHANNEL_TYPE and NL80211_ATTR_CENTER_FREQ1
    or NL80211_ATTR_CENTER_FREQ2 assuming that all settings would be honored.
    
    In such a case, validate that NL80211_ATTR_CENTER_FREQ1 and
    NL80211_ATTR_CENTER_FREQ2 values match the channel configuration,
    as otherwise user space would assume that the desired configuration was
    applied.
    
    For example, when trying to start ap with
    NL80211_ATTR_WIPHY_CHANNEL_TYPE = NL80211_CHAN_HT40MINUS,
    NL80211_ATTR_WIPHY_FREQ = 5180 and NL80211_ATTR_CENTER_FREQ1 = 5250
    without this fix, the ap will start on channel 36 (center_freq1 will be
    corrected to 5180).  With this fix, we will throw an error instead.
    Signed-off-by: default avatarTova Mussai <tova.mussai@intel.com>
    Signed-off-by: default avatarLuca Coelho <luciano.coelho@intel.com>
    Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    ffa4629e
nl80211.c 402 KB