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: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
@@ -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)
|
|||||||
* 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) */
|
||||||
|
Reference in New Issue
Block a user