]> git.baikalelectronics.ru Git - kernel.git/commit
Partly revert "[media] uvcvideo: Set error_idx properly for extended controls API...
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Sun, 23 Dec 2012 13:39:32 +0000 (14:39 +0100)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sun, 23 Dec 2012 17:39:14 +0000 (09:39 -0800)
commit9436399c08b3e3d8f813a64b6464e8148feaac81
tree3a694f797800c0f3c34fb4f6148c824f64b5ca68
parenta2e69c3c0f994da1cd5fbfdb8a9cfdb38b9f1ed5
Partly revert "[media] uvcvideo: Set error_idx properly for extended controls API failures"

Commit 514574f840dc ("[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 514574f840dc 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 514574f840dc 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: Rafael 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: Linus Torvalds <torvalds@linux-foundation.org>
drivers/media/usb/uvc/uvc_ctrl.c
drivers/media/usb/uvc/uvc_v4l2.c