From: Ronald S. Bultje Date: Mon, 7 Nov 2005 09:00:22 +0000 (-0800) Subject: [PATCH] prevent dmesg warning in zr36067 driver X-Git-Tag: v2.6.15-rc1~567 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8bc3efcfbf6521ec7bf3e5d969b31745fbd986f8;p=linux-2.6 [PATCH] prevent dmesg warning in zr36067 driver Fix the warning "Debug: sleeping function called from invalid context at include/asm/semaphore.h:102" that the zr36067 driver emits every time an application using JPEG capture starts up (e.g. mjpegtools' lavrec). The warning is harmless, but clogs up the dmesg output. This was logged as bugzilla #5403. (Thanks to Christian Casteyde for helping me in fixing this long-standing annoyance.) Signed-off-by: Ronald S. Bultje Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/drivers/media/video/zoran_driver.c b/drivers/media/video/zoran_driver.c index 53adeb70f2..07bde9acd6 100644 --- a/drivers/media/video/zoran_driver.c +++ b/drivers/media/video/zoran_driver.c @@ -996,8 +996,6 @@ zoran_jpg_queue_frame (struct file *file, return -EINVAL; } - spin_lock_irqsave(&zr->spinlock, flags); - if (fh->jpg_buffers.active == ZORAN_FREE) { if (zr->jpg_buffers.active == ZORAN_FREE) { zr->jpg_buffers = fh->jpg_buffers; @@ -1016,6 +1014,8 @@ zoran_jpg_queue_frame (struct file *file, zr36057_enable_jpg(zr, mode); } + spin_lock_irqsave(&zr->spinlock, flags); + if (!res) { switch (zr->jpg_buffers.buffer[num].state) { case BUZ_STATE_DONE: