Browse Source

[media] af9035: enhancement for unknown tuner ID handling

* do not attach frontend when tuner is not supported
* fix unkown tuner ID log write format
* add prefix for dvb-usb log writings

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Antti Palosaari 13 years ago
parent
commit
5a9abae497
2 changed files with 11 additions and 3 deletions
  1. 7 3
      drivers/media/dvb/dvb-usb/af9035.c
  2. 4 0
      drivers/media/dvb/dvb-usb/af9035.h

+ 7 - 3
drivers/media/dvb/dvb-usb/af9035.c

@@ -489,10 +489,9 @@ static int af9035_read_mac_address(struct dvb_usb_device *d, u8 mac[6])
 			af9035_af9033_config[i].spec_inv = 1;
 			break;
 		default:
-			warn("tuner ID=%20x not supported, please report!",
+			af9035_config.hw_not_supported = true;
+			warn("tuner ID=%02x not supported, please report!",
 				tmp);
-			ret = -ENODEV;
-			goto err;
 		};
 
 		/* tuner IF frequency */
@@ -535,6 +534,11 @@ static int af9035_frontend_attach(struct dvb_usb_adapter *adap)
 {
 	int ret;
 
+	if (af9035_config.hw_not_supported) {
+		ret = -ENODEV;
+		goto err;
+	}
+
 	if (adap->id == 0) {
 		ret = af9035_wr_reg(adap->dev, 0x00417f,
 				af9035_af9033_config[1].i2c_addr);

+ 4 - 0
drivers/media/dvb/dvb-usb/af9035.h

@@ -22,6 +22,9 @@
 #ifndef AF9035_H
 #define AF9035_H
 
+/* prefix for dvb-usb log writings */
+#define DVB_USB_LOG_PREFIX "af9035"
+
 #include "dvb-usb.h"
 
 struct reg_val {
@@ -46,6 +49,7 @@ struct usb_req {
 
 struct config {
 	bool dual_mode;
+	bool hw_not_supported;
 };
 
 struct fw_segment {