• Luis R. Rodriguez's avatar
    cfg80211: Process regulatory max bandwidth checks for HT40 · 038659e7
    Luis R. Rodriguez authored
    We are not correctly listening to the regulatory max bandwidth
    settings. To actually make use of it we need to redesign things
    a bit. This patch does the work for that. We do this to so we
    can obey to regulatory rules accordingly for use of HT40.
    
    We end up dealing with HT40 by having two passes for each channel.
    
    The first check will see if a 20 MHz channel fits into the channel's
    center freq on a given frequency range. We check for a 20 MHz
    banwidth channel as that is the maximum an individual channel
    will use, at least for now. The first pass will go ahead and
    check if the regulatory rule for that given center of frequency
    allows 40 MHz bandwidths and we use this to determine whether
    or not the channel supports HT40 or not. So to support HT40 you'll
    need at a regulatory rule that allows you to use 40 MHz channels
    but you're channel must also be enabled and support 20 MHz by itself.
    
    The second pass is done after we do the regulatory checks over
    an device's supported channel list. On each channel we'll check
    if the control channel and the extension both:
    
     o exist
     o are enabled
     o regulatory allows 40 MHz bandwidth on its frequency range
    
    This work allows allows us to idependently check for HT40- and
    HT40+.
    Signed-off-by: default avatarLuis R. Rodriguez <lrodriguez@atheros.com>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    038659e7
reg.c 61.1 KB