ALSA: echoaudio: add a check for ioremap_nocache
[ Upstream commit 6ade657d6125ec3ec07f95fa51e28138aef6208f ] In case ioremap_nocache fails, the fix releases chip and returns an error code upstream to avoid NULL pointer dereference. Signed-off-by: Kangjie Lu <kjlu@umn.edu> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
3964902934
commit
a3e47ff190
1 changed files with 5 additions and 0 deletions
|
@ -1953,6 +1953,11 @@ static int snd_echo_create(struct snd_card *card,
|
||||||
}
|
}
|
||||||
chip->dsp_registers = (volatile u32 __iomem *)
|
chip->dsp_registers = (volatile u32 __iomem *)
|
||||||
ioremap_nocache(chip->dsp_registers_phys, sz);
|
ioremap_nocache(chip->dsp_registers_phys, sz);
|
||||||
|
if (!chip->dsp_registers) {
|
||||||
|
dev_err(chip->card->dev, "ioremap failed\n");
|
||||||
|
snd_echo_free(chip);
|
||||||
|
return -ENOMEM;
|
||||||
|
}
|
||||||
|
|
||||||
if (request_irq(pci->irq, snd_echo_interrupt, IRQF_SHARED,
|
if (request_irq(pci->irq, snd_echo_interrupt, IRQF_SHARED,
|
||||||
KBUILD_MODNAME, chip)) {
|
KBUILD_MODNAME, chip)) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue