diff options
Diffstat (limited to 'drivers/usb/class')
| -rw-r--r-- | drivers/usb/class/cdc-acm.c | 9 | ||||
| -rw-r--r-- | drivers/usb/class/usbtmc.c | 4 | 
2 files changed, 12 insertions, 1 deletions
diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c index 326dd7f65ee9..b3d5a23ab56f 100644 --- a/drivers/usb/class/cdc-acm.c +++ b/drivers/usb/class/cdc-acm.c @@ -1376,6 +1376,15 @@ static struct usb_device_id acm_ids[] = {  	{ USB_DEVICE(0x0572, 0x1324), /* Conexant USB MODEM RD02-D400 */  	.driver_info = NO_UNION_NORMAL, /* has no union descriptor */  	}, +	{ USB_DEVICE(0x22b8, 0x6425), /* Motorola MOTOMAGX phones */ +	}, +	{ USB_DEVICE(0x0572, 0x1329), /* Hummingbird huc56s (Conexant) */ +	.driver_info = NO_UNION_NORMAL, /* union descriptor misplaced on +					   data interface instead of +					   communications interface. +					   Maybe we should define a new +					   quirk for this. */ +	},  	/* control interfaces with various AT-command sets */  	{ USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, diff --git a/drivers/usb/class/usbtmc.c b/drivers/usb/class/usbtmc.c index 0f5c05f6f9df..c40a9b284cc9 100644 --- a/drivers/usb/class/usbtmc.c +++ b/drivers/usb/class/usbtmc.c @@ -50,6 +50,7 @@  static struct usb_device_id usbtmc_devices[] = {  	{ USB_INTERFACE_INFO(USB_CLASS_APP_SPEC, 3, 0), }, +	{ USB_INTERFACE_INFO(USB_CLASS_APP_SPEC, 3, 1), },  	{ 0, } /* terminating entry */  };  MODULE_DEVICE_TABLE(usb, usbtmc_devices); @@ -106,12 +107,13 @@ static int usbtmc_open(struct inode *inode, struct file *filp)  {  	struct usb_interface *intf;  	struct usbtmc_device_data *data; -	int retval = -ENODEV; +	int retval = 0;  	intf = usb_find_interface(&usbtmc_driver, iminor(inode));  	if (!intf) {  		printk(KERN_ERR KBUILD_MODNAME  		       ": can not find device for minor %d", iminor(inode)); +		retval = -ENODEV;  		goto exit;  	}  |