diff options
Diffstat (limited to 'drivers/media/radio/dsbr100.c')
-rw-r--r-- | drivers/media/radio/dsbr100.c | 3 |
1 files changed, 3 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 | ||