From: Jiasheng Jiang Date: Tue, 28 Dec 2021 03:40:26 +0000 (+0800) Subject: ASoC: samsung: idma: Check of ioremap return value X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=279d7d97710feba23ed1bde3edc16542333996a5;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git ASoC: samsung: idma: Check of ioremap return value [ Upstream commit 3ecb46755eb85456b459a1a9f952c52986bce8ec ] Because of the potential failure of the ioremap(), the buf->area could be NULL. Therefore, we need to check it and return -ENOMEM in order to transfer the error. Fixes: f09aecd50f39 ("ASoC: SAMSUNG: Add I2S0 internal dma driver") Signed-off-by: Jiasheng Jiang Reviewed-by: Krzysztof Kozlowski Link: https://lore.kernel.org/r/20211228034026.1659385-1-jiasheng@iscas.ac.cn Signed-off-by: Mark Brown Signed-off-by: Sasha Levin --- diff --git a/sound/soc/samsung/idma.c b/sound/soc/samsung/idma.c index a635df61f928..2a6ffb2abb33 100644 --- a/sound/soc/samsung/idma.c +++ b/sound/soc/samsung/idma.c @@ -369,6 +369,8 @@ static int preallocate_idma_buffer(struct snd_pcm *pcm, int stream) buf->addr = idma.lp_tx_addr; buf->bytes = idma_hardware.buffer_bytes_max; buf->area = (unsigned char * __force)ioremap(buf->addr, buf->bytes); + if (!buf->area) + return -ENOMEM; return 0; }