double unlock in bttv_poll() and in saa7134-video.c

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

My source code checker, smatch (http://repo.or.cz/w/smatch.git), 
complains about a double unlock in bttv_poll() from 
drivers/media/video/bt8xx/bttv-driver.c.  It unlocks on line 3190 and 
again on 3201.

  3190                  mutex_unlock(&fh->cap.vb_lock);
  3191                  buf = (struct bttv_buffer*)fh->cap.read_buf;
  3192          }
  3193  
  3194          poll_wait(file, &buf->vb.done, wait);
  3195          if (buf->vb.state == VIDEOBUF_DONE ||
  3196              buf->vb.state == VIDEOBUF_ERROR)
  3197                  rc =  POLLIN|POLLRDNORM;
  3198          else
  3199                  rc = 0;
  3200  err:
  3201          mutex_unlock(&fh->cap.vb_lock);

I looked at the code but I wasn't sure what the correct way to fix it is.

video_poll() from drivers/media/video/saa7134/saa7134-video.c has the same 
issue.

regards,
dan carpenter


--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux