ALSA: hda - Don't call vmaster hook when bus->shutdown is set
authorTakashi Iwai <tiwai@suse.de>
Wed, 17 Apr 2013 16:16:05 +0000 (18:16 +0200)
committerTakashi Iwai <tiwai@suse.de>
Wed, 17 Apr 2013 16:20:42 +0000 (18:20 +0200)
commit594813ffa741b4bcdeff85ca09d734117ac93371
tree057a919c7c7273e144828d7a967d10f87aa68823
parent83f26ad2c909083fa638d2df1b1a25bcbf2d1be2
ALSA: hda - Don't call vmaster hook when bus->shutdown is set

The flag bus->shutdown implies that the control elements might have
been already destroyed.  When a codec is resumed at this state and
tries to call vmaster hook (e.g. in snd_hda_gen_init()), it would
refer to a non-existing object, resulting in Oops in the end.

This patch just adds a check of the flag in the caller side for
avoiding such a crash.

Though, the best would be to clear hook->sw_kctl by the destructor of
the corresponding ctl element, but vmaster uses its own private_free,
it can't be done easily.  So let it be for a while.

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