aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/media/video/v4l2-dev.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/media/video/v4l2-dev.c b/drivers/media/video/v4l2-dev.c
index 02b9cc76d36..7addf2fd55d 100644
--- a/drivers/media/video/v4l2-dev.c
+++ b/drivers/media/video/v4l2-dev.c
@@ -91,8 +91,11 @@ static void v4l2_chardev_release(struct kobject *kobj)
struct video_device *vfd = container_of(kobj, struct video_device, cdev.kobj);
mutex_lock(&videodev_lock);
- if (video_device[vfd->minor] != vfd)
- panic("videodev: bad release");
+ if (video_device[vfd->minor] != vfd) {
+ mutex_unlock(&videodev_lock);
+ BUG();
+ return;
+ }
/* Free up this device for reuse */
video_device[vfd->minor] = NULL;