Oliver Neukum wrote:
> That would be insufficient, as v4l devices need not be usb devices.
OK, that makes more sense if it is protecting the video devices'
structures.
> The problem is not really in the usb code but in the v4l code.
> The v4l code is written under the impression that devices don't vanish.
> The table of v4l devices is not locked. videodev_unregister() and open() race
> unless both hold the BKL. For open() newer kernels hold it due to the common
> v4l code. Any usb v4l device must hold the BKL while the device is put into a
> state during which open() cannot be handled or while a v4l device is
> unregistered.
Wouldn't it be better to add a global spinlock for the v4l devices
table? Is there a reason that it has to be the BKL?
--
David C. Hansen
[EMAIL PROTECTED]
IBM LTC Base/OS Group
(503)578-4080
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel