aboutsummaryrefslogtreecommitdiff
path: root/drivers/media
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/video/msp3400.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/media/video/msp3400.c b/drivers/media/video/msp3400.c
index 117d124657d..5573f68ce45 100644
--- a/drivers/media/video/msp3400.c
+++ b/drivers/media/video/msp3400.c
@@ -1788,6 +1788,10 @@ static int msp_command(struct i2c_client *client, unsigned int cmd, void *arg)
dprintk("msp34xx: AUDC_SET_RADIO\n");
msp->norm = VIDEO_MODE_RADIO;
dprintk("msp34xx: switching to radio mode\n");
+ if (IS_MSP34XX_G(msp)) {
+ msp34xxg_reset(client);
+ break;
+ }
msp->watch_stereo = 0;
switch (msp->opmode) {
case OPMODE_MANUAL:
@@ -1902,6 +1906,10 @@ static int msp_command(struct i2c_client *client, unsigned int cmd, void *arg)
dprintk("msp34xx: VIDIOCSCHAN (norm=%d)\n",vc->norm);
msp->norm = vc->norm;
+ if (IS_MSP34XX_G(msp)) {
+ msp34xxg_reset(client);
+ break;
+ }
msp_wake_thread(client);
break;
}
@@ -1911,6 +1919,10 @@ static int msp_command(struct i2c_client *client, unsigned int cmd, void *arg)
{
/* new channel -- kick audio carrier scan */
dprintk("msp34xx: VIDIOCSFREQ\n");
+ if (IS_MSP34XX_G(msp)) {
+ msp34xxg_reset(client);
+ break;
+ }
msp_wake_thread(client);
break;
}