• Hans Verkuil's avatar
    [media] tuner-core: fix s_std and s_tuner · 4e4a31fb
    Hans Verkuil authored
    Both s_std and s_tuner are broken because set_mode_freq is called before the
    new std (for s_std) and audmode (for s_tuner) are set.
    
    This patch splits set_mode_freq in a set_mode and a set_freq and in s_std/s_tuner
    first calls set_mode, and if that returns 0 (i.e. the mode is supported)
    then they set t->std/t->audmode and call set_freq.
    
    This fixes a bug where changing std or audmode would actually change it to
    the previous value.
    
    Discovered while testing analog TV standards for cx18 with a tda18271 tuner.
    
    Cc: stable@kernel.org
    Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
    4e4a31fb
tuner-core.c 32.6 KB