sound: rawmidi: disable active-sensing-on-close by default
authorClemens Ladisch <clemens@ladisch.de>
Mon, 13 Jul 2009 11:52:46 +0000 (13:52 +0200)
committerTakashi Iwai <tiwai@suse.de>
Wed, 15 Jul 2009 09:57:20 +0000 (11:57 +0200)
Sending an Active Sensing message when closing a port can interfere with
the following data if the port is reopened and a note-on is sent before
the device's timeout has elapsed.  Therefore, it is better to disable
this setting by default.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/core/rawmidi.c
sound/core/seq/seq_midi.c

index 473247c..c0adc14 100644 (file)
@@ -274,7 +274,7 @@ static int open_substream(struct snd_rawmidi *rmidi,
                return err;
        substream->opened = 1;
        if (substream->use_count++ == 0)
-               substream->active_sensing = 1;
+               substream->active_sensing = 0;
        if (mode & SNDRV_RAWMIDI_LFLG_APPEND)
                substream->append = 1;
        rmidi->streams[substream->stream].substream_opened++;
index 45cf5c1..ebaf1b5 100644 (file)
@@ -237,6 +237,7 @@ static int midisynth_use(void *private_data, struct snd_seq_port_subscribe *info
        memset(&params, 0, sizeof(params));
        params.avail_min = 1;
        params.buffer_size = output_buffer_size;
+       params.no_active_sensing = 1;
        if ((err = snd_rawmidi_output_params(msynth->output_rfile.output, &params)) < 0) {
                snd_rawmidi_kernel_release(&msynth->output_rfile);
                return err;