Re: [PATCH] firmware: arm_scmi: Fix chan_free cleanup on SMC

From: Bjorn Andersson
Date: Fri Jul 21 2023 - 22:40:42 EST


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@xxxxxxxxxx>
> Signed-off-by: Cristian Marussi <cristian.marussi@xxxxxxx>
> ---

Reviewed-by: Bjorn Andersson <andersson@xxxxxxxxxx>

Regards,
Bjorn