Commit 4f9b8389 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman

Merge tag 'usb-serial-5.0-rc3' of...

Merge tag 'usb-serial-5.0-rc3' of https://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial into usb-linus

Johan writes:

USB-serial fixes for 5.0-rc3

Here's a fix for the new ftdi gpio support, which failed to take
autosuspend into account, and a patch adding missing SPDX identifiers to
the keyspan headers.

Included are also some new device ids.

All but the SPDX patch have been in linux-next with no reported issues.
Signed-off-by: default avatarJohan Hovold <johan@kernel.org>

* tag 'usb-serial-5.0-rc3' of https://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial:
  USB: serial: keyspan_usa: add proper SPDX lines for .h files
  USB: serial: pl2303: add new PID to support PL2303TB
  USB: serial: ftdi_sio: fix GPIO not working in autosuspend
  USB: serial: simple: add Motorola Tetra TPG2200 device id
parents af707f58 527c1e56
...@@ -1783,6 +1783,10 @@ static int ftdi_set_bitmode(struct usb_serial_port *port, u8 mode) ...@@ -1783,6 +1783,10 @@ static int ftdi_set_bitmode(struct usb_serial_port *port, u8 mode)
int result; int result;
u16 val; u16 val;
result = usb_autopm_get_interface(serial->interface);
if (result)
return result;
val = (mode << 8) | (priv->gpio_output << 4) | priv->gpio_value; val = (mode << 8) | (priv->gpio_output << 4) | priv->gpio_value;
result = usb_control_msg(serial->dev, result = usb_control_msg(serial->dev,
usb_sndctrlpipe(serial->dev, 0), usb_sndctrlpipe(serial->dev, 0),
...@@ -1795,6 +1799,8 @@ static int ftdi_set_bitmode(struct usb_serial_port *port, u8 mode) ...@@ -1795,6 +1799,8 @@ static int ftdi_set_bitmode(struct usb_serial_port *port, u8 mode)
val, result); val, result);
} }
usb_autopm_put_interface(serial->interface);
return result; return result;
} }
...@@ -1846,9 +1852,15 @@ static int ftdi_read_cbus_pins(struct usb_serial_port *port) ...@@ -1846,9 +1852,15 @@ static int ftdi_read_cbus_pins(struct usb_serial_port *port)
unsigned char *buf; unsigned char *buf;
int result; int result;
result = usb_autopm_get_interface(serial->interface);
if (result)
return result;
buf = kmalloc(1, GFP_KERNEL); buf = kmalloc(1, GFP_KERNEL);
if (!buf) if (!buf) {
usb_autopm_put_interface(serial->interface);
return -ENOMEM; return -ENOMEM;
}
result = usb_control_msg(serial->dev, result = usb_control_msg(serial->dev,
usb_rcvctrlpipe(serial->dev, 0), usb_rcvctrlpipe(serial->dev, 0),
...@@ -1863,6 +1875,7 @@ static int ftdi_read_cbus_pins(struct usb_serial_port *port) ...@@ -1863,6 +1875,7 @@ static int ftdi_read_cbus_pins(struct usb_serial_port *port)
} }
kfree(buf); kfree(buf);
usb_autopm_put_interface(serial->interface);
return result; return result;
} }
......
/* SPDX-License-Identifier: BSD-3-Clause */
/* /*
usa26msg.h usa26msg.h
......
/* SPDX-License-Identifier: BSD-3-Clause */
/* /*
usa28msg.h usa28msg.h
......
/* SPDX-License-Identifier: BSD-3-Clause */
/* /*
usa49msg.h usa49msg.h
......
/* SPDX-License-Identifier: BSD-3-Clause */
/* /*
usa67msg.h usa67msg.h
......
/* SPDX-License-Identifier: BSD-3-Clause */
/* /*
usa90msg.h usa90msg.h
......
...@@ -46,6 +46,7 @@ static const struct usb_device_id id_table[] = { ...@@ -46,6 +46,7 @@ static const struct usb_device_id id_table[] = {
{ USB_DEVICE(PL2303_VENDOR_ID, PL2303_PRODUCT_ID_HCR331) }, { USB_DEVICE(PL2303_VENDOR_ID, PL2303_PRODUCT_ID_HCR331) },
{ USB_DEVICE(PL2303_VENDOR_ID, PL2303_PRODUCT_ID_MOTOROLA) }, { USB_DEVICE(PL2303_VENDOR_ID, PL2303_PRODUCT_ID_MOTOROLA) },
{ USB_DEVICE(PL2303_VENDOR_ID, PL2303_PRODUCT_ID_ZTEK) }, { USB_DEVICE(PL2303_VENDOR_ID, PL2303_PRODUCT_ID_ZTEK) },
{ USB_DEVICE(PL2303_VENDOR_ID, PL2303_PRODUCT_ID_TB) },
{ USB_DEVICE(IODATA_VENDOR_ID, IODATA_PRODUCT_ID) }, { USB_DEVICE(IODATA_VENDOR_ID, IODATA_PRODUCT_ID) },
{ USB_DEVICE(IODATA_VENDOR_ID, IODATA_PRODUCT_ID_RSAQ5) }, { USB_DEVICE(IODATA_VENDOR_ID, IODATA_PRODUCT_ID_RSAQ5) },
{ USB_DEVICE(ATEN_VENDOR_ID, ATEN_PRODUCT_ID), { USB_DEVICE(ATEN_VENDOR_ID, ATEN_PRODUCT_ID),
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
#define PL2303_VENDOR_ID 0x067b #define PL2303_VENDOR_ID 0x067b
#define PL2303_PRODUCT_ID 0x2303 #define PL2303_PRODUCT_ID 0x2303
#define PL2303_PRODUCT_ID_TB 0x2304
#define PL2303_PRODUCT_ID_RSAQ2 0x04bb #define PL2303_PRODUCT_ID_RSAQ2 0x04bb
#define PL2303_PRODUCT_ID_DCU11 0x1234 #define PL2303_PRODUCT_ID_DCU11 0x1234
#define PL2303_PRODUCT_ID_PHAROS 0xaaa0 #define PL2303_PRODUCT_ID_PHAROS 0xaaa0
...@@ -20,6 +21,7 @@ ...@@ -20,6 +21,7 @@
#define PL2303_PRODUCT_ID_MOTOROLA 0x0307 #define PL2303_PRODUCT_ID_MOTOROLA 0x0307
#define PL2303_PRODUCT_ID_ZTEK 0xe1f1 #define PL2303_PRODUCT_ID_ZTEK 0xe1f1
#define ATEN_VENDOR_ID 0x0557 #define ATEN_VENDOR_ID 0x0557
#define ATEN_VENDOR_ID2 0x0547 #define ATEN_VENDOR_ID2 0x0547
#define ATEN_PRODUCT_ID 0x2008 #define ATEN_PRODUCT_ID 0x2008
......
...@@ -85,7 +85,8 @@ DEVICE(moto_modem, MOTO_IDS); ...@@ -85,7 +85,8 @@ DEVICE(moto_modem, MOTO_IDS);
/* Motorola Tetra driver */ /* Motorola Tetra driver */
#define MOTOROLA_TETRA_IDS() \ #define MOTOROLA_TETRA_IDS() \
{ USB_DEVICE(0x0cad, 0x9011) }, /* Motorola Solutions TETRA PEI */ \ { USB_DEVICE(0x0cad, 0x9011) }, /* Motorola Solutions TETRA PEI */ \
{ USB_DEVICE(0x0cad, 0x9012) } /* MTP6550 */ { USB_DEVICE(0x0cad, 0x9012) }, /* MTP6550 */ \
{ USB_DEVICE(0x0cad, 0x9016) } /* TPG2200 */
DEVICE(motorola_tetra, MOTOROLA_TETRA_IDS); DEVICE(motorola_tetra, MOTOROLA_TETRA_IDS);
/* Novatel Wireless GPS driver */ /* Novatel Wireless GPS driver */
......
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