ALSA: hda - Fix double free of jack instances
authorTakashi Iwai <tiwai@suse.de>
Fri, 21 Nov 2008 08:08:06 +0000 (09:08 +0100)
committerTakashi Iwai <tiwai@suse.de>
Fri, 21 Nov 2008 08:08:06 +0000 (09:08 +0100)
commitb94d3539de59ec6481e38f83c455324fd3aeabc1
treecc6034e70d130f02d0e87bcedb9fc4ccf71b66ce
parent0623536ca3e8fd7cb8b7468b0fd4d61d80f0b6ea
ALSA: hda - Fix double free of jack instances

The jack instances created in patch_sigmatel.c may be double-freed.
The device management code checks the invalid element, and thus there
is no real breakage, but it spews annoying warning messages.
But, we can't simply remove the release calls of these jack instances
because they have to be freed when the codec is re-configured.

Now, a new flag, bus->shutdown is introduced to indicate that the bus
is really being unloaded, i.e. the objects managed by the device
manager will be automatically deleted.  We release these objects only
when this flag isn't set.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/hda_codec.c
sound/pci/hda/hda_codec.h
sound/pci/hda/patch_sigmatel.c