On Tue, 10 Nov 2020 at 21:47, Eddie James <eaja...@linux.ibm.com> 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 <eaja...@linux.ibm.com>

Reviewed-by: Joel Stanley <j...@jms.id.au>

> ---
>  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
>

Reply via email to