Messages in this thread | | | Subject | Re: [PATCH v2 6/9] spi: spi-s3c64xx: Check return values | From | Sylwester Nawrocki <> | Date | Wed, 2 Sep 2020 10:14:01 +0200 |
| |
On 9/1/20 17:21, Lukasz Stelmach wrote: > It was <2020-08-25 wto 21:06>, when Sylwester Nawrocki wrote: >> On 8/21/20 18:13, Łukasz Stelmach wrote: >>> Check return values in prepare_dma() and s3c64xx_spi_config() and >>> propagate errors upwards. >>> >>> Signed-off-by: Łukasz Stelmach<l.stelmach@samsung.com> >>> --- >>> drivers/spi/spi-s3c64xx.c | 47 ++++++++++++++++++++++++++++++++------- >>> 1 file changed, 39 insertions(+), 8 deletions(-) >> >>> @@ -298,12 +299,24 @@ static void prepare_dma(struct s3c64xx_spi_dma_data *dma, >>> desc = dmaengine_prep_slave_sg(dma->ch, sgt->sgl, sgt->nents, >>> dma->direction, DMA_PREP_INTERRUPT); >>> + if (!desc) { >>> + dev_err(&sdd->pdev->dev, "unable to prepare %s scatterlist", >>> + dma->direction == DMA_DEV_TO_MEM ? "rx" : "tx"); >>> + return -ENOMEM; >>> + } >>> desc->callback = s3c64xx_spi_dmacb; >>> desc->callback_param = dma; >>> dma->cookie = dmaengine_submit(desc); >>> + ret = dma_submit_error(dma->cookie); >>> + if (ret) { >>> + dev_err(&sdd->pdev->dev, "DMA submission failed"); >>> + return -EIO; >> >> Just return the error value from dma_submit_error() here? >> > > --8<---------------cut here---------------start------------->8--- > static inline int dma_submit_error(dma_cookie_t cookie) > { > return cookie < 0 ? cookie : 0; > > } > --8<---------------cut here---------------end--------------->8--- > > Not quite meaningful IMHO, is it?
dma_submit_error() returns 0 or an error code, I think it makes sense to propagate that error code rather than replacing it with -EIO.
| |