From: Jean-Jacques Hiblot Date: Thu, 9 Aug 2018 14:17:41 +0000 (+0200) Subject: net: eth-uclass: Fix for DM USB ethernet support X-Git-Tag: v2018.09-rc3~13^2~5 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=c3211708cf721163733f03330bdb579d8c0f689b;p=oweals%2Fu-boot.git net: eth-uclass: Fix for DM USB ethernet support 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 Acked-by: Joe Hershberger --- diff --git a/net/eth-uclass.c b/net/eth-uclass.c index fa3f5497a2..91d861be41 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)