usb: core: check for valid id_table when using the RefId feature
When implementing the RefId feature, it was missed that id_tables can be
NULL under special circumstances. Bail out in that case.
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
diff --git a/drivers/usb/core/driver.c b/drivers/usb/core/driver.c
index 620a0ba..5d01558 100644
--- a/drivers/usb/core/driver.c
+++ b/drivers/usb/core/driver.c
@@ -73,6 +73,9 @@
if (fields > 4) {
const struct usb_device_id *id = id_table;
+ if (!id)
+ return -ENODEV;
+
for (; id->match_flags; id++)
if (id->idVendor == refVendor && id->idProduct == refProduct)
break;