Modules: ALSA sequencer
Debug: sleeping function called from invalid context at /usr/src/linux/include/linux/rwsem.h:43
in_atomic():1, irqs_disabled():0
[<
f999d15e>] snd_seq_deliver_event+0xb4/0x1a8 [snd_seq]
[<
f999d2be>] snd_seq_kernel_client_dispatch+0x6c/0x7c [snd_seq]
[<
f93321fc>] snd_virmidi_output_trigger+0xca/0xe5 [snd_seq_virmidi]
Signed-off-by: Takashi Iwai <tiwai@suse.de>
return; /* ignored */
}
if (vmidi->event.type != SNDRV_SEQ_EVENT_NONE) {
return; /* ignored */
}
if (vmidi->event.type != SNDRV_SEQ_EVENT_NONE) {
- if (snd_seq_kernel_client_dispatch(vmidi->client, &vmidi->event, 0, 0) < 0)
+ if (snd_seq_kernel_client_dispatch(vmidi->client, &vmidi->event, in_atomic(), 0) < 0)
return;
vmidi->event.type = SNDRV_SEQ_EVENT_NONE;
}
return;
vmidi->event.type = SNDRV_SEQ_EVENT_NONE;
}
pbuf += res;
count -= res;
if (vmidi->event.type != SNDRV_SEQ_EVENT_NONE) {
pbuf += res;
count -= res;
if (vmidi->event.type != SNDRV_SEQ_EVENT_NONE) {
- if (snd_seq_kernel_client_dispatch(vmidi->client, &vmidi->event, 0, 0) < 0)
+ if (snd_seq_kernel_client_dispatch(vmidi->client, &vmidi->event, in_atomic(), 0) < 0)
return;
vmidi->event.type = SNDRV_SEQ_EVENT_NONE;
}
return;
vmidi->event.type = SNDRV_SEQ_EVENT_NONE;
}