Re: [BUG] cdev_put() race condition

Hans Verkuil
2008-12-17T19:39:49Z

On Wednesday 17 December 2008 20:30:32 Hans Verkuil wrote:
>
> This solves this particular problem. But this will certainly break v4l as
> it is right now, since the spin_lock means that the kref's release cannot
> do any sleeps, which is possible in v4l. If we want to allow that in
> cdev, then the spinlock has to be replaced by a mutex. But I have the
> strong feeling that that's not going to happen :-)

Note that if we ever allow drivers to hook in their own release callback,
then we certainly should switch to a mutex in the cdev struct, rather than
a global mutex. It obviously makes life more complicated for cdev, but much
easier for drivers.

Regards,

Hans

--
Hans Verkuil - video4linux developer - sponsored by TANDBERG