[PATCH] firmware: arm_scmi: Fix chan_free cleanup on SMC
Bjorn Andersson
andersson at kernel.org
Fri Jul 21 19:43:56 PDT 2023
On Wed, Jul 19, 2023 at 06:35:33PM +0100, Cristian Marussi wrote:
> SCMI transport based on SMC can optionally use an additional IRQ to signal
> message completion; the associated ISR is currently allocated using devres
> but the core SCMI stack, on shutdown, will call .chan_free() well before
> any managed cleanup is invoked by devres and, as a consequence, the arrival
> of a late reply to an in-flight pending transaction could still trigger the
> ISR well after the SCMI core has cleaned up the channels, with unpleasant
> results.
>
> Inhibit further message processing on the IRQ path by explicitly freeing
> the IRQ inside .chan_free() callback itself.
>
> Fixes: dd820ee21d5e ("firmware: arm_scmi: Augment SMC/HVC to allow optional interrupt")
> Reported-by: Bjorn Andersson <andersson at kernel.org>
> Signed-off-by: Cristian Marussi <cristian.marussi at arm.com>
> ---
Reviewed-by: Bjorn Andersson <andersson at kernel.org>
Regards,
Bjorn
More information about the linux-arm-kernel
mailing list