diff mbox series

[U-Boot,v3,03/11] net: Only call halt on a driver that has been init'ed

Message ID 20180702194754.1955-4-joe.hershberger@ni.com
State Accepted
Commit 68acb51
Delegated to: Joe Hershberger
Headers show
Series sandbox: net: Fix sandbox eth drivers | expand

Commit Message

Joe Hershberger July 2, 2018, 7:47 p.m. UTC
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>
---

Changes in v3: None
Changes in v2: None

 net/eth-uclass.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Joe Hershberger July 26, 2018, 7:15 p.m. UTC | #1
Hi Joe,

https://patchwork.ozlabs.org/patch/938160/ was applied to http://git.denx.de/?p=u-boot/u-boot-net.git

Thanks!
-Joe
diff mbox series

Patch

diff --git a/net/eth-uclass.c b/net/eth-uclass.c
index e4b49229e3..fa3f5497a2 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);