]> git.ipfire.org Git - people/ms/linux.git/commit
ALSA: fireworks/bebob/dice/oxfw: add reference-counting for FireWire unit
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Sat, 21 Feb 2015 14:54:57 +0000 (23:54 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 18 Mar 2015 13:11:04 +0000 (14:11 +0100)
commit2a5d626d0c627edd44347b0c55a7726faef95a3c
tree9ba628b22cb596dbdfbeb58a90f2b69353613cae
parente820f2b245ca9003589e9bddf768c0d068289c94
ALSA: fireworks/bebob/dice/oxfw: add reference-counting for FireWire unit

commit 12ed719291a953d443921f9cdb0ffee41066c340 upstream.

Fireworks and Dice drivers try to touch instances of FireWire unit after
sound card object is released, while references to the unit is decremented
in .remove(). When unplugging during streaming, sound card object is
released after .remove(), thus Fireworks and Dice drivers causes GPF or
Null-pointer-dereferencing to application processes because an instance of
FireWire unit was already released.

This commit adds reference-counting for FireWire unit in drivers to allow
them to touch an instance of FireWire unit after .remove(). In most case,
any operations after .remove() may be failed safely.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
sound/firewire/bebob/bebob.c
sound/firewire/dice/dice.c
sound/firewire/fireworks/fireworks.c
sound/firewire/oxfw/oxfw.c