net: ethernet: ax88796: don't call free_irq without request_irq first
The function ax_init_dev (which is called only from the driver's .probe function) calls free_irq in the error path without having requested the irq in the first place. So drop the free_irq call in the error path. Fixes: 825a2ff1896e ("AX88796 network driver") Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
0e9a709560
commit
82533ad9a1
@ -748,13 +748,13 @@ static int ax_init_dev(struct net_device *dev)
|
|||||||
|
|
||||||
ret = ax_mii_init(dev);
|
ret = ax_mii_init(dev);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto out_irq;
|
goto err_out;
|
||||||
|
|
||||||
ax_NS8390_init(dev, 0);
|
ax_NS8390_init(dev, 0);
|
||||||
|
|
||||||
ret = register_netdev(dev);
|
ret = register_netdev(dev);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto out_irq;
|
goto err_out;
|
||||||
|
|
||||||
netdev_info(dev, "%dbit, irq %d, %lx, MAC: %pM\n",
|
netdev_info(dev, "%dbit, irq %d, %lx, MAC: %pM\n",
|
||||||
ei_local->word16 ? 16 : 8, dev->irq, dev->base_addr,
|
ei_local->word16 ? 16 : 8, dev->irq, dev->base_addr,
|
||||||
@ -762,9 +762,6 @@ static int ax_init_dev(struct net_device *dev)
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
out_irq:
|
|
||||||
/* cleanup irq */
|
|
||||||
free_irq(dev->irq, dev);
|
|
||||||
err_out:
|
err_out:
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user