• Daniel Scheller's avatar
    media: dvb-frontends/cxd2841er: do sleep on delivery system change · bd2355b8
    Daniel Scheller authored
    Discovered using w_scan when scanning DVB-T/T2: When w_scan goes from -T
    to -T2, it does so without stopping the frontend using .sleep. Due to
    this, the demod operation mode isn't re-setup, but as it still is in
    STATE_ACTIVE_TC, PLP and T2 Profile are set up, but only retune_active()
    is called, leaving the demod in T mode, thus not operable on any T2
    frequency.
    
    Fix this by putting the demod to sleep if priv->system isn't equal to
    p->delsys. To properly accomplish this, sleep_tc() is split into
    sleep_tc() and shutdown_tc(), where sleep_tc() will only perform the
    sleep operation, while shutdown_tc() additionally performs the full
    demod shutdown (to keep the behaviour when the .sleep FE_OP is called).
    Signed-off-by: default avatarDaniel Scheller <d.scheller@gmx.net>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
    bd2355b8
cxd2841er.c 120 KB