As the dma_supported() may fail, the dma_set_mask_and_coherent() may fail too. Therefore, it should be better to check it and return error if fails.
Fixes: da8648097497 ("ALSA: x86: Flatten two abstraction layers") Signed-off-by: Jiasheng Jiang jiasheng@iscas.ac.cn --- sound/x86/intel_hdmi_audio.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/sound/x86/intel_hdmi_audio.c b/sound/x86/intel_hdmi_audio.c index 33b12aa67cf5..6caea517f07f 100644 --- a/sound/x86/intel_hdmi_audio.c +++ b/sound/x86/intel_hdmi_audio.c @@ -1770,7 +1770,9 @@ static int hdmi_lpe_audio_probe(struct platform_device *pdev) card_ctx->irq = irq;
/* only 32bit addressable */ - dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32)); + ret = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32)); + if (ret) + goto err;
init_channel_allocations();