diff options
author | Jan Nijs <jan.nijs@scarlet.be> | 2006-10-07 00:06:54 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-02-21 10:34:52 -0500 |
commit | 565ef12713c5620b6f802d67861153a3f68499a4 (patch) | |
tree | 668360662c2eada3342e11b731058706ad9e5980 | |
parent | e2d79439c2253571e4d32fe959663b5615d89907 (diff) |
V4L/DVB (5135): Qt1010: correct hardlockup when an app access the DVB dongle
This patch changes qt1010.h to use dvb_usb_device struct instead of a
dvb_usb_adapter for accessing the private area of the driver.
Without this patch my PC hard locks when an application tries to access
the DVB tuner.
Signed-off-by: Jan Nijs <jan.nijs@scarlet.be>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r-- | drivers/media/dvb/frontends/qt1010.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/media/dvb/frontends/qt1010.h b/drivers/media/dvb/frontends/qt1010.h index 59ee1cd03e33..8196985e4e43 100644 --- a/drivers/media/dvb/frontends/qt1010.h +++ b/drivers/media/dvb/frontends/qt1010.h | |||
@@ -79,7 +79,7 @@ static int qt1010_set_params(struct dvb_frontend *fe, struct dvb_frontend_parame | |||
79 | { QT1010_W, 0x01, 0x00 }, | 79 | { QT1010_W, 0x01, 0x00 }, |
80 | }; | 80 | }; |
81 | struct i2c_msg msg; | 81 | struct i2c_msg msg; |
82 | struct dvb_usb_device *d = fe->dvb->priv; | 82 | struct dvb_usb_adapter *adap = fe->dvb->priv; |
83 | unsigned long freq = params->frequency; | 83 | unsigned long freq = params->frequency; |
84 | 84 | ||
85 | if (freq % QT1010_MIN_STEP) | 85 | if (freq % QT1010_MIN_STEP) |
@@ -203,10 +203,10 @@ static int qt1010_set_params(struct dvb_frontend *fe, struct dvb_frontend_parame | |||
203 | 203 | ||
204 | msg.flags = 0; | 204 | msg.flags = 0; |
205 | msg.len = 2; | 205 | msg.len = 2; |
206 | msg.addr = d->adapter[0].pll_addr; | 206 | msg.addr = adap->dev->adapter[0].pll_addr; |
207 | msg.buf = &rd[i].reg; | 207 | msg.buf = &rd[i].reg; |
208 | 208 | ||
209 | if (i2c_transfer(&d->i2c_adap, &msg, 1) != 1) { | 209 | if (i2c_transfer(&adap->dev->i2c_adap, &msg, 1) != 1) { |
210 | printk("tuner write failed\n"); | 210 | printk("tuner write failed\n"); |
211 | return -EIO; | 211 | return -EIO; |
212 | } | 212 | } |