Browse Source

[media] tda10071: add missing error status when probe() fails

We must return -ENODEV error on case probe() fails to detect chip.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Antti Palosaari 10 years ago
parent
commit
ab80b19bb9
1 changed files with 15 additions and 3 deletions
  1. 15 3
      drivers/media/dvb-frontends/tda10071.c

+ 15 - 3
drivers/media/dvb-frontends/tda10071.c

@@ -1348,18 +1348,30 @@ static int tda10071_probe(struct i2c_client *client,
 
 	/* chip ID */
 	ret = tda10071_rd_reg(dev, 0xff, &u8tmp);
-	if (ret || u8tmp != 0x0f)
+	if (ret)
+		goto err_kfree;
+	if (u8tmp != 0x0f) {
+		ret = -ENODEV;
 		goto err_kfree;
+	}
 
 	/* chip type */
 	ret = tda10071_rd_reg(dev, 0xdd, &u8tmp);
-	if (ret || u8tmp != 0x00)
+	if (ret)
+		goto err_kfree;
+	if (u8tmp != 0x00) {
+		ret = -ENODEV;
 		goto err_kfree;
+	}
 
 	/* chip version */
 	ret = tda10071_rd_reg(dev, 0xfe, &u8tmp);
-	if (ret || u8tmp != 0x01)
+	if (ret)
 		goto err_kfree;
+	if (u8tmp != 0x01) {
+		ret = -ENODEV;
+		goto err_kfree;
+	}
 
 	/* create dvb_frontend */
 	memcpy(&dev->fe.ops, &tda10071_ops, sizeof(struct dvb_frontend_ops));