From 5f0684ae250fd0f231da8feebd9d4123d57042f5 Mon Sep 17 00:00:00 2001 From: Kulikov Vasiliy Date: Tue, 27 Jul 2010 15:42:40 -0300 Subject: [PATCH] --- yaml --- r: 208204 b: refs/heads/master c: d0a38ce27e1b11116f02835b076fcb79db987e2c h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/media/dvb/siano/smscoreapi.c | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 07775b91017b..1aadcda219cd 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e03b9843dc30ba44dedffdfa4180f0723f04e3ab +refs/heads/master: d0a38ce27e1b11116f02835b076fcb79db987e2c diff --git a/trunk/drivers/media/dvb/siano/smscoreapi.c b/trunk/drivers/media/dvb/siano/smscoreapi.c index 7f2c94a15ab1..d93468cd3a85 100644 --- a/trunk/drivers/media/dvb/siano/smscoreapi.c +++ b/trunk/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);