diff options
author | Michael Brown | 2015-09-14 17:53:05 +0200 |
---|---|---|
committer | Michael Brown | 2015-09-14 22:45:34 +0200 |
commit | 549a0caabb2f239fc702ccea3c1825518e13d121 (patch) | |
tree | b89fb7f19ff26d792f50ff027e2755862e87cb1f /src/drivers/net/ecm.c | |
parent | [efi] Include a copy of the device path within struct efi_device (diff) | |
download | ipxe-549a0caabb2f239fc702ccea3c1825518e13d121.tar.gz ipxe-549a0caabb2f239fc702ccea3c1825518e13d121.tar.xz ipxe-549a0caabb2f239fc702ccea3c1825518e13d121.zip |
[usb] Select preferred USB device configuration based on driver score
Generate a score for each possible USB device configuration based on
the available driver support, and select the configuration with the
highest score. This will allow us to prefer ECM over RNDIS (for
devices which support both) and will allow us to meaningfully select a
configuration even when we have drivers available for all functions
(e.g. when exposing unused functions via EFI_USB_IO_PROTOCOL).
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/drivers/net/ecm.c')
-rw-r--r-- | src/drivers/net/ecm.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/drivers/net/ecm.c b/src/drivers/net/ecm.c index 8c84ea9e..f24a435a 100644 --- a/src/drivers/net/ecm.c +++ b/src/drivers/net/ecm.c @@ -515,6 +515,7 @@ static struct usb_device_id ecm_ids[] = { struct usb_driver ecm_driver __usb_driver = { .ids = ecm_ids, .id_count = ( sizeof ( ecm_ids ) / sizeof ( ecm_ids[0] ) ), + .score = USB_SCORE_NORMAL, .probe = ecm_probe, .remove = ecm_remove, }; |