ALSA: emu10k1: don't deadlock in proc-functions
authorMichael Gernoth <michael@gernoth.net>
Thu, 9 Apr 2015 21:42:15 +0000 (23:42 +0200)
committerBen Hutchings <ben@decadent.org.uk>
Thu, 6 Aug 2015 23:32:03 +0000 (00:32 +0100)
commit6cc0e3dd8ad7858810b37cbf39f4e9f0debb0712
treeb716830d96ab21e455d709370081402284747607
parent83911b9e069169fffd82212f478952d474ee1e8d
ALSA: emu10k1: don't deadlock in proc-functions

commit 91bf0c2dcb935a87e5c0795f5047456b965fd143 upstream.

The functions snd_emu10k1_proc_spdif_read and snd_emu1010_fpga_read
acquire the emu_lock before accessing the FPGA. The function used
to access the FPGA (snd_emu1010_fpga_read) also tries to take
the emu_lock which causes a deadlock.
Remove the outer locking in the proc-functions (guarding only the
already safe fpga read) to prevent this deadlock.

[removed superfluous flags variables too -- tiwai]

Signed-off-by: Michael Gernoth <michael@gernoth.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
sound/pci/emu10k1/emuproc.c