Messages in this thread | | | From | Hans Verkuil <> | Subject | Re: [BUG] cdev_put() race condition | Date | Wed, 17 Dec 2008 20:39:03 +0100 |
| |
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
| |