浏览代码

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>
Uwe Kleine-König 14 年之前
父节点
当前提交
b2b09ad63c
共有 1 个文件被更改,包括 1 次插入2 次删除
  1. 1 2
      drivers/net/fec.c

+ 1 - 2
drivers/net/fec.c

@@ -1409,10 +1409,9 @@ fec_probe(struct platform_device *pdev)
 			break;
 			break;
 		ret = request_irq(irq, fec_enet_interrupt, IRQF_DISABLED, pdev->name, ndev);
 		ret = request_irq(irq, fec_enet_interrupt, IRQF_DISABLED, pdev->name, ndev);
 		if (ret) {
 		if (ret) {
-			while (i >= 0) {
+			while (--i >= 0) {
 				irq = platform_get_irq(pdev, i);
 				irq = platform_get_irq(pdev, i);
 				free_irq(irq, ndev);
 				free_irq(irq, ndev);
-				i--;
 			}
 			}
 			goto failed_irq;
 			goto failed_irq;
 		}
 		}