• Dan Carpenter's avatar
    cfg80211: fix a type issue in ieee80211_chandef_to_operating_class() · 8442938c
    Dan Carpenter authored
    The "chandef->center_freq1" variable is a u32 but "freq" is a u16 so we
    are truncating away the high bits.  I noticed this bug because in commit
    9cf0a0b4 ("cfg80211: Add support for 60GHz band channels 5 and 6")
    we made "freq <= 56160 + 2160 * 6" a valid requency when before it was
    only "freq <= 56160 + 2160 * 4" that was valid.  It introduces a static
    checker warning:
    
        net/wireless/util.c:1571 ieee80211_chandef_to_operating_class()
        warn: always true condition '(freq <= 56160 + 2160 * 6) => (0-u16max <= 69120)'
    
    But really we probably shouldn't have been truncating the high bits
    away to begin with.
    Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    8442938c
util.c 41.7 KB