Message ID | 20220315023019.2118163-1-chi.minghao@zte.com.cn (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | net: mv643xx_eth: undo some opreations in mv643xx_eth_probe | expand |
On Tue, Mar 15, 2022 at 02:30:19AM +0000, cgel.zte@gmail.com wrote: > From: Minghao Chi <chi.minghao@zte.com.cn> > > Cannot directly return platform_get_irq return irq, there > are operations that need to be undone. > > Reported-by: Zeal Robot <zealci@zte.com.cn> > Signed-off-by: Minghao Chi <chi.minghao@zte.com.cn> > --- > drivers/net/ethernet/marvell/mv643xx_eth.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/ethernet/marvell/mv643xx_eth.c b/drivers/net/ethernet/marvell/mv643xx_eth.c > index e6cd4e214d79..6cd81737786e 100644 > --- a/drivers/net/ethernet/marvell/mv643xx_eth.c > +++ b/drivers/net/ethernet/marvell/mv643xx_eth.c > @@ -3189,8 +3189,11 @@ static int mv643xx_eth_probe(struct platform_device *pdev) > > > irq = platform_get_irq(pdev, 0); > - if (WARN_ON(irq < 0)) > + if (WARN_ON(irq < 0)) { > + clk_disable_unprepare(mp->clk); > + free_netdev(dev); > return irq; > + } Isn't this where i said you should: goto out; You need to set err first. Andrew
diff --git a/drivers/net/ethernet/marvell/mv643xx_eth.c b/drivers/net/ethernet/marvell/mv643xx_eth.c index e6cd4e214d79..6cd81737786e 100644 --- a/drivers/net/ethernet/marvell/mv643xx_eth.c +++ b/drivers/net/ethernet/marvell/mv643xx_eth.c @@ -3189,8 +3189,11 @@ static int mv643xx_eth_probe(struct platform_device *pdev) irq = platform_get_irq(pdev, 0); - if (WARN_ON(irq < 0)) + if (WARN_ON(irq < 0)) { + clk_disable_unprepare(mp->clk); + free_netdev(dev); return irq; + } dev->irq = irq; dev->netdev_ops = &mv643xx_eth_netdev_ops;