[media] it913x: fix pid filter
authorAntti Palosaari <crope@iki.fi>
Sun, 10 Mar 2013 00:10:14 +0000 (21:10 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sat, 23 Mar 2013 13:02:41 +0000 (10:02 -0300)
I just made commit: "dvb_usb_v2: rework USB streaming logic" that
breaks that driver PID filter.
it913x driver checks use of PID filter directly from DVB USB v2 core
internal variable "adap->pid_filtering" and stores it to own state.
Calling order of .pid_filter_ctrl() and .pid_filter() was changed
and due to that state was updated too late. Update state earlier.
TODO: checking PID filter usage from DVB USB v2 is not very good idea
as PID filter callbacks are called only when PID filter is enabled.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/usb/dvb-usb-v2/it913x.c

index 833847995c658cf3d374149c7be454f2782c1e4e..e48cdeb9df41bd3ad5edfae9e6b00e1af7354753 100644 (file)
@@ -218,6 +218,7 @@ static int it913x_pid_filter_ctrl(struct dvb_usb_adapter *adap, int onoff)
 
        deb_info(1, "PID_C  (%02x)", onoff);
 
+       st->pid_filter_onoff = adap->pid_filtering;
        ret = it913x_wr_reg(d, pro, PID_EN, st->pid_filter_onoff);
 
        mutex_unlock(&d->i2c_mutex);