Skip to content

Commit

Permalink
net: eth-uclass: Fix for DM USB ethernet support
Browse files Browse the repository at this point in the history
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@ti.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
  • Loading branch information
Jean-Jacques Hiblot authored and Marek Vasut committed Aug 21, 2018
1 parent c73251e commit c321170
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion net/eth-uclass.c
Expand Up @@ -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)
Expand Down

0 comments on commit c321170

Please sign in to comment.