This is an automatic generated email to let you know that the following patch were queued at the http://git.linuxtv.org/media-tree.git tree:
Subject: V4L/DVB: dvb: siano: free spinlock before schedule() Author: Kulikov Vasiliy <[email protected]> Date: Tue Jul 27 15:42:40 2010 -0300 Calling schedule() holding spinlock with disables irqs is improper. As spinlock protects list coredev->buffers, it can be unlocked untill wakeup. This bug was introduced in a9349315f65cd6a16e8fab1f6cf0fd40f379c4db. Signed-off-by: Kulikov Vasiliy <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]> drivers/media/dvb/siano/smscoreapi.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) --- http://git.linuxtv.org/media-tree.git?a=commitdiff;h=852ee333c05a0560088fe2ba5c7bc316d99b4e25 diff --git a/drivers/media/dvb/siano/smscoreapi.c b/drivers/media/dvb/siano/smscoreapi.c index 7f2c94a..d93468c 100644 --- a/drivers/media/dvb/siano/smscoreapi.c +++ b/drivers/media/dvb/siano/smscoreapi.c @@ -1113,9 +1113,11 @@ struct smscore_buffer_t *smscore_getbuffer(struct smscore_device_t *coredev) */ prepare_to_wait(&coredev->buffer_mng_waitq, &wait, TASK_INTERRUPTIBLE); - - if (list_empty(&coredev->buffers)) + if (list_empty(&coredev->buffers)) { + spin_unlock_irqrestore(&coredev->bufferslock, flags); schedule(); + spin_lock_irqsave(&coredev->bufferslock, flags); + } finish_wait(&coredev->buffer_mng_waitq, &wait); _______________________________________________ linuxtv-commits mailing list [email protected] http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits
