Messages in this thread Patch in this message | | | From | George Hilliard <> | Subject | [PATCH v2 07/11] staging: mt7621-mmc: Check for nonzero number of scatterlist entries | Date | Mon, 18 Mar 2019 20:20:08 -0600 |
| |
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@gmail.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 c272aa780719..31c5b44bd29f 100644 --- a/drivers/staging/mt7621-mmc/sd.c +++ b/drivers/staging/mt7621-mmc/sd.c @@ -593,7 +593,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.21.0
| |