[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CACPK8XdUs9o-F5Ap0Y-w287yocXnS64LKe=MHxGZjOZuA=7-uA@mail.gmail.com>
Date: Wed, 11 Nov 2020 00:43:25 +0000
From: Joel Stanley <joel@....id.au>
To: Eddie James <eajames@...ux.ibm.com>
Cc: linux-spi@...r.kernel.org,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Mark Brown <broonie@...nel.org>
Subject: Re: [PATCH] spi: fsi: Fix transfer returning without finalizing message
On Tue, 10 Nov 2020 at 21:47, Eddie James <eajames@...ux.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 <eajames@...ux.ibm.com>
Reviewed-by: Joel Stanley <joel@....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
>
Powered by blists - more mailing lists