Commit 5f760040 authored by Chris Collins's avatar Chris Collins Committed by Greg Kroah-Hartman
Browse files

USB: option.c: correct DTR behaviour

Setting DTR et al. should work for all interfaces
if you actually pass the interface number. :-P
This should help with devices that have important pseudo-serial ports
that aren't on the first interface in the device.
Signed-off-by: default avatarChris Collins <>
Signed-off-by: default avatarMatthias Urlichs <>
Signed-off-by: default avatarGreg Kroah-Hartman <>
parent e6a79f1f
......@@ -28,7 +28,7 @@
device features.
#define DRIVER_VERSION "v0.7.1"
#define DRIVER_VERSION "v0.7.2"
#define DRIVER_AUTHOR "Matthias Urlichs <>"
#define DRIVER_DESC "USB Driver for GSM modems"
......@@ -824,16 +824,19 @@ static void option_setup_urbs(struct usb_serial *serial)
/** send RTS/DTR state to the port.
* This is exactly the same as SET_CONTROL_LINE_STATE from the PSTN
* CDC.
static int option_send_setup(struct usb_serial_port *port)
struct usb_serial *serial = port->serial;
struct option_port_private *portdata;
int ifNum = serial->interface->cur_altsetting->desc.bInterfaceNumber;
dbg("%s", __FUNCTION__);
if (port->number != 0)
return 0;
portdata = usb_get_serial_port_data(port);
if (port->tty) {
......@@ -845,7 +848,7 @@ static int option_send_setup(struct usb_serial_port *port)
return usb_control_msg(serial->dev,
usb_rcvctrlpipe(serial->dev, 0),
return 0;
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment