Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

USB: Also match device drivers using the ->match vfunc

We only ever used the ID table matching before, but we should also support
open-coded match functions.

Fixes: 88b7381a939de ("USB: Select better matching USB drivers when available")
Signed-off-by: Bastien Nocera <hadess@hadess.net>
Cc: stable <stable@vger.kernel.org>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Link: https://lore.kernel.org/r/20200818110445.509668-1-hadess@hadess.net
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Bastien Nocera and committed by
Greg Kroah-Hartman
adb6e6ac d54343a8

+3 -2
+3 -2
drivers/usb/core/generic.c
··· 205 205 udrv = to_usb_device_driver(drv); 206 206 if (udrv == &usb_generic_driver) 207 207 return 0; 208 - 209 - return usb_device_match_id(udev, udrv->id_table) != NULL; 208 + if (usb_device_match_id(udev, udrv->id_table) != NULL) 209 + return 1; 210 + return (udrv->match && udrv->match(udev)); 210 211 } 211 212 212 213 static bool usb_generic_driver_match(struct usb_device *udev)