summaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorAmadeusz Sławiński2019-05-22 18:21:41 +0200
committerGreg Kroah-Hartman2019-07-10 09:53:36 +0200
commit1023af0c069d2af061d8e3992deef48126b7e84b (patch)
tree49086c4faf74ce0e3b112ef7010f95e3ae4b1685 /sound
parentusb: gadget: udc: lpc32xx: allocate descriptor with GFP_ATOMIC (diff)
downloadkernel-qcow2-linux-1023af0c069d2af061d8e3992deef48126b7e84b.tar.gz
kernel-qcow2-linux-1023af0c069d2af061d8e3992deef48126b7e84b.tar.xz
kernel-qcow2-linux-1023af0c069d2af061d8e3992deef48126b7e84b.zip
ALSA: hdac: fix memory release for SST and SOF drivers
[ Upstream commit 6d647b736a6b1cbf2f8deab0e6a94c34a6ea9d60 ] During the integration of HDaudio support, we changed the way in which we get hdev in snd_hdac_ext_bus_device_init() to use one preallocated with devm_kzalloc(), however it still left kfree(hdev) in snd_hdac_ext_bus_device_exit(). It leads to oopses when trying to rmmod and modprobe. Fix it, by just removing kfree call. SOF also uses some of the snd_hdac_ functions for HDAudio support but allocated the memory with kzalloc. A matching fix is provided separately to align all users of the snd_hdac_ library. Fixes: 6298542fa33b ("ALSA: hdac: remove memory allocation from snd_hdac_ext_bus_device_init") Reviewed-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'sound')
-rw-r--r--sound/hda/ext/hdac_ext_bus.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/sound/hda/ext/hdac_ext_bus.c b/sound/hda/ext/hdac_ext_bus.c
index 9c37d9af3023..08cc0ce3b924 100644
--- a/sound/hda/ext/hdac_ext_bus.c
+++ b/sound/hda/ext/hdac_ext_bus.c
@@ -173,7 +173,6 @@ EXPORT_SYMBOL_GPL(snd_hdac_ext_bus_device_init);
void snd_hdac_ext_bus_device_exit(struct hdac_device *hdev)
{
snd_hdac_device_exit(hdev);
- kfree(hdev);
}
EXPORT_SYMBOL_GPL(snd_hdac_ext_bus_device_exit);