spi: spi-imx: cleanup wait_for_completion handling
return type of wait_for_completion_timeout is unsigned long not int and always returns >=0 , this patch adds a suitable return variable and simplifies the return value checking as there is no < 0 case. Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Родитель
4b5d6aadce
Коммит
56536a7ff5
|
@ -891,6 +891,7 @@ static int spi_imx_dma_transfer(struct spi_imx_data *spi_imx,
|
|||
{
|
||||
struct dma_async_tx_descriptor *desc_tx = NULL, *desc_rx = NULL;
|
||||
int ret;
|
||||
unsigned long timeout;
|
||||
u32 dma;
|
||||
int left;
|
||||
struct spi_master *master = spi_imx->bitbang.master;
|
||||
|
@ -938,17 +939,17 @@ static int spi_imx_dma_transfer(struct spi_imx_data *spi_imx,
|
|||
dma_async_issue_pending(master->dma_tx);
|
||||
dma_async_issue_pending(master->dma_rx);
|
||||
/* Wait SDMA to finish the data transfer.*/
|
||||
ret = wait_for_completion_timeout(&spi_imx->dma_tx_completion,
|
||||
timeout = wait_for_completion_timeout(&spi_imx->dma_tx_completion,
|
||||
IMX_DMA_TIMEOUT);
|
||||
if (!ret) {
|
||||
if (!timeout) {
|
||||
pr_warn("%s %s: I/O Error in DMA TX\n",
|
||||
dev_driver_string(&master->dev),
|
||||
dev_name(&master->dev));
|
||||
dmaengine_terminate_all(master->dma_tx);
|
||||
} else {
|
||||
ret = wait_for_completion_timeout(&spi_imx->dma_rx_completion,
|
||||
IMX_DMA_TIMEOUT);
|
||||
if (!ret) {
|
||||
timeout = wait_for_completion_timeout(
|
||||
&spi_imx->dma_rx_completion, IMX_DMA_TIMEOUT);
|
||||
if (!timeout) {
|
||||
pr_warn("%s %s: I/O Error in DMA RX\n",
|
||||
dev_driver_string(&master->dev),
|
||||
dev_name(&master->dev));
|
||||
|
@ -963,9 +964,9 @@ static int spi_imx_dma_transfer(struct spi_imx_data *spi_imx,
|
|||
spi_imx->dma_finished = 1;
|
||||
spi_imx->devtype_data->trigger(spi_imx);
|
||||
|
||||
if (!ret)
|
||||
if (!timeout)
|
||||
ret = -ETIMEDOUT;
|
||||
else if (ret > 0)
|
||||
else
|
||||
ret = transfer->len;
|
||||
|
||||
return ret;
|
||||
|
|
Загрузка…
Ссылка в новой задаче