summaryrefslogtreecommitdiff
path: root/drivers/usb/serial/qcserial.c
diff options
context:
space:
mode:
authorBjørn Mork <bjorn@mork.no>2012-07-15 14:47:39 (GMT)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-07-17 00:17:59 (GMT)
commite7ad21e00eab6b77fb9b5cd79512b7dee473f476 (patch)
tree679112b8c4aa37f37efa96a0c7ed464f3fe8d973 /drivers/usb/serial/qcserial.c
parent0dfbf65eb070a6dda535fcfec6028a7412698358 (diff)
downloadlinux-fsl-qoriq-e7ad21e00eab6b77fb9b5cd79512b7dee473f476.tar.xz
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>
Diffstat (limited to 'drivers/usb/serial/qcserial.c')
-rw-r--r--drivers/usb/serial/qcserial.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/usb/serial/qcserial.c b/drivers/usb/serial/qcserial.c
index a9c4dc4..90395c7 100644
--- a/drivers/usb/serial/qcserial.c
+++ b/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;