summaryrefslogtreecommitdiffstats
path: root/drivers/net/fec.c
diff options
context:
space:
mode:
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>2011-01-13 21:49:05 +0100
committerUwe Kleine-König <u.kleine-koenig@pengutronix.de>2011-02-15 09:26:28 +0100
commitb2b09ad63cc09448e49f6a4addae6e078c0e5e36 (patch)
tree33f2e98d4ebeacbe6ea1a22f5df3cf3fbc057565 /drivers/net/fec.c
parentnet/fec: release mem_region requested in probe in error path and remove (diff)
downloadlinux-b2b09ad63cc09448e49f6a4addae6e078c0e5e36.tar.xz
linux-b2b09ad63cc09448e49f6a4addae6e078c0e5e36.zip
net/fec: don't free an irq that failed to be requested
Reported-by: Lothar Waßmann <LW@KARO-elektronics.de> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Diffstat (limited to 'drivers/net/fec.c')
-rw-r--r--drivers/net/fec.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/net/fec.c b/drivers/net/fec.c
index b079826586ef..aa1db8e637cd 100644
--- a/drivers/net/fec.c
+++ b/drivers/net/fec.c
@@ -1409,10 +1409,9 @@ fec_probe(struct platform_device *pdev)
break;
ret = request_irq(irq, fec_enet_interrupt, IRQF_DISABLED, pdev->name, ndev);
if (ret) {
- while (i >= 0) {
+ while (--i >= 0) {
irq = platform_get_irq(pdev, i);
free_irq(irq, ndev);
- i--;
}
goto failed_irq;
}