]> git.baikalelectronics.ru Git - kernel.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)
committerTakashi Iwai <tiwai@suse.de>
Mon, 23 Feb 2015 08:10:38 +0000 (09:10 +0100)
commit40e9ac213ca860848fa071d10e1db0223f3af627
tree92362d30da81381fd8fe004fc3ba553ceea754ea
parentae81790ee52ae3c186dab1507d6cc6dbfd28a2d6
ALSA: fireworks/bebob/dice/oxfw: add reference-counting for FireWire unit

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>
Cc: <stable@vger.kernel.org> # 3.19+
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/firewire/bebob/bebob.c
sound/firewire/dice/dice.c
sound/firewire/fireworks/fireworks.c
sound/firewire/oxfw/oxfw.c