>> diff --git a/drivers/net/ethernet/aurora/nb8800.c >> b/drivers/net/ethernet/aurora/nb8800.c >> index 0d4ea92..d15d96b 100644 >> --- a/drivers/net/ethernet/aurora/nb8800.c >> +++ b/drivers/net/ethernet/aurora/nb8800.c >> @@ -1006,6 +1006,7 @@ static int nb8800_stop(struct net_device *dev) >> >> netif_stop_queue(dev); >> napi_disable(&priv->napi); >> + of_node_put(priv->phy_node); >> >> nb8800_dma_stop(dev); >> nb8800_mac_rx(dev, false); > >This is broken. The priv->phy_node reference is taken in the probe function, >therefore you have to drop that reference in the "remove" function not the >"stop" >function. > >I'm just looking over basic details of this patch series, and along with some >other >feedback you've received, it looks like you really didn't put a lot of >auditing into the >changes you are making. > >Please go over this series one more time and resubmit the entire thing after >everything is sorted out and double-checked. >
Thanks for your comments, David. I do not familiar with Ethernet driver, and thought if the node is used up, it can be freed like other drivers. But for phy_node, it will be used in whole driver's life cycle, it is my careless. I will review each patch in this series again. Best regards, Peter