Skip to content

Commit

Permalink
V4L/DVB (8022): saa7134: fix race between opening and closing the device
Browse files Browse the repository at this point in the history
decrementing dev->empress_users should be done as last action of ts_release,
because it sleeps and write access to dev->empress_started is not protected
in any way
(additionally closing thread could mute audio after opening thread unmuted it)

Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
  • Loading branch information
Marcin Slusarz authored and Mauro Carvalho Chehab committed Jun 26, 2008
1 parent a14fe96 commit 913f5fc
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion drivers/media/video/saa7134/saa7134-empress.c
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,6 @@ static int ts_release(struct inode *inode, struct file *file)

videobuf_stop(&dev->empress_tsq);
videobuf_mmap_free(&dev->empress_tsq);
dev->empress_users--;

/* stop the encoder */
ts_reset_encoder(dev);
Expand All @@ -121,6 +120,8 @@ static int ts_release(struct inode *inode, struct file *file)
saa_writeb(SAA7134_AUDIO_MUTE_CTRL,
saa_readb(SAA7134_AUDIO_MUTE_CTRL) | (1 << 6));

dev->empress_users--;

return 0;
}

Expand Down

0 comments on commit 913f5fc

Please sign in to comment.