.. | .. |
---|
1636 | 1636 | for (i = 0; i < iommu->num_irq; i++) { |
---|
1637 | 1637 | int irq = platform_get_irq(pdev, i); |
---|
1638 | 1638 | |
---|
1639 | | - if (irq < 0) |
---|
1640 | | - return irq; |
---|
| 1639 | + if (irq < 0) { |
---|
| 1640 | + err = irq; |
---|
| 1641 | + goto err_pm_disable; |
---|
| 1642 | + } |
---|
1641 | 1643 | |
---|
1642 | 1644 | err = devm_request_irq(iommu->dev, irq, rk_iommu_irq, |
---|
1643 | 1645 | IRQF_SHARED, dev_name(dev), iommu); |
---|
1644 | | - if (err) { |
---|
1645 | | - pm_runtime_disable(dev); |
---|
1646 | | - goto err_remove_sysfs; |
---|
1647 | | - } |
---|
| 1646 | + if (err) |
---|
| 1647 | + goto err_pm_disable; |
---|
1648 | 1648 | } |
---|
1649 | 1649 | |
---|
1650 | 1650 | skip_request_irq: |
---|
.. | .. |
---|
1657 | 1657 | dma_set_mask_and_coherent(dev, rk_ops->dma_bit_mask); |
---|
1658 | 1658 | |
---|
1659 | 1659 | return 0; |
---|
| 1660 | +err_pm_disable: |
---|
| 1661 | + pm_runtime_disable(dev); |
---|
1660 | 1662 | err_remove_sysfs: |
---|
1661 | 1663 | iommu_device_sysfs_remove(&iommu->iommu); |
---|
1662 | 1664 | err_put_group: |
---|