[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <9d9d4d3d-42bf-4f4a-99d3-19df73f89c30@oss.qualcomm.com>
Date: Tue, 27 Jan 2026 14:17:56 +0100
From: Konrad Dybcio <konrad.dybcio@....qualcomm.com>
To: Praveen Talari <praveen.talari@....qualcomm.com>,
Mark Brown <broonie@...nel.org>, linux-arm-msm@...r.kernel.org,
linux-spi@...r.kernel.org, linux-kernel@...r.kernel.org,
bjorn.andersson@....qualcomm.com, dmitry.baryshkov@....qualcomm.com
Cc: prasad.sodagudi@....qualcomm.com, mukesh.savaliya@....qualcomm.com,
quic_vtanuku@...cinc.com, aniket.randive@....qualcomm.com,
chandana.chiluveru@....qualcomm.com, jyothi.seerapu@....qualcomm.com
Subject: Re: [PATCH v1 2/3] spi: geni-qcom: Fix abort sequence execution for
serial engine errors
On 1/22/26 4:10 PM, Praveen Talari wrote:
> The driver currently skips the abort sequence for target mode when serial
> engine errors occur. This leads to improper error recovery as the serial
> engine may remain in an undefined state without proper cleanup, potentially
> causing subsequent operations to fail or behave unpredictably.
>
> Fix this by ensuring the abort sequence and DMA reset always execute during
> error recovery, as both are required for proper serial engine error
> handling.
>
> Signed-off-by: Praveen Talari <praveen.talari@....qualcomm.com>
> ---
> drivers/spi/spi-geni-qcom.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/spi/spi-geni-qcom.c b/drivers/spi/spi-geni-qcom.c
> index f5d05025b196..e5320e2fb834 100644
> --- a/drivers/spi/spi-geni-qcom.c
> +++ b/drivers/spi/spi-geni-qcom.c
> @@ -167,7 +167,7 @@ static void handle_se_timeout(struct spi_controller *spi,
> * doesn`t support CMD Cancel sequnece
> */
> spin_unlock_irq(&mas->lock);
> - goto reset_if_dma;
> + goto abort;
> }
>
> reinit_completion(&mas->cancel_done);
> @@ -178,6 +178,7 @@ static void handle_se_timeout(struct spi_controller *spi,
> if (time_left)
> goto reset_if_dma;
>
> +abort:
> spin_lock_irq(&mas->lock);
Now that the jump is just 5 LoC, you can dispose of the goto and change it
to an if-statement
Konrad
Powered by blists - more mailing lists