Re: [PATCH 2/2] soc: qcom: aoss: qmp_send() can't handle interruptions so stop pretending

From: Stephen Boyd
Date: Wed Aug 05 2020 - 13:30:37 EST


Quoting Douglas Anderson (2020-08-05 09:16:11)
> The function qmp_send() called wait_event_interruptible_timeout() to
> wait for its interrupt. However, this function did not check for
> -ERESTARTSYS and assumed that any non-zero return value meant that the
> event happened.
>
> While we could try to figure out how to handle interruptions by
> figuring out how to cancel and/or undo our transfer in a race-free way
> and then communicating this status back to all of our callers, that
> seems like a whole lot of complexity. As I understand it the transfer
> should happen rather quickly and if we're really hitting the 1 second
> timeout we're in deep doggy doodoo anyway. Let's just use the
> non-interruptible version of the function and call it good enough.
>
> Found by code inspection. No known test cases expose the problem
> described here.
>
> Fixes: 2209481409b7 ("soc: qcom: Add AOSS QMP driver")
> Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx>
> ---

I would put this first in the series as it's an obvious bug fix.

Reviewed-by: Stephen Boyd <swboyd@xxxxxxxxxxxx>