• Rafael J. Wysocki's avatar
    Partly revert "[media] uvcvideo: Set error_idx properly for extended controls API failures" · 9c016d61
    Rafael J. Wysocki authored
    Commit f0ed2ce8 ("[media] uvcvideo: Set error_idx properly for
    extended controls API failures") causes user space to behave incorrectly
    on one of my test machines (there is no sound under KDE 4.9.4 using
    pulseaudio and there is a knotify4 process occupying one of the CPU
    cores 100% of the time).  Reverting that commit entirely fixes the
    problem for me.
    
    However, commit f0ed2ce8 appears to do more than it follows from its
    changelog, because the changelog only says about the changes related to
    ctrls->error_idx, while the commit additionally changes error codes
    returned by various functions in uvc_ctrl.c and uvc_v4l2.c.  It turns
    out that the changes of the returned error codes confuse the user spce,
    so it is sufficient to revert the part of commit f0ed2ce8 not
    mentioned in its changelog to fix the problem.
    
    [ 'ENOENT' is not a valid error return from an ioctl to begin with, and
      I don't understand how anybody ever even thought it would be.  - Linus ]
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
    Cc: Mauro Carvalho Chehab <mchehab@redhat.com>
    Cc: Hans Verkuil <hans.verkuil@cisco.com>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    9c016d61
uvc_ctrl.c 55.1 KB