hc
2024-05-14 bedbef8ad3e75a304af6361af235302bcc61d06b
kernel/drivers/iommu/rockchip-iommu.c
....@@ -1636,15 +1636,15 @@
16361636 for (i = 0; i < iommu->num_irq; i++) {
16371637 int irq = platform_get_irq(pdev, i);
16381638
1639
- if (irq < 0)
1640
- return irq;
1639
+ if (irq < 0) {
1640
+ err = irq;
1641
+ goto err_pm_disable;
1642
+ }
16411643
16421644 err = devm_request_irq(iommu->dev, irq, rk_iommu_irq,
16431645 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;
16481648 }
16491649
16501650 skip_request_irq:
....@@ -1657,6 +1657,8 @@
16571657 dma_set_mask_and_coherent(dev, rk_ops->dma_bit_mask);
16581658
16591659 return 0;
1660
+err_pm_disable:
1661
+ pm_runtime_disable(dev);
16601662 err_remove_sysfs:
16611663 iommu_device_sysfs_remove(&iommu->iommu);
16621664 err_put_group: