• Hans de Goede's avatar
    media: uvcvideo: Fix uvc_ctrl_fixup_xu_info() not having any effect · 93df48d3
    Hans de Goede authored
    uvc_ctrl_add_info() calls uvc_ctrl_get_flags() which will override
    the fixed-up flags set by uvc_ctrl_fixup_xu_info().
    
    uvc_ctrl_init_xu_ctrl() already calls uvc_ctrl_get_flags() before
    calling uvc_ctrl_add_info(), so the uvc_ctrl_get_flags() call in
    uvc_ctrl_add_info() is not necessary for xu ctrls.
    
    This commit moves the uvc_ctrl_get_flags() call for normal controls
    from uvc_ctrl_add_info() to uvc_ctrl_init_ctrl(), so that we no longer
    call uvc_ctrl_get_flags() twice for xu controls and so that we no longer
    override the fixed-up flags set by uvc_ctrl_fixup_xu_info().
    
    This fixes the xu motor controls not working properly on a Logitech
    046d:08cc, and presumably also on the other Logitech models which have
    a quirk for this in the uvc_ctrl_fixup_xu_info() function.
    
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
    Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
    93df48d3
uvc_ctrl.c 60 KB