diff --git a/sound/usb/midi.c b/sound/usb/midi.c index dcfc546d81b924f455172e32557db3140880d5e1..4ec7cbdddfd05ca6cefbd636c8d8013ca1c85cc2 100644 --- a/sound/usb/midi.c +++ b/sound/usb/midi.c @@ -1161,6 +1161,9 @@ static int snd_usbmidi_output_open(struct snd_rawmidi_substream *substream) static int snd_usbmidi_output_close(struct snd_rawmidi_substream *substream) { + struct usbmidi_out_port *port = substream->runtime->private_data; + + cancel_work_sync(&port->ep->work); return substream_open(substream, 0, 0); }