Hi Bjorn,
On 10/14/2017 03:19 AM, Bjorn Helgaas wrote:
I'm sure they're harmless. The point is that the cleanup should be
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.
right, but if something wrong happens in rockchip_pcie_probe() later
than rockchip_pcie_setup_irq(), we may still need to clean it up ;)
i think the error handling is a little like what we do in the remove
callback
Bjorn