[PATCH] [RFC] cxacru: ignore ADSL routers

From: Ondrej Zary
Date: Sat Sep 04 2010 - 08:01:22 EST


Ignore ADSL routers, which can have the same vendor and product IDs as ADSL
modems but should be driven by cx82310_eth driver.

Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx>

--- linux-2.6.35-rc2/drivers/usb/atm/cxacru.c 2010-06-06 05:43:24.000000000 +0200
+++ linux-2.6.35-rc3/drivers/usb/atm/cxacru.c 2010-09-04 11:54:35.000000000 +0200
@@ -1129,6 +1129,17 @@ static int cxacru_bind(struct usbatm_dat
struct cxacru_data *instance;
struct usb_device *usb_dev = interface_to_usbdev(intf);
int ret;
+ char buf[15];
+
+ /* avoid ADSL routers - abort if bDeviceClass is 0xff and iProduct is "USB NET CARD" */
+ if (usb_dev->descriptor.bDeviceClass == 0xff &&
+ usb_dev->descriptor.iProduct &&
+ usb_string(usb_dev, usb_dev->descriptor.iProduct, buf, sizeof(buf)) &&
+ !strcmp(buf, "USB NET CARD")) {
+ usb_err(usbatm_instance,
+ "probably an ADSL router, use cx82310_eth driver instead\n");
+ return -ENODEV;
+ }

/* instance init */
instance = kzalloc(sizeof(*instance), GFP_KERNEL);


--
Ondrej Zary
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/