From d854b65877ffd3a93ba1c543afadad8590a29620 Mon Sep 17 00:00:00 2001 From: Alexey Klimov Date: Sun, 8 Feb 2009 02:00:14 -0300 Subject: [PATCH] --- yaml --- r: 137846 b: refs/heads/master c: fdf9c9979a355916433262ea5e5e64bed5def86e h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/media/radio/dsbr100.c | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index a75180bd2301..ce9ec8a3c023 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: dc025d4a1afac9576987748f15e9ba47c7bd20db +refs/heads/master: fdf9c9979a355916433262ea5e5e64bed5def86e diff --git a/trunk/drivers/media/radio/dsbr100.c b/trunk/drivers/media/radio/dsbr100.c index 09988f020c48..cc54ed4efc48 100644 --- a/trunk/drivers/media/radio/dsbr100.c +++ b/trunk/drivers/media/radio/dsbr100.c @@ -452,7 +452,10 @@ static int vidioc_s_frequency(struct file *file, void *priv, if (radio->removed) return -EIO; + mutex_lock(&radio->lock); radio->curfreq = f->frequency; + mutex_unlock(&radio->lock); + retval = dsbr100_setfreq(radio, radio->curfreq); if (retval < 0) dev_warn(&radio->usbdev->dev, "Set frequency failed\n"); @@ -603,7 +606,10 @@ static int usb_dsbr100_close(struct file *file) if (!radio) return -ENODEV; + mutex_lock(&radio->lock); radio->users = 0; + mutex_unlock(&radio->lock); + if (!radio->removed) { retval = dsbr100_stop(radio); if (retval < 0) {