[U-Boot] [PATCH v4 2/7] net: eth-uclass: Fix for DM USB ethernet support
Jean-Jacques Hiblot
jjhiblot at ti.com
Thu Aug 9 14:17:41 UTC 2018
When a USB ethernet device is halted, the device driver is removed. When
this happens the uclass private memory is freed and uclass_priv is set to
NULL. This causes a data abort when uclass_priv->state is then set to
ETH_STATE_PASSIVE.
Fix it by checking if uclass_priv is NULL before setting uclass_priv->state
Signed-off-by: Jean-Jacques Hiblot <jjhiblot at ti.com>
Acked-by: Joe Hershberger <joe.hershberger at ni.com>
---
Changes in v4: None
Changes in v3: None
Changes in v2: None
net/eth-uclass.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/net/eth-uclass.c b/net/eth-uclass.c
index fa3f549..91d861b 100644
--- a/net/eth-uclass.c
+++ b/net/eth-uclass.c
@@ -312,7 +312,8 @@ void eth_halt(void)
eth_get_ops(current)->stop(current);
priv = current->uclass_priv;
- priv->state = ETH_STATE_PASSIVE;
+ if (priv)
+ priv->state = ETH_STATE_PASSIVE;
}
int eth_is_active(struct udevice *dev)
--
2.7.4
More information about the U-Boot
mailing list