forked from Minki/linux
drivers: net: cpsw: fix error return code
Propagate the return value of platform_get_irq on failure. A simplified version of the semantic match that finds the two cases where no error code is returned at all is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier ret; expression e1,e2; @@ ( if (\(ret < 0\|ret != 0\)) { ... return ret; } | ret = 0 ) ... when != ret = e1 when != &ret *if(...) { ... when != ret = e2 when forall return ret; } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
90c7afc96c
commit
c1e3334fa4
@ -2427,7 +2427,7 @@ static int cpsw_probe(struct platform_device *pdev)
|
||||
ndev->irq = platform_get_irq(pdev, 1);
|
||||
if (ndev->irq < 0) {
|
||||
dev_err(priv->dev, "error getting irq resource\n");
|
||||
ret = -ENOENT;
|
||||
ret = ndev->irq;
|
||||
goto clean_ale_ret;
|
||||
}
|
||||
|
||||
@ -2448,8 +2448,10 @@ static int cpsw_probe(struct platform_device *pdev)
|
||||
|
||||
/* RX IRQ */
|
||||
irq = platform_get_irq(pdev, 1);
|
||||
if (irq < 0)
|
||||
if (irq < 0) {
|
||||
ret = irq;
|
||||
goto clean_ale_ret;
|
||||
}
|
||||
|
||||
priv->irqs_table[0] = irq;
|
||||
ret = devm_request_irq(&pdev->dev, irq, cpsw_rx_interrupt,
|
||||
@ -2461,8 +2463,10 @@ static int cpsw_probe(struct platform_device *pdev)
|
||||
|
||||
/* TX IRQ */
|
||||
irq = platform_get_irq(pdev, 2);
|
||||
if (irq < 0)
|
||||
if (irq < 0) {
|
||||
ret = irq;
|
||||
goto clean_ale_ret;
|
||||
}
|
||||
|
||||
priv->irqs_table[1] = irq;
|
||||
ret = devm_request_irq(&pdev->dev, irq, cpsw_tx_interrupt,
|
||||
|
Loading…
Reference in New Issue
Block a user