From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753756Ab2LZEsr (ORCPT ); Tue, 25 Dec 2012 23:48:47 -0500 Received: from 1.21jiggawatts.net ([173.203.126.100]:49573 "EHLO 1.21jiggawatts.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753185Ab2LZEsm (ORCPT ); Tue, 25 Dec 2012 23:48:42 -0500 Date: Wed, 26 Dec 2012 15:53:55 +1100 From: Thomas Karpiniec To: alsa-devel@vger.kernel.org Cc: linux-kernel@vger.kernel.org Subject: Re: [PATCH] Prevent loss of state between MIDI subscriptions Message-ID: <20121226045355.GB13024@1.21jiggawatts.net> References: <50DA7B10.9030807@1.21jiggawatts.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <50DA7B10.9030807@1.21jiggawatts.net> User-Agent: Mutt/1.5.20 (2009-06-14) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Apologies for the linewrap. This will be better: A MIDI input parser is unnecessarily reset whenever a new subscription is created. This is a particular problem with the Novation Launchpad, which sends a single NOTEON command, then a series of notes indefinitely unless a control button is pressed or it is power cycled. If a user application restarts and resubscribes, the parser no longer knows that it is receiving NOTEONs and fails to pass on new input. Signed-off-by: Thomas Karpiniec --- sound/core/seq/seq_midi.c | 1 - 1 file changed, 1 deletion(-) diff --git a/sound/core/seq/seq_midi.c b/sound/core/seq/seq_midi.c index 64069db..1a977df 100644 --- a/sound/core/seq/seq_midi.c +++ b/sound/core/seq/seq_midi.c @@ -200,7 +200,6 @@ static int midisynth_subscribe(void *private_data, struct snd_seq_port_subscribe snd_rawmidi_kernel_release(&msynth->input_rfile); return err; } - snd_midi_event_reset_encode(msynth->parser); runtime->event = snd_midi_input_event; runtime->private_data = msynth; snd_rawmidi_kernel_read(msynth->input_rfile.input, NULL, 0); -- 1.7.10.4