[PATCH] i2c: tiny-usb: check usb base class before assuming the interface on device is for this driver

From: Harry Geyer
Date: Wed Jul 19 2023 - 07:39:53 EST


Patch allows usb devices with multiple interfaces to use this driver without
this driver assuming all interfaces are i2c-tiny-usb.

Signed-off-by: Harry Geyer <harry.geyer@xxxxxxxxxxxxx>
---
drivers/i2c/busses/i2c-tiny-usb.c | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/drivers/i2c/busses/i2c-tiny-usb.c b/drivers/i2c/busses/i2c-tiny-usb.c
index d1fa9ff5aeab..fc194c65e50e 100644
--- a/drivers/i2c/busses/i2c-tiny-usb.c
+++ b/drivers/i2c/busses/i2c-tiny-usb.c
@@ -222,6 +222,11 @@ static int i2c_tiny_usb_probe(struct usb_interface *interface,
int retval = -ENOMEM;
u16 version;

+ if (interface->intf_assoc &&
+ interface->intf_assoc->bFunctionClass != USB_CLASS_VENDOR_SPEC) {
+ return -ENODEV;
+ }
+
dev_dbg(&interface->dev, "probing usb device\n");

/* allocate memory for our device state and initialize it */
--
2.34.1