Re: [PATCH] spi: fsi: Fix transfer returning without finalizing message

From: Joel Stanley
Date: Tue Nov 10 2020 - 19:43:44 EST


On Tue, 10 Nov 2020 at 21:47, Eddie James <eajames@xxxxxxxxxxxxx> wrote:
>
> In the case that the SPI mux isn't set, the transfer_one_message
> function returns without finalizing the message. This means that
> the transfer never completes, resulting in hung tasks and an
> eventual kernel panic. Fix it by finalizing the transfer in this
> case.
>
> Fixes: 9211a441e606 ("spi: fsi: Check mux status before transfers")
> Signed-off-by: Eddie James <eajames@xxxxxxxxxxxxx>

Reviewed-by: Joel Stanley <joel@xxxxxxxxx>

> ---
> drivers/spi/spi-fsi.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/spi/spi-fsi.c b/drivers/spi/spi-fsi.c
> index 8a440c7078ef..3920cd3286d8 100644
> --- a/drivers/spi/spi-fsi.c
> +++ b/drivers/spi/spi-fsi.c
> @@ -477,7 +477,7 @@ static int fsi_spi_transfer_one_message(struct spi_controller *ctlr,
>
> rc = fsi_spi_check_mux(ctx->fsi, ctx->dev);
> if (rc)
> - return rc;
> + goto error;
>
> list_for_each_entry(transfer, &mesg->transfers, transfer_list) {
> struct fsi_spi_sequence seq;
> --
> 2.26.2
>