mirror of https://gitee.com/openkylin/linux.git
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 <devel@irasnyder.com> Signed-off-by: Hans J. Koch <koch@hjk-az.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
parent
30d9464c76
commit
a5bbc7d94c
|
@ -212,8 +212,10 @@ static void read_from_buf(struct saa6588 *s, struct rds_command *a)
|
|||
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)) {
|
||||
|
|
Loading…
Reference in New Issue