• Vladimir Kondratiev's avatar
    cfg80211: Fix regulatory check for 60GHz band frequencies · 64629b9d
    Vladimir Kondratiev authored
    The current regulatory code on cfg80211 performs a check to
    see if a regulatory rule belongs to an IEEE band so that if
    a Country IE is received and no rules are specified for a
    band (which is allowed by IEEE) those bands are left intact.
    The current band check assumes a rule is bound to a band
    if the rule's start or end frequency is less than 2 GHz
    apart from the center of frequency being inspected.
    
    In order to support 60 GHz for 802.11ad we need to increase
    this to account for the channel spacing of 2160 MHz whereby
    a channel somewhere in the middle of a regulatory rule may
    be more than 2 GHz apart from either the beginning or
    end of the frequency rule.
    
    Without a fix for this even though channels 1-3 are allowed world
    wide on the rule (57240 - 63720 @ 2160), channel 2 at 60480 MHz
    will end up getting disabled given that it is 3240 MHz from
    both the frequency rule start and end frequency. Fix this by
    using 2 GHz separation assumption for the 2.4 and 5 GHz bands
    but for 60 GHz use a 10 GHz separation before assuming a rule
    is not part of the band.
    
    Since we have no 802.11ad drivers yet merged this change has
    no impact to existing Linux upstream device drivers.
    Signed-off-by: default avatarVladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
    Acked-by: default avatarLuis R. Rodriguez <mcgrof@do-not-panic.com>
    Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    64629b9d
reg.c 65.3 KB