diff --git a/[refs] b/[refs] index e2be641a0167..f054ff1e59d8 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2cd4fd1e57cb6897612ead8a3d39ecb444920a1a +refs/heads/master: a58d35cb933f21a43fbdb5e4f575ff40faba3df2 diff --git a/trunk/drivers/staging/tm6000/tm6000-video.c b/trunk/drivers/staging/tm6000/tm6000-video.c index 5697be06ddd7..df3d835ce750 100644 --- a/trunk/drivers/staging/tm6000/tm6000-video.c +++ b/trunk/drivers/staging/tm6000/tm6000-video.c @@ -1441,8 +1441,12 @@ static int tm6000_release(struct inode *inode, struct file *file) dprintk(dev, V4L2_DEBUG_OPEN, "tm6000: close called (minor=%d, users=%d)\n",minor,dev->users); - tm6000_stop_thread(vidq); - videobuf_mmap_free(&fh->vb_vidq); + dev->users--; + + if (!dev->users) { + tm6000_stop_thread(vidq); + videobuf_mmap_free(&fh->vb_vidq); + } kfree (fh);