[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <CADDKRnB=KYBuue10BnPpiRD=rrrATgxt-DfgLHmK-cqRAvJsUQ@mail.gmail.com>
Date: Sun, 23 Dec 2012 17:46:07 +0100
From: Jörg Otte <jrg.otte@...il.com>
To: linux-kernel@...r.kernel.org
Cc: linux-media@...r.kernel.org,
Laurent Pinchart <laurent.pinchart@...asonboard.com>,
Linus Torvalds <torvalds@...ux-foundation.org>
Subject: [v3.8-rc1] Multimedia regression, ioctl(17,..)-API changed ?
With kernel v3.8 all multimedia programs under KDE4 don't work (Kubuntu 12.04).
They alltogether ( at least Dragonplayer (Mediaplayer), Knotify4
(system-sound),
System-Settings-Multimedia,..) are looping forever producing 100% CPU-usage
and must be killed.
With kernel 3.7 there are no problems.
I compared an strace of Dragonplayer under 3.7 and 3.8 kernels. The
main difference
of both traces are the following corresponding outputs just before
looping in v3.8
begins:
v3.7:
ioctl(17, VIDIOC_ENUMSTD, 0x7fff6cce66a0) = -1 EINVAL (Invalid argument)
ioctl(17, VIDIOC_QUERYCTRL, 0x7fff6cce66f0) = -1 EINVAL (Invalid argument)
v3.8:
ioctl(17, VIDIOC_ENUMSTD, 0x7fffc3be6990) = -1 ENOTTY (Inappropriate
ioctl for device)
ioctl(17, VIDIOC_QUERYCTRL, 0x7fffc3be69e0) = -1 ENOENT (No such file
or directory)
So error number EINVAL was changed to ENOTTY/ENOENT
When Dragonplayer under v3.8 comes to ioctl(17, VIDIOC_QUERYCTRL,...)
and sees error
number ENOENT instead of EINVAL it loops forever producing 100% CPU
usage like so:
.
.
ioctl(17, VIDIOC_QUERYCTRL, 0x7fffc3be69e0) = -1 ENOENT (No such file
or directory)
ioctl(17, VIDIOC_QUERYCTRL, 0x7fffc3be69e0) = -1 ENOENT (No such file
or directory)
ioctl(17, VIDIOC_QUERYCTRL, 0x7fffc3be69e0) = -1 ENOENT (No such file
or directory)
ioctl(17, VIDIOC_QUERYCTRL, 0x7fffc3be69e0) = -1 ENOENT (No such file
or directory)
ioctl(17, VIDIOC_QUERYCTRL, 0x7fffc3be69e0) = -1 ENOENT (No such file
or directory)
ioctl(17, VIDIOC_QUERYCTRL, 0x7fffc3be69e0) = -1 ENOENT (No such file
or directory)
ioctl(17, VIDIOC_QUERYCTRL, 0x7fffc3be69e0) = -1 ENOENT (No such file
or directory)
ioctl(17, VIDIOC_QUERYCTRL, 0x7fffc3be69e0) = -1 ENOENT (No such file
or directory)
ioctl(17, VIDIOC_QUERYCTRL, 0x7fffc3be69e0) = -1 ENOENT (No such file
or directory)
ioctl(17, VIDIOC_QUERYCTRL, 0x7fffc3be69e0) = -1 ENOENT (No such file
or directory)
ioctl(17, VIDIOC_QUERYCTRL, 0x7fffc3be69e0) = -1 ENOENT (No such file
or directory)
.
and so on
.
For me it looks like that KDE4 multimedia is not aware of the new error numbers.
Looking through the commits I found driver uvcvideo producing the changed
error numbers.
commit f0ed2ce840b3a59b587e8aa398538141a86e9588
Author: Laurent Pinchart <laurent.pinchart@...asonboard.com>
[media] uvcvideo: Set error_idx properly for extended controls API failures
To verify this I built a v3.8-kernel without uvcvideo (USB_VIDEO_CLASS=n)
and the problem disappeared!
Simply reverting the commit is not an option for me because then I am left
with merge conflicts and I don't know how to resolve.
Unfortunately without uvcvideo I lost my usb-camera support.
-- Jörg
Please CC me I'm not subscribed
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists