summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans Verkuil2013-03-22 13:54:00 +0100
committerMauro Carvalho Chehab2013-03-22 17:21:10 +0100
commitbc3d292803409ce44febffb8e6839faae6e768fb (patch)
tree51f4b5caaf11751f1de23573d83e72d97cec57a9
parent[media] em28xx: Only change I2C bus inside em28xx-i2c (diff)
downloadkernel-qcow2-linux-bc3d292803409ce44febffb8e6839faae6e768fb.tar.gz
kernel-qcow2-linux-bc3d292803409ce44febffb8e6839faae6e768fb.tar.xz
kernel-qcow2-linux-bc3d292803409ce44febffb8e6839faae6e768fb.zip
[media] em28xx: tuner setup is broken after algo_data change
Commit aab3125c43d8fecc7134e5f1e729fabf4dd196da broke em28xx. I traced this eventually to the change in what algo_data points to. This pointer is also passed to em28xx_tuner_callback() through several hidden tuner layers (yuck!) and that callback was not updated. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--drivers/media/usb/em28xx/em28xx-cards.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/media/usb/em28xx/em28xx-cards.c b/drivers/media/usb/em28xx/em28xx-cards.c
index 46fff5c3335b..cb7cdd322702 100644
--- a/drivers/media/usb/em28xx/em28xx-cards.c
+++ b/drivers/media/usb/em28xx/em28xx-cards.c
@@ -2229,8 +2229,9 @@ static unsigned short msp3400_addrs[] = {
int em28xx_tuner_callback(void *ptr, int component, int command, int arg)
{
+ struct em28xx_i2c_bus *i2c_bus = ptr;
+ struct em28xx *dev = i2c_bus->dev;
int rc = 0;
- struct em28xx *dev = ptr;
if (dev->tuner_type != TUNER_XC2028 && dev->tuner_type != TUNER_XC5000)
return 0;