diff options
author | Dan Williams <dcbw@redhat.com> | 2013-03-13 09:58:18 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-03-20 13:10:53 -0700 |
commit | d9d69bf5a076f683e6dbbd48488f401842502ccc (patch) | |
tree | 8f0f9e102feeb24d1cdcbe079abd7b963ad677ca /drivers/usb | |
parent | 79ba4d02f6b7945dfb3a4a05850305b1d34f92bf (diff) |
qcserial: bind to DM/DIAG port on Gobi 1K devices
commit 3f8bc5e4da29c7e05edeca6b475abb4fb01a5a13 upstream.
Turns out we just need altsetting 1 and then we can talk to it.
Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/serial/qcserial.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/usb/serial/qcserial.c b/drivers/usb/serial/qcserial.c index 24662547dc5b..59b32b782126 100644 --- a/drivers/usb/serial/qcserial.c +++ b/drivers/usb/serial/qcserial.c @@ -197,12 +197,15 @@ static int qcprobe(struct usb_serial *serial, const struct usb_device_id *id) if (is_gobi1k) { /* Gobi 1K USB layout: - * 0: serial port (doesn't respond) + * 0: DM/DIAG (use libqcdm from ModemManager for communication) * 1: serial port (doesn't respond) * 2: AT-capable modem port * 3: QMI/net */ - if (ifnum == 2) + if (ifnum == 0) { + dev_dbg(dev, "Gobi 1K DM/DIAG interface found\n"); + altsetting = 1; + } else if (ifnum == 2) dev_dbg(dev, "Modem port found\n"); else altsetting = -1; |