Oliver Neukum wrote:

>b) you are holding a spinlock or rwlock (does not apply to semaphores)
>

I'm assuming that applies to the Big Kernel Lock too. If so, the V4L 
drivers need GFP_ATOMIC for the URBs they submit on open(), since 
videodev.c grabs the BKL before calling the open(), release(), or mmap() 
callbacks.

Rather than change the drivers, I suggest that the BKL in this case be 
replaced with semaphore in struct video_device. Especially since most of 
the drivers vmalloc() a lot of memory during open(). Sleeping while 
holding the BKL is a Bad Thing, no?

-- 
Mark McClelland
[EMAIL PROTECTED]




_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to