diff options
-rw-r--r-- | drivers/media/video/tuner-simple.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/media/video/tuner-simple.c b/drivers/media/video/tuner-simple.c index 2e680cf515a2..61dd26a43976 100644 --- a/drivers/media/video/tuner-simple.c +++ b/drivers/media/video/tuner-simple.c | |||
@@ -163,6 +163,10 @@ static void default_set_tv_freq(struct i2c_client *c, unsigned int freq) | |||
163 | continue; | 163 | continue; |
164 | break; | 164 | break; |
165 | } | 165 | } |
166 | /* use default tuner_params if desired_type not available */ | ||
167 | if (desired_type != tun->params[j].type) | ||
168 | j = 0; | ||
169 | |||
166 | for (i = 0; i < tun->params[j].count; i++) { | 170 | for (i = 0; i < tun->params[j].count; i++) { |
167 | if (freq > tun->params[j].ranges[i].limit) | 171 | if (freq > tun->params[j].ranges[i].limit) |
168 | continue; | 172 | continue; |
@@ -340,6 +344,9 @@ static void default_set_radio_freq(struct i2c_client *c, unsigned int freq) | |||
340 | continue; | 344 | continue; |
341 | break; | 345 | break; |
342 | } | 346 | } |
347 | /* use default tuner_params if desired_type not available */ | ||
348 | if (desired_type != tun->params[j].type) | ||
349 | j = 0; | ||
343 | 350 | ||
344 | div = (20 * freq / 16000) + (int)(20*10.7); /* IF 10.7 MHz */ | 351 | div = (20 * freq / 16000) + (int)(20*10.7); /* IF 10.7 MHz */ |
345 | buffer[2] = (tun->params[j].ranges[0].config & ~TUNER_RATIO_MASK) | TUNER_RATIO_SELECT_50; /* 50 kHz step */ | 352 | buffer[2] = (tun->params[j].ranges[0].config & ~TUNER_RATIO_MASK) | TUNER_RATIO_SELECT_50; /* 50 kHz step */ |