I'm sure they're harmless. The point is that the cleanup should beright, but if something wrong happens in rockchip_pcie_probe() later than rockchip_pcie_setup_irq(), we may still need to clean it up ;)
done near the failure, not in the caller of the caller of the function
where the failure was detected. You have:
rockchip_pcie_probe
rockchip_pcie_parse_dt
rockchip_pcie_setup_irq
err = dev_pm_set_dedicated_wake_irq
if (err)
dev_err(...)
So you detect the error in rockchip_pcie_setup_irq(), but you clean up
from it in rockchip_pcie_probe(), which doesn't make sense because
rockchip_pcie_probe() doesn't do anything related to wakeup interupts.
Bjorn