Received: by 2002:a17:90a:1609:0:0:0:0 with SMTP id n9csp856803pja; Wed, 1 Apr 2020 09:56:06 -0700 (PDT) X-Google-Smtp-Source: ADFU+vuns4gHsN6bKDJpgcG9oGDOPmuy7w8qxd/WY6aYDIatE1tpv2bkty60i7eaYIpVk8Q1tYP/ X-Received: by 2002:a4a:41ce:: with SMTP id x197mr17862762ooa.77.1585760166203; Wed, 01 Apr 2020 09:56:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585760166; cv=none; d=google.com; s=arc-20160816; b=JxtV/qNloP46x6jekwGEAAWhCv7ikd1BdRJHOfbWbT+3CCE4CK0afdgJXVJWp3EBuK wEmhbi4zmM7suls2g8s5x1EoVMHUQM4qfggDnhFN3Xt6lKljmowAtnyuPcrGViWmP/BS xbPXI6uKqslYjXvnpy2YhlqETUeDJai1PuSkUPlBNQ+kjXQQj6zT+ng/+TPAnLgbIWEq RJApCoFnhj38g12xW3iZUePpAWQvf9V3mN5LM/67XPHA14F7borMXnw/B0qhKzLEWiwI wEis/l/X0L1x2s1SNbXcZP9w9NEK4ST4TpBFSw31TjkrdAwGy4+puax3zXfCcRwrQH2C KMww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=/KLBg31ufm9smSWaVVnTl8ymeWAMElaEUZp2eLzJ6vc=; b=h2HK9Ayh0dGcjdExXPW4B6CtnT9aLe23dAI+nmhGFggqklEODv2VA4Ui1zkCrg6Hak lz6oLftNSSAPY7o3WF9z93lNdqM5YgvN9JigqcF4MsIYcX8AEs5yq84UVhIxMAYS4fL4 XbJtxzhqqRWTHwvm/6/L2X8nTejNyUTjEjXEgVa6i1H6yzfng4NWtfyEd5ZT/8bcZtNW Mj4wYDNGOnCvjXkrSdd04YOiputMJCn9nB+AKmucF/0FOd9ab8l7FOq3sLE5qwZh/Kc1 pNnNUx4jwvZvqSYIxfa4nvCAGBpXeQD9ctNC+mDyfof/Q6+UqYQoeiiyLqSUAoRXVy9W FIYQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=h6tp4JVu; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id s11si994651otq.83.2020.04.01.09.55.52; Wed, 01 Apr 2020 09:56:06 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=h6tp4JVu; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387688AbgDAQ3q (ORCPT + 99 others); Wed, 1 Apr 2020 12:29:46 -0400 Received: from mail.kernel.org ([198.145.29.99]:55298 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388192AbgDAQ3m (ORCPT ); Wed, 1 Apr 2020 12:29:42 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 292822063A; Wed, 1 Apr 2020 16:29:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1585758581; bh=u0oxV+ZE30Cvfe5WC10gcHtQGNHrKMYUrIi5VvOstjo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=h6tp4JVuJAlh267mHsiIn2kOAA/2esN18EXccHrJRo3Xh4L5wIbahZWmuZ4p5I38T DKzWnnn4V425cIsOcpg43FvYzTpMHpfSjscXrKgAPLzpXH9HxtIn4gu2CPBVZDlTtr VjYIsvip5xGZ2eSplQ+boGSjU+u1lbkgoUJjlac8= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Andreas Steinmetz , Takashi Iwai Subject: [PATCH 4.4 14/91] ALSA: seq: virmidi: Fix running status after receiving sysex Date: Wed, 1 Apr 2020 18:17:10 +0200 Message-Id: <20200401161518.052174848@linuxfoundation.org> X-Mailer: git-send-email 2.26.0 In-Reply-To: <20200401161512.917494101@linuxfoundation.org> References: <20200401161512.917494101@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Takashi Iwai commit 4384f167ce5fa7241b61bb0984d651bc528ddebe upstream. The virmidi driver handles sysex event exceptionally in a short-cut snd_seq_dump_var_event() call, but this missed the reset of the running status. As a result, it may lead to an incomplete command right after the sysex when an event with the same running status was queued. Fix it by clearing the running status properly via alling snd_midi_event_reset_decode() for that code path. Reported-by: Andreas Steinmetz Cc: Link: https://lore.kernel.org/r/3b4a4e0f232b7afbaf0a843f63d0e538e3029bfd.camel@domdv.de Link: https://lore.kernel.org/r/20200316090506.23966-2-tiwai@suse.de Signed-off-by: Takashi Iwai Signed-off-by: Greg Kroah-Hartman --- sound/core/seq/seq_virmidi.c | 1 + 1 file changed, 1 insertion(+) --- a/sound/core/seq/seq_virmidi.c +++ b/sound/core/seq/seq_virmidi.c @@ -95,6 +95,7 @@ static int snd_virmidi_dev_receive_event if ((ev->flags & SNDRV_SEQ_EVENT_LENGTH_MASK) != SNDRV_SEQ_EVENT_LENGTH_VARIABLE) continue; snd_seq_dump_var_event(ev, (snd_seq_dump_func_t)snd_rawmidi_receive, vmidi->substream); + snd_midi_event_reset_decode(vmidi->parser); } else { len = snd_midi_event_decode(vmidi->parser, msg, sizeof(msg), ev); if (len > 0)