• Janne Grunau's avatar
    V4L/DVB (12685): dvb-core: check fe->ops.set_frontend return value · 01886255
    Janne Grunau authored
    Various frontend driver have parameter checks in their set_frontend
    functions and return an error if the parameters are not supported,
    tda10021 and cx24116 to name two.
    
    The tuning ioctls FE_SET_FRONTEND/FE_SET_PROPERTY only change values
    in the property cache and return before set_frontend is called. If a
    set_frontend call in software zigzag algorithm fails and the card was
    previously locked it will report a lock and the new parameters but is
    still tuned to the old transport. This is not detectable from
    userspace.
    
    This change checks the return values of fe->ops.set_frontend and
    changes the state to the added FESTATE_ERROR for software zigzag.
    No lock will be reported to userspace if the State is FESTATE_ERROR.
    Signed-off-by: default avatarJanne Grunau <j@jannau.net>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
    01886255
dvb_frontend.c 53.8 KB