lkml.org 
[lkml]   [2022]   [Jan]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.16 0402/1039] spi: qcom: geni: set the error code for gpi transfer
    Date
    From: Vinod Koul <vkoul@kernel.org>

    [ Upstream commit 74b86d6af81be73bb74995ebeba74417e84b6b6f ]

    Before we invoke spi_finalize_current_transfer() in
    spi_gsi_callback_result() we should set the spi->cur_msg->status as
    appropriate (0 for success, error otherwise).

    The helps to return error on transfer and not wait till it timesout on
    error

    Fixes: b59c122484ec ("spi: spi-geni-qcom: Add support for GPI dma")
    Signed-off-by: Vinod Koul <vkoul@kernel.org>
    Reviewed-by: Douglas Anderson <dianders@chromium.org>
    Link: https://lore.kernel.org/r/20220103071118.27220-1-vkoul@kernel.org
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/spi/spi-geni-qcom.c | 6 +++++-
    1 file changed, 5 insertions(+), 1 deletion(-)

    diff --git a/drivers/spi/spi-geni-qcom.c b/drivers/spi/spi-geni-qcom.c
    index e2affaee4e769..69e71aac85129 100644
    --- a/drivers/spi/spi-geni-qcom.c
    +++ b/drivers/spi/spi-geni-qcom.c
    @@ -350,17 +350,21 @@ spi_gsi_callback_result(void *cb, const struct dmaengine_result *result)
    {
    struct spi_master *spi = cb;

    + spi->cur_msg->status = -EIO;
    if (result->result != DMA_TRANS_NOERROR) {
    dev_err(&spi->dev, "DMA txn failed: %d\n", result->result);
    + spi_finalize_current_transfer(spi);
    return;
    }

    if (!result->residue) {
    + spi->cur_msg->status = 0;
    dev_dbg(&spi->dev, "DMA txn completed\n");
    - spi_finalize_current_transfer(spi);
    } else {
    dev_err(&spi->dev, "DMA xfer has pending: %d\n", result->residue);
    }
    +
    + spi_finalize_current_transfer(spi);
    }

    static int setup_gsi_xfer(struct spi_transfer *xfer, struct spi_geni_master *mas,
    --
    2.34.1


    \
     
     \ /
      Last update: 2022-01-25 01:11    [W:4.760 / U:0.332 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site