usb: core: let dynamic ids override static ids

This modifies the probing order so that any matching
dynamic entry always will be used, even if the driver
has a matching static entry.

It is sometimes useful to dynamically update existing
device entries. With the new ability to set the dynamic
entry driver_info field, this can be used to test new
additions to class driver exception lists or proposed
changes to existing static per-device driver_info
entries.

Signed-off-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Bjørn Mork 2014-01-11 02:04:00 +01:00 committed by Greg Kroah-Hartman
parent 823d12c95c
commit 31c6bf7095

View file

@ -302,9 +302,9 @@ static int usb_probe_interface(struct device *dev)
return error;
}
id = usb_match_id(intf, driver->id_table);
id = usb_match_dynamic_id(intf, driver);
if (!id)
id = usb_match_dynamic_id(intf, driver);
id = usb_match_id(intf, driver->id_table);
if (!id)
return error;