Procházet zdrojové kódy

USB: qcserial: support generic Qualcomm serial ports

No need to verify the interface layout when doing
interface number based matching.  We can safely trust
the device ID table in this case.

This allows the driver to support any USB interface
layout for non-Gobi 1k/2k+ devices.

Signed-off-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Bjørn Mork před 13 roky
rodič
revize
e7ad21e00e
1 změnil soubory, kde provedl 7 přidání a 0 odebrání
  1. 7 0
      drivers/usb/serial/qcserial.c

+ 7 - 0
drivers/usb/serial/qcserial.c

@@ -165,6 +165,13 @@ static int qcprobe(struct usb_serial *serial, const struct usb_device_id *id)
 
 	}
 
+	/* allow any number of interfaces when doing direct interface match */
+	if (id->match_flags & USB_DEVICE_ID_MATCH_INT_NUMBER) {
+		dev_dbg(dev, "Generic Qualcomm serial interface found\n");
+		altsetting = 0;
+		goto done;
+	}
+
 	if (nintf < 3 || nintf > 4) {
 		dev_err(dev, "unknown number of interfaces: %d\n", nintf);
 		goto done;