diff options
author | Michael Brown <mcb30@ipxe.org> | 2021-09-08 14:23:21 +0100 |
---|---|---|
committer | Michael Brown <mcb30@ipxe.org> | 2021-09-09 12:52:12 +0100 |
commit | 91e147213c58c4c841416830122a0e44d69f69ad (patch) | |
tree | 2511b81335a9877577ceca48892b399a86704a99 /src/drivers/net/ecm.c | |
parent | 0cc4c42f0af716bc5a363ad699160926e91a4d35 (diff) | |
download | ipxe-91e147213c58c4c841416830122a0e44d69f69ad.tar.gz |
[ecm] Expose USB vendor/device information to ecm_fetch_mac()
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/drivers/net/ecm.c')
-rw-r--r-- | src/drivers/net/ecm.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/drivers/net/ecm.c b/src/drivers/net/ecm.c index 847a45b85..f531b04f8 100644 --- a/src/drivers/net/ecm.c +++ b/src/drivers/net/ecm.c @@ -81,13 +81,14 @@ ecm_ethernet_descriptor ( struct usb_configuration_descriptor *config, /** * Get hardware MAC address * - * @v usb USB device + * @v func USB function * @v desc Ethernet functional descriptor * @v hw_addr Hardware address to fill in * @ret rc Return status code */ -int ecm_fetch_mac ( struct usb_device *usb, +int ecm_fetch_mac ( struct usb_function *func, struct ecm_ethernet_descriptor *desc, uint8_t *hw_addr ) { + struct usb_device *usb = func->usb; char buf[ base16_encoded_len ( ETH_ALEN ) + 1 /* NUL */ ]; int len; int rc; @@ -103,7 +104,7 @@ int ecm_fetch_mac ( struct usb_device *usb, /* Sanity check */ if ( len != ( ( int ) ( sizeof ( buf ) - 1 /* NUL */ ) ) ) { DBGC ( usb, "USB %s has invalid ECM MAC \"%s\"\n", - usb->name, buf ); + func->name, buf ); return -EINVAL; } @@ -112,7 +113,7 @@ int ecm_fetch_mac ( struct usb_device *usb, if ( len < 0 ) { rc = len; DBGC ( usb, "USB %s could not decode ECM MAC \"%s\": %s\n", - usb->name, buf, strerror ( rc ) ); + func->name, buf, strerror ( rc ) ); return rc; } @@ -464,7 +465,7 @@ static int ecm_probe ( struct usb_function *func, } /* Fetch MAC address */ - if ( ( rc = ecm_fetch_mac ( usb, ethernet, netdev->hw_addr ) ) != 0 ) { + if ( ( rc = ecm_fetch_mac ( func, ethernet, netdev->hw_addr ) ) != 0 ) { DBGC ( ecm, "ECM %p could not fetch MAC address: %s\n", ecm, strerror ( rc ) ); goto err_fetch_mac; |