Commit de6f92b9 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman

USB: handle idVendor of 0x0000

Some crazy devices in the wild have a vendor id of 0x0000.  If we try to
add a module alias with this id, we just can't do it due to a check in
the file2alias.c file.  Change the test to verify that both the vendor
and product ids are 0x0000 to show a real "blank" module alias.

Note, the module-init-tools package also needs to be changed to properly
generate the depmod tables.

Cc: Janusz <janumix@poczta.fm>
Cc: stable <stable@kernel.org>
Cc: Jon Masters <jcm@redhat.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 6ce4560a
...@@ -534,8 +534,8 @@ const struct usb_device_id *usb_match_id(struct usb_interface *interface, ...@@ -534,8 +534,8 @@ const struct usb_device_id *usb_match_id(struct usb_interface *interface,
id->driver_info is the way to create an entry that id->driver_info is the way to create an entry that
indicates that the driver want to examine every indicates that the driver want to examine every
device and interface. */ device and interface. */
for (; id->idVendor || id->bDeviceClass || id->bInterfaceClass || for (; id->idVendor || id->idProduct || id->bDeviceClass ||
id->driver_info; id++) { id->bInterfaceClass || id->driver_info; id++) {
if (usb_match_one_id(interface, id)) if (usb_match_one_id(interface, id))
return id; return id;
} }
......
...@@ -155,7 +155,7 @@ static void do_usb_entry_multi(struct usb_device_id *id, struct module *mod) ...@@ -155,7 +155,7 @@ static void do_usb_entry_multi(struct usb_device_id *id, struct module *mod)
* Some modules (visor) have empty slots as placeholder for * Some modules (visor) have empty slots as placeholder for
* run-time specification that results in catch-all alias * run-time specification that results in catch-all alias
*/ */
if (!(id->idVendor | id->bDeviceClass | id->bInterfaceClass)) if (!(id->idVendor | id->idProduct | id->bDeviceClass | id->bInterfaceClass))
return; return;
/* Convert numeric bcdDevice range into fnmatch-able pattern(s) */ /* Convert numeric bcdDevice range into fnmatch-able pattern(s) */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment