summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohan Hovold <johan@kernel.org>2025-11-10 12:12:07 +0100
committerJohan Hovold <johan@kernel.org>2025-11-17 11:23:15 +0100
commit73de1ddaf4e6f851eb3f67751c3aadb62229094b (patch)
tree82309238db621085e2b29a1e33c2dc74b1c3b774
parent448016e3265410ee61006da1ffa3478854baba4b (diff)
USB: serial: ftdi_sio: rewrite 8u2232c quirk
Rewrite the 8u2232c quirk to avoid the manufacturer and product string comparisons for the second port which will always be bound. Signed-off-by: Johan Hovold <johan@kernel.org>
-rw-r--r--drivers/usb/serial/ftdi_sio.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c
index 05b3c558d1e2..3f224e3c3322 100644
--- a/drivers/usb/serial/ftdi_sio.c
+++ b/drivers/usb/serial/ftdi_sio.c
@@ -2302,16 +2302,21 @@ static int ftdi_jtag_probe(struct usb_serial *serial)
static int ftdi_8u2232c_probe(struct usb_serial *serial)
{
+ struct usb_interface *intf = serial->interface;
struct usb_device *udev = serial->dev;
+ int ifnum = intf->cur_altsetting->desc.bInterfaceNumber;
- if (udev->manufacturer && !strcmp(udev->manufacturer, "CALAO Systems"))
- return ftdi_jtag_probe(serial);
+ if (ifnum == 0) {
+ if (udev->manufacturer &&
+ !strcmp(udev->manufacturer, "CALAO Systems"))
+ return -ENODEV;
- if (udev->product &&
- (!strcmp(udev->product, "Arrow USB Blaster") ||
- !strcmp(udev->product, "BeagleBone/XDS100V2") ||
- !strcmp(udev->product, "SNAP Connect E10")))
- return ftdi_jtag_probe(serial);
+ if (udev->product &&
+ (!strcmp(udev->product, "Arrow USB Blaster") ||
+ !strcmp(udev->product, "BeagleBone/XDS100V2") ||
+ !strcmp(udev->product, "SNAP Connect E10")))
+ return -ENODEV;
+ }
return 0;
}