[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20190220051754.12195-9-thirtythreeforty@gmail.com>
Date: Tue, 19 Feb 2019 22:17:52 -0700
From: George Hilliard <thirtythreeforty@...il.com>
To: linux-mips@...ux-mips.org
Cc: linux-kernel@...r.kernel.org, Neil Brown <neil@...wn.name>,
George Hilliard <thirtythreeforty@...il.com>
Subject: [PATCH 08/10] staging: mt7621-mmc: Check for nonzero number of scatterlist entries
The buffer descriptor setup loop is correct only if it is setting up at
least one bd struct. Besides, there is an error somewhere if
dma_map_sg() returns 0. So add a paranoid check for this condition.
Signed-off-by: George Hilliard <thirtythreeforty@...il.com>
---
drivers/staging/mt7621-mmc/sd.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/drivers/staging/mt7621-mmc/sd.c b/drivers/staging/mt7621-mmc/sd.c
index 942c0d63d710..736e1d23b391 100644
--- a/drivers/staging/mt7621-mmc/sd.c
+++ b/drivers/staging/mt7621-mmc/sd.c
@@ -594,7 +594,12 @@ static void msdc_dma_setup(struct msdc_host *host, struct msdc_dma *dma,
struct bd *bd;
u32 j;
- BUG_ON(sglen > MAX_BD_NUM); /* not support currently */
+ // Shouldn't happen; we configure the mmc host layer
+ // based on MAX_BD_NUM:
+ BUG_ON(sglen > MAX_BD_NUM);
+ // Correct setup below requires at least one bd
+ // (and dma_map_sg should not return 0):
+ BUG_ON(sglen == 0);
gpd = dma->gpd;
bd = dma->bd;
--
2.20.1
Powered by blists - more mailing lists