|
@@ -659,12 +659,14 @@ exit:
|
|
static struct usb_serial_driver *search_serial_device(
|
|
static struct usb_serial_driver *search_serial_device(
|
|
struct usb_interface *iface)
|
|
struct usb_interface *iface)
|
|
{
|
|
{
|
|
- const struct usb_device_id *id;
|
|
|
|
|
|
+ const struct usb_device_id *id = NULL;
|
|
struct usb_serial_driver *drv;
|
|
struct usb_serial_driver *drv;
|
|
|
|
+ struct usb_driver *driver = to_usb_driver(iface->dev.driver);
|
|
|
|
|
|
/* Check if the usb id matches a known device */
|
|
/* Check if the usb id matches a known device */
|
|
list_for_each_entry(drv, &usb_serial_driver_list, driver_list) {
|
|
list_for_each_entry(drv, &usb_serial_driver_list, driver_list) {
|
|
- id = get_iface_id(drv, iface);
|
|
|
|
|
|
+ if (drv->usb_driver == driver)
|
|
|
|
+ id = get_iface_id(drv, iface);
|
|
if (id)
|
|
if (id)
|
|
return drv;
|
|
return drv;
|
|
}
|
|
}
|