commit a5bbc7d94cf1dcb2100eeaf68791a401ad7ce54d
tree 88812d920d7a50a63abe123a7618c5eac2c6272a
parent 30d9464c76743160612e7de0b2f5f656c78915d3
author Ira Snyder <[EMAIL PROTECTED]> 1164018048 -0300
committer Mauro Carvalho Chehab <[EMAIL PROTECTED]> 1164538357 -0200

V4L/DVB (4849): Add missing spin_unlock to saa6588 decoder driver

Sparse noticed a lock imbalance in read_from_buf(). Further inspection shows
that the lock should not be held when the function exits.
This adds a spin_unlock_irqrestore(), so that every exit path of the
read_from_buf() function is consistent. The unlock was missing on an error
path.

Signed-off-by: Ira W. Snyder <[EMAIL PROTECTED]>
Signed-off-by: Hans J. Koch <[EMAIL PROTECTED]>
Signed-off-by: Mauro Carvalho Chehab <[EMAIL PROTECTED]>

 drivers/media/video/saa6588.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/media/video/saa6588.c b/drivers/media/video/saa6588.c
index a81285c..7b9859c 100644
--- a/drivers/media/video/saa6588.c
+++ b/drivers/media/video/saa6588.c
@@ -212,8 +212,10 @@ static void read_from_buf(struct saa6588
        if (rd_blocks > s->block_count)
                rd_blocks = s->block_count;
 
-       if (!rd_blocks)
+       if (!rd_blocks) {
+               spin_unlock_irqrestore(&s->lock, flags);
                return;
+       }
 
        for (i = 0; i < rd_blocks; i++) {
                if (block_to_user_buf(s, buf_ptr)) {
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to