Browse Source

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>
Jan Nijs 19 years ago
parent
commit
565ef12713
1 changed files with 3 additions and 3 deletions
  1. 3 3
      drivers/media/dvb/frontends/qt1010.h

+ 3 - 3
drivers/media/dvb/frontends/qt1010.h

@@ -79,7 +79,7 @@ static int qt1010_set_params(struct dvb_frontend *fe, struct dvb_frontend_parame
 			{ QT1010_W, 0x01, 0x00 },
 			};
 	struct i2c_msg msg;
-	struct dvb_usb_device *d = fe->dvb->priv;
+	struct dvb_usb_adapter *adap = fe->dvb->priv;
 	unsigned long freq = params->frequency;
 
 	if (freq % QT1010_MIN_STEP)
@@ -203,10 +203,10 @@ static int qt1010_set_params(struct dvb_frontend *fe, struct dvb_frontend_parame
 
 		msg.flags = 0;
 		msg.len = 2;
-		msg.addr = d->adapter[0].pll_addr;
+		msg.addr = adap->dev->adapter[0].pll_addr;
 		msg.buf = &rd[i].reg;
 
-		if (i2c_transfer(&d->i2c_adap, &msg, 1) != 1) {
+		if (i2c_transfer(&adap->dev->i2c_adap, &msg, 1) != 1) {
 			printk("tuner write failed\n");
 			return -EIO;
 		}