Re: [PATCH v2] of: property: fw_devlink: Do not use interrupt-parent directly

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 20 Nov 2024 15:31:16 -0800, Samuel Holland wrote:
> commit 7f00be96f125 ("of: property: Add device link support for
> interrupt-parent, dmas and -gpio(s)") started adding device links for
> the interrupt-parent property. commit 4104ca776ba3 ("of: property: Add
> fw_devlink support for interrupts") and commit f265f06af194 ("of:
> property: Fix fw_devlink handling of interrupts/interrupts-extended")
> later added full support for parsing the interrupts and
> interrupts-extended properties, which includes looking up the node of
> the parent domain. This made the handler for the interrupt-parent
> property redundant.
> 
> In fact, creating device links based solely on interrupt-parent is
> problematic, because it can create spurious cycles. A node may have
> this property without itself being an interrupt controller or consumer.
> For example, this property is often present in the root node or a /soc
> bus node to set the default interrupt parent for child nodes. However,
> it is incorrect for the bus to depend on the interrupt controller, as
> some of the bus's children may not be interrupt consumers at all or may
> have a different interrupt parent.
> 
> Resolving these spurious dependency cycles can cause an incorrect probe
> order for interrupt controller drivers. This was observed on a RISC-V
> system with both an APLIC and IMSIC under /soc, where interrupt-parent
> in /soc points to the APLIC, and the APLIC msi-parent points to the
> IMSIC. fw_devlink found three dependency cycles and attempted to probe
> the APLIC before the IMSIC. After applying this patch, there were no
> dependency cycles and the probe order was correct.
> 
> Acked-by: Marc Zyngier <maz@xxxxxxxxxx>
> Cc: stable@xxxxxxxxxxxxxxx
> Fixes: 4104ca776ba3 ("of: property: Add fw_devlink support for interrupts")
> Signed-off-by: Samuel Holland <samuel.holland@xxxxxxxxxx>
> ---
> 
> Changes in v2:
>  - Fix typo in commit message
>  - Add Fixes: tag and CC stable
> 
>  drivers/of/property.c | 2 --
>  1 file changed, 2 deletions(-)
> 

Applied, thanks!





[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux