ALSA: seq: Fix regression by incorrect ioctl_mutex usages
authorTakashi Iwai <tiwai@suse.de>
Mon, 19 Feb 2018 16:16:01 +0000 (17:16 +0100)
committerBen Hutchings <ben@decadent.org.uk>
Sat, 3 Mar 2018 15:50:37 +0000 (15:50 +0000)
commit4ca5236c76357797e6d2feee9be46f4d8d93f46c
tree5c01cc6549a0bdc0103535cea8b2ac57cc1c437e
parent9e487858958b03eb4d11ae0da64b85f6ba812338
ALSA: seq: Fix regression by incorrect ioctl_mutex usages

This is the revised backport of the upstream commit
b3defb791b26ea0683a93a4f49c77ec45ec96f10

We had another backport (e.g. 623e5c8ae32b in 4.4.115), but it applies
the new mutex also to the code paths that are invoked via faked
kernel-to-kernel ioctls.  As reported recently, this leads to a
deadlock at suspend (or other scenarios triggering the kernel
sequencer client).

This patch addresses the issue by taking the mutex only in the code
paths invoked by user-space, just like the original fix patch does.

Reported-and-tested-by: Andres Bertens <abertensu@yahoo.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
sound/core/seq/seq_clientmgr.c