aboutsummaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorJoe Hershberger <joe.hershberger@ni.com>2018-07-02 14:47:46 -0500
committerJoe Hershberger <joe.hershberger@ni.com>2018-07-26 14:08:17 -0500
commit68acb51f442f08152f79772af3d41ff1e4c817cd (patch)
tree400d605d09042c36631d7aeeaa84ec427e56db3f /net
parentc6fa51a4997714dbd9a4ef64ffe25f4435ee93ef (diff)
downloadu-boot-68acb51f442f08152f79772af3d41ff1e4c817cd.zip
u-boot-68acb51f442f08152f79772af3d41ff1e4c817cd.tar.gz
u-boot-68acb51f442f08152f79772af3d41ff1e4c817cd.tar.bz2
net: Only call halt on a driver that has been init'ed
With driver model, we were not checking if the state of the device was marked as active before calling the halt function. Check that the device is probed and also marked as active. This avoids the case where we were calling halt on the first device in net_init() and the driver would operate on bogus data structures causing problems. In this case, the priv was all 0, so halt() would close STDIN. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'net')
-rw-r--r--net/eth-uclass.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/eth-uclass.c b/net/eth-uclass.c
index e4b4922..fa3f549 100644
--- a/net/eth-uclass.c
+++ b/net/eth-uclass.c
@@ -307,7 +307,7 @@ void eth_halt(void)
struct eth_device_priv *priv;
current = eth_get_dev();
- if (!current || !device_active(current))
+ if (!current || !eth_is_active(current))
return;
eth_get_ops(current)->stop(current);