net: Only access network devices after init
PATCH 1/1 net: Only access network devices after init
In the efi_loader main loop we call eth_rx() occasionally. This rx function might end up calling into devices that haven't been initialized yet, potentially resulting in a lot of transfer timeouts.
Instead, let's make sure the ethernet device is actually initialized before reading from or writing to it.
--- net/eth-uclass.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
net/eth-uclass.c +2 -2
@@ -336,7 +336,7 @@ int eth_send(void *packet, int length)if (!current)return -ENODEV ; -if (!device_active (current)) +if (!eth_is_active (current))return -EINVAL ; ret =eth_get_ops (current)->send (current, packet, length);
@@ -359,7 +359,7 @@ int eth_rx(void)if (!current)return -ENODEV ; -if (!device_active (current)) +if (!eth_is_active (current))return -EINVAL ;/* Process up to 32 packets at one time */
Signature · 1 line
2.12.3
PATCH 1/1 net: Only access network devices after init
Quoted 8 lines · Alexander Graf
In the
efi_loadermain loop we calleth_rx()occasionally. This rx function might end up calling into devices that haven't been initialized yet, potentially resulting in a lot of transfer timeouts.Instead, let's make sure the ethernet device is actually initialized before reading from or writing to it.
Signed-off-by Alexander Graf <[email protected]>
Hi Alexander,
https://patchwork.ozlabs.org/patch/886255/ was applied to http://git.denx.de/?p=u-boot/u-boot-net.git
Thanks!
-Joe