• Matthias Schwarzott's avatar
    [media] si2165: avoid division by zero · 2df9dda0
    Matthias Schwarzott authored
    When si2165_init fails, the clk values in state are still at zero.
    But the dvb-core ignores the return value of init will call tune
    afterwards.
    This will trigger a division by zero when tuning.
    At least check for the variables to be non-zero before dividing.
    
    This happened for a system with WinTV HVR-4400 PCIe-card after suspend-to-disk.
    Do suspend-to-disk without accessing the DVB device before.
    After wakeup try to tune.
    si2165_init fails at checking the chip_mode and aborts.
    Then si2165_set_if_freq_shift will fail with div-by-zero.
    Signed-off-by: default avatarMatthias Schwarzott <zzam@gentoo.org>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
    2df9dda0
si2165.c 25.4 KB