|
@@ -295,7 +295,8 @@ static int vidioc_g_tuner(struct file *file, void *priv,
|
|
v->type = V4L2_TUNER_RADIO;
|
|
v->type = V4L2_TUNER_RADIO;
|
|
v->rangelow = FREQ_MIN * FREQ_MUL;
|
|
v->rangelow = FREQ_MIN * FREQ_MUL;
|
|
v->rangehigh = FREQ_MAX * FREQ_MUL;
|
|
v->rangehigh = FREQ_MAX * FREQ_MUL;
|
|
- v->capability = V4L2_TUNER_CAP_LOW | V4L2_TUNER_CAP_STEREO;
|
|
|
|
|
|
+ v->capability = V4L2_TUNER_CAP_LOW | V4L2_TUNER_CAP_STEREO |
|
|
|
|
+ V4L2_TUNER_CAP_HWSEEK_WRAP;
|
|
v->rxsubchans = is_stereo ? V4L2_TUNER_SUB_STEREO : V4L2_TUNER_SUB_MONO;
|
|
v->rxsubchans = is_stereo ? V4L2_TUNER_SUB_STEREO : V4L2_TUNER_SUB_MONO;
|
|
v->audmode = radio->stereo ?
|
|
v->audmode = radio->stereo ?
|
|
V4L2_TUNER_MODE_STEREO : V4L2_TUNER_MODE_MONO;
|
|
V4L2_TUNER_MODE_STEREO : V4L2_TUNER_MODE_MONO;
|
|
@@ -372,7 +373,7 @@ static int vidioc_s_hw_freq_seek(struct file *file, void *priv,
|
|
timeout = jiffies + msecs_to_jiffies(30000);
|
|
timeout = jiffies + msecs_to_jiffies(30000);
|
|
for (;;) {
|
|
for (;;) {
|
|
if (time_after(jiffies, timeout)) {
|
|
if (time_after(jiffies, timeout)) {
|
|
- retval = -EAGAIN;
|
|
|
|
|
|
+ retval = -ENODATA;
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
if (schedule_timeout_interruptible(msecs_to_jiffies(10))) {
|
|
if (schedule_timeout_interruptible(msecs_to_jiffies(10))) {
|