On Sat, 16 Oct 2010 10:44:56 -0300
Mauro Carvalho Chehab <mche...@infradead.org> wrote:

> drivers/media/video/via-camera.c: In function ‘viacam_open’:
> drivers/media/video/via-camera.c:651: error: too few arguments to function 
> ‘videobuf_queue_sg_init’

> The fix for this one is trivial:
> drivers/media/video/via-camera.c:651: error: too few arguments to function 
> ‘videobuf_queue_sg_init’
> 
> Just add an extra NULL parameter to the function.

So I'm looking into this stuff.  The extra NULL parameter is a struct
mutex, which seems to be used in one place in videobuf_waiton():

        is_ext_locked = q->ext_lock && mutex_is_locked(q->ext_lock);

        /* Release vdev lock to prevent this wait from blocking outside access 
to
           the device. */
        if (is_ext_locked)
                mutex_unlock(q->ext_lock);

I'd be most curious to know what the reasoning behind this code is; to my
uneducated eye, it looks like a real hack.  How does this function know who
locked ext_lock?  Can it really just unlock it safely?  It seems to me that
this is a sign of locking issues which should really be dealt with
elsewhere, but, as I said, I'm uneducated, and the changelogs don't help me
much.  Can somebody educate me?

Thanks,

jon
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to