On 17-11-21, 14:20, Doug Anderson wrote: > Hi, > > On Wed, Nov 17, 2021 at 5:31 AM Vinod Koul <vkoul@xxxxxxxxxx> wrote: > > > > @@ -346,17 +346,20 @@ 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); > > return; > > } > > Don't you want to call spi_finalize_current_transfer() in the case of > a DMA error? Otherwise I think you're still going to wait for a > timeout? ...and then when you get the timeout then spi_transfer_wait() > will return -ETIMEDOUT and that will overwrite your -EIO, won't it? Yes missed that and this reply :( Fixed now and posting v2 -- ~Vinod