]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ALSA: hda: Add IRQ check for platform_get_irq()
authorJiajun Cao <jjcao20@fudan.edu.cn>
Tue, 22 Jun 2021 13:19:42 +0000 (21:19 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 20 Jul 2021 14:02:12 +0000 (16:02 +0200)
[ Upstream commit 8c13212443230d03ff25014514ec0d53498c0912 ]

The function hda_tegra_first_init() neglects to check the return
value after executing platform_get_irq().

hda_tegra_first_init() should check the return value (if negative
error number) for errors so as to not pass a negative value to
the devm_request_irq().

Fix it by adding a check for the return value irq_id.

Signed-off-by: Jiajun Cao <jjcao20@fudan.edu.cn>
Signed-off-by: Xin Tan <tanxin.ctf@gmail.com>
Reviewed-by: Thierry Reding <treding@nvidia.com>
Link: https://lore.kernel.org/r/20210622131947.94346-1-jjcao20@fudan.edu.cn
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
sound/pci/hda/hda_tegra.c

index 6f2b743b9d75c777c202c583151f13e1b1d23b27..6c6dc3fcde60724c677140a723b4e4b778e05fbd 100644 (file)
@@ -262,6 +262,9 @@ static int hda_tegra_first_init(struct azx *chip, struct platform_device *pdev)
        const char *sname, *drv_name = "tegra-hda";
        struct device_node *np = pdev->dev.of_node;
 
+       if (irq_id < 0)
+               return irq_id;
+
        err = hda_tegra_init_chip(chip, pdev);
        if (err)
                return err;