On Thu, 2020-07-23 at 12:12 +0000, Peter Chen wrote: > <snip> > I may clear now, thanks. > > So, you mean your device has no interface descriptor, so you can't > create a USB interface driver, and have to create non-generic device > driver for it. I see there is __check_usb_generic function at > generic.c > to check if it could use generic driver or not, you may add some > condition (eg, no interface descriptor) to avoid using generic driver > Is it feasible? I'm not looking for work-arounds, the driver is meant to be for *the device*, not for interfaces. It does have interfaces, but they're not the target of the calls made. There's a race between USB device (not interface) drivers on the first plug, which I'm trying to fix.