diff options
author | Jiajun Cao <jjcao20@fudan.edu.cn> | 2021-06-22 21:19:42 +0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2021-07-20 16:05:45 +0200 |
commit | fb7c8bfa2e3ca7dfc966480659961c6266336b2f (patch) | |
tree | 7a109bde47dec155a8b65486e2b24ec3c0d4b7fa /sound/pci | |
parent | 63c49cfa2f0c6417ee96a8675bd5e36f9e620aa9 (diff) | |
download | linux-stable-fb7c8bfa2e3ca7dfc966480659961c6266336b2f.tar.gz linux-stable-fb7c8bfa2e3ca7dfc966480659961c6266336b2f.tar.bz2 linux-stable-fb7c8bfa2e3ca7dfc966480659961c6266336b2f.zip |
ALSA: hda: Add IRQ check for platform_get_irq()
[ 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>
Diffstat (limited to 'sound/pci')
-rw-r--r-- | sound/pci/hda/hda_tegra.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/pci/hda/hda_tegra.c b/sound/pci/hda/hda_tegra.c index 361cf2041911..07787698b973 100644 --- a/sound/pci/hda/hda_tegra.c +++ b/sound/pci/hda/hda_tegra.c @@ -302,6 +302,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; |