ALSA: seq-oss: Initialize MIDI clients asynchronously
authorTakashi Iwai <tiwai@suse.de>
Tue, 16 Jul 2013 10:17:49 +0000 (12:17 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 25 Jul 2013 21:07:24 +0000 (14:07 -0700)
commit409972c1c8678bb0c28eb0417054e2794dd59ec9
tree8f7ce94129d2d04014ab538c67074b5c7fac8acf
parent782e9cac197a38391820b425a4645e5bda7d121b
ALSA: seq-oss: Initialize MIDI clients asynchronously

commit 256ca9c3ad5013ff8a8f165e5a82fab437628c8e upstream.

We've got bug reports that the module loading stuck on Debian system
with 3.10 kernel.  The debugging session revealed that the initial
registration of OSS sequencer clients stuck at module loading time,
which involves again with request_module() at the init phase.  This is
triggered only by special --install stuff Debian is using, but it's
still not good to have such loops.

As a workaround, call the registration part asynchronously.  This is a
better approach irrespective of the hang fix, in anyway.

Reported-and-tested-by: Philipp Matthias Hahn <pmhahn@pmhahn.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
sound/core/seq/oss/seq_oss_init.c
sound/core/seq/oss/seq_oss_midi.c