diff options
author | Ye.Li <ye.li@nxp.com> | 2016-01-13 10:06:59 +0800 |
---|---|---|
committer | Ye Li <ye.li@nxp.com> | 2017-04-05 14:04:26 +0800 |
commit | 64c6a7b5d621080b8bd948c061a4f223a8c2d886 (patch) | |
tree | 537a41b1ef634b52b766f3044a5660f7033efdcc | |
parent | 242b2b889a9e18c587fafaa98cb9e9985b179df4 (diff) | |
download | u-boot-imx-64c6a7b5d621080b8bd948c061a4f223a8c2d886.zip u-boot-imx-64c6a7b5d621080b8bd948c061a4f223a8c2d886.tar.gz u-boot-imx-64c6a7b5d621080b8bd948c061a4f223a8c2d886.tar.bz2 |
MLK-12214 NAND:apbh_dma: Fix logically dead code issue
The list_first_entry always assumes the list is not empty, it won't return NULL pointer when
the list is empty. So the "if (pdesc == NULL)" becomes a dead code. Fix the issue by calling
the list_empty before the list_first_entry.
(Coverity CID 29934)
Signed-off-by: Ye.Li <ye.li@nxp.com>
(cherry picked from commit ff3923f294cc2e15f436d7520b4042736b1b48a6)
-rw-r--r-- | drivers/dma/apbh_dma.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/dma/apbh_dma.c b/drivers/dma/apbh_dma.c index a97fa85..1030950 100644 --- a/drivers/dma/apbh_dma.c +++ b/drivers/dma/apbh_dma.c @@ -5,7 +5,7 @@ * on behalf of DENX Software Engineering GmbH * * Based on code from LTIB: - * Copyright (C) 2010 Freescale Semiconductor, Inc. All Rights Reserved. + * Copyright (C) 2010-2016 Freescale Semiconductor, Inc. All Rights Reserved. * * SPDX-License-Identifier: GPL-2.0+ */ @@ -126,10 +126,10 @@ static int mxs_dma_enable(int channel) return 0; } - pdesc = list_first_entry(&pchan->active, struct mxs_dma_desc, node); - if (pdesc == NULL) + if (list_empty(&pchan->active)) return -EFAULT; + pdesc = list_first_entry(&pchan->active, struct mxs_dma_desc, node); if (pchan->flags & MXS_DMA_FLAGS_BUSY) { if (!(pdesc->cmd.data & MXS_DMA_DESC_CHAIN)) return 0; |