• Mauro Carvalho Chehab's avatar
    [media] dib8000: Fix sub-channel range · 746f7ae0
    Mauro Carvalho Chehab authored
    isdbt_sb_subchannel is unsigned with 8 bits. So, it will
    never be -1. Instead, any value bigger than 13 is invalid.
    
    As is, the current code generates the following warnings:
    
    drivers/media/dvb-frontends/dib8000.c: In function 'dib8000_set_isdbt_common_channel':
    drivers/media/dvb-frontends/dib8000.c:2358:3: warning: comparison is always true due to limited range of data type [-Wtype-limits]
    drivers/media/dvb-frontends/dib8000.c: In function 'dib8000_tune':
    drivers/media/dvb-frontends/dib8000.c:3107:8: warning: comparison is always false due to limited range of data type [-Wtype-limits]
    drivers/media/dvb-frontends/dib8000.c:3153:9: warning: comparison is always false due to limited range of data type [-Wtype-limits]
    drivers/media/dvb-frontends/dib8000.c:3160:5: warning: comparison is always false
    
    It should also be noticed that ARIB STD-B31, item
    "3.15.6.8 Number of segments" at TMCC table defines the
    value 15 for unused segment, and 14 as reserved.
    
    So, better to change the check to consider any value
    bigger than 13 to mean that sub-channels should be
    disabled, fixing the warning and doing the right thing
    even if an invalid value is filled by userspace.
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
    746f7ae0
dib8000.c 121 KB