Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 00b040de authored by Alan Cox's avatar Alan Cox Committed by Linus Torvalds
Browse files

tty: resolve some sierra breakage



The various merges into the sierra driver inadvertently undid
commit 212b8f0c by Elina Pasheva
<epasheva@sierrawireless.com>. Put it back so the OBEX port works again.

Signed-off-by: default avatarAlan Cox <alan@linux.intel.com>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 7d55deaf
Loading
Loading
Loading
Loading
+14 −3
Original line number Diff line number Diff line
@@ -257,8 +257,19 @@ static int sierra_send_setup(struct usb_serial_port *port)
		val |= 0x02;

	/* If composite device then properly report interface */
	if (serial->num_ports == 1)
	if (serial->num_ports == 1) {
		interface = sierra_calc_interface(serial);
		/* Control message is sent only to interfaces with
		 * interrupt_in endpoints
		 */
		if (port->interrupt_in_urb) {
			/* send control message */
			return usb_control_msg(serial->dev,
				usb_rcvctrlpipe(serial->dev, 0),
				0x22, 0x21, val, interface,
				NULL, 0, USB_CTRL_SET_TIMEOUT);
		}
	}

	/* Otherwise the need to do non-composite mapping */
	else {
@@ -268,11 +279,11 @@ static int sierra_send_setup(struct usb_serial_port *port)
			interface = 1;
		else if (port->bulk_out_endpointAddress == 5)
			interface = 2;
	}
		return usb_control_msg(serial->dev,
			usb_rcvctrlpipe(serial->dev, 0),
			0x22, 0x21, val, interface,
			NULL, 0, USB_CTRL_SET_TIMEOUT);
	}
	return 0;
}