Signed-off-by: David Ellingsworth <david@xxxxxxxxxxxxxxxxx> --- drivers/media/radio/dsbr100.c | 11 +++++------ 1 files changed, 5 insertions(+), 6 deletions(-) diff --git a/drivers/media/radio/dsbr100.c b/drivers/media/radio/dsbr100.c index 2f96e13..b62fe40 100644 --- a/drivers/media/radio/dsbr100.c +++ b/drivers/media/radio/dsbr100.c @@ -259,11 +259,12 @@ usb_control_msg_failed: } /* set a frequency, freq is defined by v4l's TUNER_LOW, i.e. 1/16th kHz */ -static int dsbr100_setfreq(struct dsbr100_device *radio) +static int dsbr100_setfreq(struct dsbr100_device *radio, int freq) { int retval; int request; - int freq = (radio->curfreq / 16 * 80) / 1000 + 856; + + freq = (freq / 16 * 80) / 1000 + 856; BUG_ON(!mutex_is_locked(&radio->lock)); @@ -302,6 +303,7 @@ static int dsbr100_setfreq(struct dsbr100_device *radio) } radio->stereo = !((radio->transfer_buffer)[0] & 0x01); + radio->curfreq = freq; return (radio->transfer_buffer)[0]; usb_control_msg_failed: @@ -408,11 +410,8 @@ static int vidioc_s_frequency(struct file *file, void *priv, struct v4l2_frequency *f) { struct dsbr100_device *radio = video_drvdata(file); - int retval; - - radio->curfreq = f->frequency; + int retval = dsbr100_setfreq(radio, f->frequency); - retval = dsbr100_setfreq(radio); if (retval < 0) dev_warn(&radio->usbdev->dev, "Set frequency failed\n"); -- 1.7.1 -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html