Re: 2.6.24-rc5 "videobuf_read_start" [drivers/media/video/videobuf-dvb.ko] undefined!

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Adrian Bunk <bunk@...>
Cc: Shane <gnome42@...>, Brandon Philips <brandon@...>, <linux-kernel@...>, video4linux-list <video4linux-list@...>
Date: Wednesday, December 12, 2007 - 10:21 am

Em Qua, 2007-12-12 às 13:03 +0100, Adrian Bunk escreveu:

Hmm... I should have reviewed the patch instead of trusting on my
memory. Yes, you're right. Brandon didn't rename this function.

What happened is that changeset 19bc5133dae9562e8824ef101464061f9854c1d8
fixed some bad locks. 

After this changeset, videobuf_read_stream() holds q->lock and calls
videobuf_read_start(). To avoid waiting forever for the lock to be
released, he removed the mutex from videobuf_read_start with this line
[1]:

-       err = videobuf_mmap_setup(q, count, size, V4L2_MEMORY_USERPTR);
+       err = __videobuf_mmap_setup(q, count, size, V4L2_MEMORY_USERPTR);

So, after the patch, videobuf_read_start() can't be safely called. So,
just adding EXPORT_SYMBOL_GPL() breaks videobuf-dvb at runtime.

The proper solution is provided by this changeset:
http://git.kernel.org/?p=linux/kernel/git/mchehab/v4l-dvb.git;a=commitdiff;h=19fb14579...

This renames the old videobuf_read_start() to __videobuf_read_start()
and adds a newer one to be called externally, that holds the lock,
before calling __videobuf_mmap_setup().

[1] After his changeset, all functions with __foo() don't touch on
q->lock.

-- 
Cheers,
Mauro

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: 2.6.24-rc5 "videobuf_read_start" [drivers/media/video/vi..., Mauro Carvalho Chehab, (Wed Dec 12, 6:51 am)
Re: 2.6.24-rc5 "videobuf_read_start" [drivers/media/video/vi..., Soeren Sonnenburg, (Wed Dec 12, 6:36 am)
Re: 2.6.24-rc5 "videobuf_read_start" [drivers/media/video/vi..., Mauro Carvalho Chehab, (Wed Dec 12, 7:03 am)
Re: 2.6.24-rc5 "videobuf_read_start" [drivers/media/video/vi..., Mauro Carvalho Chehab, (Wed Dec 12, 10:21 am)
Re: 2.6.24-rc5 "videobuf_read_start" [drivers/media/video/vi..., Mauro Carvalho Chehab, (Thu Dec 13, 6:33 am)
[2.6 patch] videobuf-core.c locking fixes, Adrian Bunk, (Wed Dec 12, 3:44 pm)
Re: [2.6 patch] videobuf-core.c locking fixes, Shane, (Wed Dec 12, 4:35 pm)
Re: [2.6 patch] videobuf-core.c locking fixes, Mauro Carvalho Chehab, (Thu Dec 13, 5:59 am)
Re: [2.6 patch] videobuf-core.c locking fixes, Shane, (Wed Dec 12, 5:22 pm)
Re: [2.6 patch] videobuf-core.c locking fixes, Mauro Carvalho Chehab, (Fri Dec 14, 5:26 am)