Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp7149618ybi; Mon, 8 Jul 2019 15:38:31 -0700 (PDT) X-Google-Smtp-Source: APXvYqxIzPzgjNZGJnz/pxxQUJWU8zTDtKO7J9xOp5Zu/y9UsWKVmONenJ0HIqJwVEaAgclvG4BX X-Received: by 2002:a17:902:9004:: with SMTP id a4mr27896595plp.109.1562625511242; Mon, 08 Jul 2019 15:38:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1562625511; cv=none; d=google.com; s=arc-20160816; b=qcyn35OVaq59Hcz1aHCgBSsyYTm8XNJDEpysy0lp4QqdQ3WMdWzl4irx2igEtEXDTG 6z7kfXlexn0yNNVplKQEniVHEmd50Oo98mX24p9pjKjJNThkoo8J9MpYlv5940ksVNq1 5MgvcIwHWa5p3r0BMAkHxMLCm/qglno91nUI2SoQIlVOoSbZlJzlD2vnvu3oxlM4EQ3h pDPHSS6uiYobUB3nJCZ7ckOxuILeYGQdNaXAx3uK89PcAY1ixSEqvqoJUjl1Y76o4rw4 j/njiFmJ8NKbdEyN8gU89dVwHvUUpIfTEgRcpIse6drHgvyt4Mj33rFWs25f588grlTj qXCw== 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=YE16VbzwyWU6fIflJ4zsVKQlNyXVgz5ksR8V9eJgpFn5GCtmIt8frhxdYVsR4iEFEx juoU2Zi/wdn4XHGYUQ20K3XdItFuzEG3YjIXKAurVUekfcLDKkCX93UN/JEE4uYBzzoa AejZ4iTFLRZfqe8laZo8PbEExS081HCrTQ4NeWUQbKa05jgB4bJNtpcjtKXwxR5znMxW IvKdCdiE5WjQmylbbvPBqt048B5Y3QtwI+YGkrmBAv8WDfQXyHRvBl5YMtt4+y7bFR0U 0A3VK5fNguWVqVLIApBR+iUIePlCaOYdjiv2LLGsfHEQecis1ynIpRCtkb7Z+o02ISNw OXAA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=CAQ2wTnE; 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 a23si17975331pls.189.2019.07.08.15.38.16; Mon, 08 Jul 2019 15:38:31 -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=CAQ2wTnE; 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 S2388958AbfGHP05 (ORCPT + 99 others); Mon, 8 Jul 2019 11:26:57 -0400 Received: from mail.kernel.org ([198.145.29.99]:51892 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388371AbfGHPYf (ORCPT ); Mon, 8 Jul 2019 11:24:35 -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 8D81A2177B; Mon, 8 Jul 2019 15:24:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1562599474; bh=cYmtbt2v6RfDc7FjULI93abk3YL+Uslmq20nfWzd5mE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=CAQ2wTnE57QEmtCaWCB55t0AOYVEqkH7aOOvQA9de9otYG5UpDLaszv4SKXaC0XQv ZwfjFw3HxxEy8lVXRr9d18QaEZf3MFe5RKm4hOJcc3Xh6v1PalMvPgJHQ4jYXoEfxe eMzGNap8o7BYpEC36zIjEIzJhtWI48NC7HMMPPTc= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Takashi Sakamoto , Takashi Iwai Subject: [PATCH 4.14 27/56] ALSA: firewire-lib/fireworks: fix miss detection of received MIDI messages Date: Mon, 8 Jul 2019 17:13:19 +0200 Message-Id: <20190708150522.354885399@linuxfoundation.org> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20190708150514.376317156@linuxfoundation.org> References: <20190708150514.376317156@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;