aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/usb/serial/ftdi_sio.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c
index e4d7fbd7e4e7..242b5776648a 100644
--- a/drivers/usb/serial/ftdi_sio.c
+++ b/drivers/usb/serial/ftdi_sio.c
@@ -1789,20 +1789,24 @@ static int ftdi_8u2232c_probe(struct usb_serial *serial)
1789} 1789}
1790 1790
1791/* 1791/*
1792 * First and second port on STMCLiteadaptors is reserved for JTAG interface 1792 * First two ports on JTAG adaptors using an FT4232 such as STMicroelectronics's
1793 * and the forth port for pio 1793 * ST Micro Connect Lite are reserved for JTAG or other non-UART interfaces and
1794 * can be accessed from userspace.
1795 * The next two ports are enabled as UARTs by default, where port 2 is
1796 * a conventional RS-232 UART.
1794 */ 1797 */
1795static int ftdi_stmclite_probe(struct usb_serial *serial) 1798static int ftdi_stmclite_probe(struct usb_serial *serial)
1796{ 1799{
1797 struct usb_device *udev = serial->dev; 1800 struct usb_device *udev = serial->dev;
1798 struct usb_interface *interface = serial->interface; 1801 struct usb_interface *interface = serial->interface;
1799 1802
1800 if (interface == udev->actconfig->interface[2]) 1803 if (interface == udev->actconfig->interface[0] ||
1801 return 0; 1804 interface == udev->actconfig->interface[1]) {
1802 1805 dev_info(&udev->dev, "Ignoring serial port reserved for JTAG\n");
1803 dev_info(&udev->dev, "Ignoring serial port reserved for JTAG\n"); 1806 return -ENODEV;
1807 }
1804 1808
1805 return -ENODEV; 1809 return 0;
1806} 1810}
1807 1811
1808/* 1812/*