aboutsummaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorMike Lockwood <lockwood@google.com>2015-01-29 13:37:06 -0800
committerMoyster <oysterized@gmail.com>2018-05-16 15:12:14 +0200
commit01b353c0c298e4e4117c5a8375241bd19cf83357 (patch)
tree55e02b0812ec5b5f2fcc4d5c74033d059e9ecc44 /drivers
parentfe12ea1c9111350b576fce11a7feed49e3ebc4e4 (diff)
USB: gadget: midi: Fix deadlock unbinding driver while it is in use
Using snd_card_free_when_closed rather than snd_card_free in f_midi_unbind makes it safe to disable the driver while a userspace client has the ALSA device open. Change-Id: Ibc40c01e7b1ce90fc61d3ea654b4816fadfc7ffd Signed-off-by: Mike Lockwood <lockwood@google.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/usb/gadget/f_midi.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/usb/gadget/f_midi.c b/drivers/usb/gadget/f_midi.c
index 263e721c2..b91f51977 100644
--- a/drivers/usb/gadget/f_midi.c
+++ b/drivers/usb/gadget/f_midi.c
@@ -409,7 +409,7 @@ static void f_midi_unbind(struct usb_configuration *c, struct usb_function *f)
card = midi->card;
midi->card = NULL;
if (card)
- snd_card_free(card);
+ snd_card_free_when_closed(card);
kfree(midi->id);
midi->id = NULL;