ALSA: hda - Fix stream and channel-ids codec-bus wide
commit3f50ac6a0ec80a83a1a033fe5004fb319ad72db7
authorTakashi Iwai <tiwai@suse.de>
Fri, 20 Aug 2010 07:44:36 +0000 (20 09:44 +0200)
committerTakashi Iwai <tiwai@suse.de>
Fri, 20 Aug 2010 07:49:42 +0000 (20 09:49 +0200)
tree8e48910834056f4a7ef7219ad6a0741e5d8294fb
parent4f34760787c3751a3146f0eecdc79c3e97b94962
ALSA: hda - Fix stream and channel-ids codec-bus wide

The new sticky PCM parameter introduced the delayed clean-ups of
stream- and channel-id tags.  In the current implementation, this check
(adding dirty flag) and actual clean-ups are done only for the codec
chip.  However, with HD-audio architecture, multiple codecs can be
on a single bus, and the controller assign stream- and channel-ids in
the bus-wide.

In this patch, the stream-id and channel-id are checked over all codecs
connected to the corresponding bus.  Together with it, the mutex is
moved to struct hda_bus, as this becomes also bus-wide.

Reported-and-tested-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/hda_codec.c
sound/pci/hda/hda_codec.h