| .. | .. |
|---|
| 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: |
|---|