Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp7150473ybi; Mon, 8 Jul 2019 15:39:41 -0700 (PDT) X-Google-Smtp-Source: APXvYqxScraQLA9Y46sNnmzskHsyA7XgGJFQ8zqd82XHaetJlJLk6Q1bNJZTva3bYwZgBNKm5oZf X-Received: by 2002:a63:e213:: with SMTP id q19mr26159293pgh.180.1562625581021; Mon, 08 Jul 2019 15:39:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1562625581; cv=none; d=google.com; s=arc-20160816; b=hKupAbPt2A75zDvWAox4m6dN1Vrmn9jjXHQPldhlsgNolY1KvOvyUoIuHKV8eSgFhU diclm1c0WT8S2KWgM7PNNoJIJWE8Lqb7i7WvdBhGM8Q1TTJFsrc7ckCNjdrdbHf1ulNi zTbLlPXb6V0oeLjNsQw7D+3YJUCnysdvtwp8G0WjmGPSq0g1ZgURsGQ6zdFaBkz2GVde vjNKOM0lKJ0bu0kNNxUgcwA2hHrV4kTsnVyrze78PF7Vbsw0CVPzZ1T3hYFEiTgGmtPh 8EiidwF4D4N0kELjgBsVIWRGgQLSD47ywV49A4aC4akYg8tXY1HiOmHksYEGCNy2pZjp bM4A== 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=JB0RcOJ4NckoN2+m5tQoM+SNN/fNObkIrIBxATxb/cw=; b=SARAyobc4ERLChVjLgfn7H8hxYZPjdIkpZO65B8XGYVEQkoPbF1v81uSS2WQHgSEms yKhPUwVa0u1YtzaFYoIXAV4GGiIJYq7wq8xvOdrWNzQ4Ki8GfxpIGwyDRkibBfcQAESD brleIWec9Ru8X02THcxStLHuqw8ZgAlcNbhCjW0N654Xms3bW8PGYj4K3/P0ee/mbhZf CegLmVMunlZ8ahhcM+rAoAcOIL7sn7BJksNHIaS6GvbOHbkQOUlHPKTgYXlgPn8MT2ey nm0NSoKSXL4eVKVxQP1jXONHZ2IxzBCEB0nM10e19NXWrOvY+TsZ0COMal0fxDe9RIJ8 9j/w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=VCY2Hqr+; 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 k69si19888873pgc.85.2019.07.08.15.39.26; Mon, 08 Jul 2019 15:39:41 -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=VCY2Hqr+; 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 S2390319AbfGHPdQ (ORCPT + 99 others); Mon, 8 Jul 2019 11:33:16 -0400 Received: from mail.kernel.org ([198.145.29.99]:35274 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2390299AbfGHPdO (ORCPT ); Mon, 8 Jul 2019 11:33:14 -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 0FD23216E3; Mon, 8 Jul 2019 15:33:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1562599994; bh=cYmtbt2v6RfDc7FjULI93abk3YL+Uslmq20nfWzd5mE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=VCY2Hqr+q7FUCSUGV17lUzByejAtd4EDMSH8NLq849G+QnBVXmgv5nCXz/ZbCnzqa FJz1KmR/32mbTZqQgdsEx5kyOK+4oOc+HOXoMmv9MW0TXa2RCIchB1vzBGfjqWNqpd 1KswLWCSrB879jZphhJ6Z1mVPMWMLuymwe+DGh3M= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Takashi Sakamoto , Takashi Iwai Subject: [PATCH 5.1 60/96] ALSA: firewire-lib/fireworks: fix miss detection of received MIDI messages Date: Mon, 8 Jul 2019 17:13:32 +0200 Message-Id: <20190708150529.733562399@linuxfoundation.org> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20190708150526.234572443@linuxfoundation.org> References: <20190708150526.234572443@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 Sakamoto commit 7fbd1753b64eafe21cf842348a40a691d0dee440 upstream. In IEC 61883-6, 8 MIDI data streams are multiplexed into single MIDI conformant data channel. The index of stream is calculated by modulo 8 of the value of data block counter. In fireworks, the value of data block counter in CIP header has a quirk with firmware version v5.0.0, v5.7.3 and v5.8.0. This brings ALSA IEC 61883-1/6 packet streaming engine to miss detection of MIDI messages. This commit fixes the miss detection to modify the value of data block counter for the modulo calculation. For maintainers, this bug exists since a commit 18f5ed365d3f ("ALSA: fireworks/firewire-lib: add support for recent firmware quirk") in Linux kernel v4.2. There're many changes since the commit. This fix can be backported to Linux kernel v4.4 or later. I tagged a base commit to the backport for your convenience. Besides, my work for Linux kernel v5.3 brings heavy code refactoring and some structure members are renamed in 'sound/firewire/amdtp-stream.h'. The content of this patch brings conflict when merging -rc tree with this patch and the latest tree. I request maintainers to solve the conflict to replace 'tx_first_dbc' with 'ctx_data.tx.first_dbc'. Fixes: df075feefbd3 ("ALSA: firewire-lib: complete AM824 data block processing layer") Cc: # v4.4+ Signed-off-by: Takashi Sakamoto Signed-off-by: Takashi Iwai Signed-off-by: Greg Kroah-Hartman --- sound/firewire/amdtp-am824.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/sound/firewire/amdtp-am824.c +++ b/sound/firewire/amdtp-am824.c @@ -321,7 +321,7 @@ static void read_midi_messages(struct am u8 *b; for (f = 0; f < frames; f++) { - port = (s->data_block_counter + f) % 8; + port = (8 - s->tx_first_dbc + s->data_block_counter + f) % 8; b = (u8 *)&buffer[p->midi_position]; len = b[0] - 0x80;