summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Graf <agraf@suse.de>2018-03-15 15:07:09 +0100
committerJoe Hershberger <joe.hershberger@ni.com>2018-03-22 15:05:31 -0500
commita532e2f2e52277635fac79cdbe4e6b5b51166de4 (patch)
tree1f3f273f3dbdce03efc5475e7a0150ab413f4b06
parent17d413b2531aa4bb2a97514f130bd520deee4ada (diff)
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. Signed-off-by: Alexander Graf <agraf@suse.de> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
-rw-r--r--net/eth-uclass.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/eth-uclass.c b/net/eth-uclass.c
index d30b04ba86..240b596534 100644
--- a/net/eth-uclass.c
+++ b/net/eth-uclass.c
@@ -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 */