[PATCH v2] PCI: rockchip: Avoid accessing PCIe registers with clocks gated
Javier Martinez Canillas
javierm at redhat.com
Thu Jul 1 07:59:35 PDT 2021
On 7/1/21 3:59 PM, Bjorn Helgaas wrote:
[snip]
>> The IRQ handler is not called when unregistered, but it is called
>> when another handler for the shared IRQ is unregistered. In this
>> particular driver, both a "pcie-sys" and "pcie-client" handlers are
>> registered, then an error leads to "pcie-sys" being unregistered and
>> the handler for "pcie-client" being called.
>
> Is this really true? I think that would mean CONFIG_DEBUG_SHIRQ would
> not find this kind of bug unless we actually registered two or more
> handlers for the shared IRQ, but it's still a bug even only one
> handler is registered.
>
> Looking at __free_irq() [1], my impression is that "action" is what
> we're removing and action->handler() is the IRQ handler we call when
> CONFIG_DEBUG_SHIRQ, so it doesn't look like it's calling the remaining
> handlers after removing one of them.
>
Oh, you are completely right. I wrongly assumed that it was for the other
registered IRQ handlers but reading the source is clearly how you say it.
I now wonder why when debugging this I saw that the "pcie-client" handler
was called when "pcie-sys" was unregistered...
But anyways, you are correct and I'm OK with the text you shared.
Best regards,
--
Javier Martinez Canillas
Software Engineer
New Platform Technologies Enablement team
RHEL Engineering
More information about the Linux-rockchip
mailing list