aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/radio/radio-mr800.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/radio/radio-mr800.c')
-rw-r--r--drivers/media/radio/radio-mr800.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/media/radio/radio-mr800.c b/drivers/media/radio/radio-mr800.c
index a33717c48003..256cbeffdcb6 100644
--- a/drivers/media/radio/radio-mr800.c
+++ b/drivers/media/radio/radio-mr800.c
@@ -469,16 +469,21 @@ static int usb_amradio_open(struct inode *inode, struct file *file)
469{ 469{
470 struct amradio_device *radio = video_get_drvdata(video_devdata(file)); 470 struct amradio_device *radio = video_get_drvdata(video_devdata(file));
471 471
472 lock_kernel();
473
472 radio->users = 1; 474 radio->users = 1;
473 radio->muted = 1; 475 radio->muted = 1;
474 476
475 if (amradio_start(radio) < 0) { 477 if (amradio_start(radio) < 0) {
476 warn("Radio did not start up properly"); 478 warn("Radio did not start up properly");
477 radio->users = 0; 479 radio->users = 0;
480 unlock_kernel();
478 return -EIO; 481 return -EIO;
479 } 482 }
480 if (amradio_setfreq(radio, radio->curfreq) < 0) 483 if (amradio_setfreq(radio, radio->curfreq) < 0)
481 warn("Set frequency failed"); 484 warn("Set frequency failed");
485
486 unlock_kernel();
482 return 0; 487 return 0;
483} 488}
484 489