diff options
Diffstat (limited to 'drivers/media/radio')
-rw-r--r-- | drivers/media/radio/dsbr100.c | 3 | ||||
-rw-r--r-- | drivers/media/radio/radio-si470x.c | 2 |
2 files changed, 5 insertions, 0 deletions
diff --git a/drivers/media/radio/dsbr100.c b/drivers/media/radio/dsbr100.c index 70c65a745923..3a4eb444a7c3 100644 --- a/drivers/media/radio/dsbr100.c +++ b/drivers/media/radio/dsbr100.c | |||
@@ -407,15 +407,18 @@ static int usb_dsbr100_open(struct inode *inode, struct file *file) | |||
407 | { | 407 | { |
408 | struct dsbr100_device *radio=video_get_drvdata(video_devdata(file)); | 408 | struct dsbr100_device *radio=video_get_drvdata(video_devdata(file)); |
409 | 409 | ||
410 | lock_kernel(); | ||
410 | radio->users = 1; | 411 | radio->users = 1; |
411 | radio->muted = 1; | 412 | radio->muted = 1; |
412 | 413 | ||
413 | if (dsbr100_start(radio)<0) { | 414 | if (dsbr100_start(radio)<0) { |
414 | warn("Radio did not start up properly"); | 415 | warn("Radio did not start up properly"); |
415 | radio->users = 0; | 416 | radio->users = 0; |
417 | unlock_kernel(); | ||
416 | return -EIO; | 418 | return -EIO; |
417 | } | 419 | } |
418 | dsbr100_setfreq(radio, radio->curfreq); | 420 | dsbr100_setfreq(radio, radio->curfreq); |
421 | unlock_kernel(); | ||
419 | return 0; | 422 | return 0; |
420 | } | 423 | } |
421 | 424 | ||
diff --git a/drivers/media/radio/radio-si470x.c b/drivers/media/radio/radio-si470x.c index 16c7ef20265c..337d55793836 100644 --- a/drivers/media/radio/radio-si470x.c +++ b/drivers/media/radio/radio-si470x.c | |||
@@ -1074,6 +1074,7 @@ static int si470x_fops_open(struct inode *inode, struct file *file) | |||
1074 | struct si470x_device *radio = video_get_drvdata(video_devdata(file)); | 1074 | struct si470x_device *radio = video_get_drvdata(video_devdata(file)); |
1075 | int retval; | 1075 | int retval; |
1076 | 1076 | ||
1077 | lock_kernel(); | ||
1077 | radio->users++; | 1078 | radio->users++; |
1078 | 1079 | ||
1079 | retval = usb_autopm_get_interface(radio->intf); | 1080 | retval = usb_autopm_get_interface(radio->intf); |
@@ -1090,6 +1091,7 @@ static int si470x_fops_open(struct inode *inode, struct file *file) | |||
1090 | } | 1091 | } |
1091 | 1092 | ||
1092 | done: | 1093 | done: |
1094 | unlock_kernel(); | ||
1093 | return retval; | 1095 | return retval; |
1094 | } | 1096 | } |
1095 | 1097 | ||