Received: by 2002:ac0:bc90:0:0:0:0:0 with SMTP id a16csp3967166img; Mon, 25 Mar 2019 23:44:11 -0700 (PDT) X-Google-Smtp-Source: APXvYqxOPzlLoofpvSjdKmcssLRx/pbl/O1eRtD2hHRrbDS2XAxvQbh8PKOZJzfQkUdMjlKKKzT2 X-Received: by 2002:a17:902:2bc9:: with SMTP id l67mr29234515plb.102.1553582651095; Mon, 25 Mar 2019 23:44:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553582651; cv=none; d=google.com; s=arc-20160816; b=NNHYuThQDCOQha6u7yi2il3kSx8Ds2+1UvAxWYVpCxh+7wYfaxR7hylNJ5Owl9obbR t0hMwja9mUBe36La/D3A/zR+mOKmXZpXmq3lZDQVfDBwH5HMlbRXq4QBXS3zmjRv6z5n FIQ8DAc82cnphQi0XB6bLYsW+dk5Atw/DAEDjN6tzeacqT2XWqG9MQ74FE7vFg+4jMtP J8Nr5V3XA1eWHr2kQk8dBsndyCpmKC975qVpHvj/mtQzS2xYQiCyBUToODOcej4DRQ3R 97xcNCrAEO61RB4GLMEmUGELUCs9uY+6njGimDVUCTTcSQp0SsqJGedF7C1+JYczEuPt oVaQ== 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=JhugskW9EKIk+p7Ct+txGjgoQ5ayE1IMUHAjtuANYIo=; b=iz0QoR5hi1bTp9ApfVrMcI3L6yAam/fZCUpCHGIpcZsuS1hRxZozWCwyOLuUTAjXcX AoGBmaGF39GifbAJLFnNmy8oCipWJRinW8QhRO2lhHEED9dylCXhOm/S2joOseYT/KsK m2xac5FbD6Usnl9D+m9yrRAK0cy6PAsIBTD75k5xz7GucSaLo2BRqrSCCqZDiRFgIjbl kO9+IO9YLYUjc6hE/KmycYu/Sl/8nyBY8mH8OV3E76QmKpeGiWHEG1Cb9kPGYRPG0Dhg k6I3igR4DzS9MIKvO92xx3FG589INyL1uPZJ3Qr9NAgOjUaDqSF2w5mHIoLcxWlm46eW 3iCQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=1vRJLrZ6; 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 n25si15034633pgv.283.2019.03.25.23.43.56; Mon, 25 Mar 2019 23:44:11 -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=1vRJLrZ6; 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 S1732566AbfCZGih (ORCPT + 99 others); Tue, 26 Mar 2019 02:38:37 -0400 Received: from mail.kernel.org ([198.145.29.99]:53198 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732245AbfCZGic (ORCPT ); Tue, 26 Mar 2019 02:38:32 -0400 Received: from localhost (unknown [104.132.152.111]) (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 E40A42086C; Tue, 26 Mar 2019 06:38:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1553582311; bh=x3Mi4ezUKPk706ty9nGyMs3+lbzbM3DzZvA6MPbL3UY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=1vRJLrZ628Qn+pbdXUq8hzRwnJpky8er54lhkXttZLE/b/DOU4CiajIiaud0mxoc9 pbGVUUCFrsVXUpPl+yn9uBN6BVxp/lZAY+O0SAOhGXbIM87IRNvlRniVHMq4FesGR+ cTJQhdXP8/9B7MOTw/mFG//9ySXsTr1bMxo0TUI8= 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.0 02/52] ALSA: firewire-motu: use version field of unit directory to identify model Date: Tue, 26 Mar 2019 15:29:49 +0900 Message-Id: <20190326042701.088533815@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190326042700.963224437@linuxfoundation.org> References: <20190326042700.963224437@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review X-Patchwork-Hint: ignore 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 5.0-stable review patch. If anyone has any objections, please let me know. ------------------ From: Takashi Sakamoto commit 2d012c65a9ca26a0ef87ea0a42f1653dd37155f5 upstream. Current ALSA firewire-motu driver uses the value of 'model' field of unit directory in configuration ROM for modalias for MOTU FireWire models. However, as long as I checked, Pre8 and 828mk3(Hybrid) have the same value for the field (=0x100800). unit | version | model --------------- | --------- | ---------- 828mkII | 0x000003 | 0x101800 Traveler | 0x000009 | 0x107800 Pre8 | 0x00000f | 0x100800 <- 828mk3(FW) | 0x000015 | 0x106800 AudioExpress | 0x000033 | 0x104800 828mk3(Hybrid) | 0x000035 | 0x100800 <- When updating firmware for MOTU 8pre FireWire from v1.0.0 to v1.0.3, I got change of the value from 0x100800 to 0x103800. On the other hand, the value of 'version' field is fixed to 0x00000f. As a quick glance, the higher 12 bits of the value of 'version' field represent firmware version, while the lower 12 bits is unknown. By induction, the value of 'version' field represents actual model. This commit changes modalias to match the value of 'version' field, instead of 'model' field. For degug, long name of added sound card includes hexadecimal value of 'model' field. Fixes: 6c5e1ac0e144 ("ALSA: firewire-motu: add support for Motu Traveler") Signed-off-by: Takashi Sakamoto Cc: # v4.19+ Signed-off-by: Takashi Iwai Signed-off-by: Greg Kroah-Hartman --- sound/firewire/motu/motu.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) --- a/sound/firewire/motu/motu.c +++ b/sound/firewire/motu/motu.c @@ -36,7 +36,7 @@ static void name_card(struct snd_motu *m fw_csr_iterator_init(&it, motu->unit->directory); while (fw_csr_iterator_next(&it, &key, &val)) { switch (key) { - case CSR_VERSION: + case CSR_MODEL: version = val; break; } @@ -46,7 +46,7 @@ static void name_card(struct snd_motu *m strcpy(motu->card->shortname, motu->spec->name); strcpy(motu->card->mixername, motu->spec->name); snprintf(motu->card->longname, sizeof(motu->card->longname), - "MOTU %s (version:%d), GUID %08x%08x at %s, S%d", + "MOTU %s (version:%06x), GUID %08x%08x at %s, S%d", motu->spec->name, version, fw_dev->config_rom[3], fw_dev->config_rom[4], dev_name(&motu->unit->device), 100 << fw_dev->max_speed); @@ -237,20 +237,20 @@ static const struct snd_motu_spec motu_a #define SND_MOTU_DEV_ENTRY(model, data) \ { \ .match_flags = IEEE1394_MATCH_VENDOR_ID | \ - IEEE1394_MATCH_MODEL_ID | \ - IEEE1394_MATCH_SPECIFIER_ID, \ + IEEE1394_MATCH_SPECIFIER_ID | \ + IEEE1394_MATCH_VERSION, \ .vendor_id = OUI_MOTU, \ - .model_id = model, \ .specifier_id = OUI_MOTU, \ + .version = model, \ .driver_data = (kernel_ulong_t)data, \ } static const struct ieee1394_device_id motu_id_table[] = { - SND_MOTU_DEV_ENTRY(0x101800, &motu_828mk2), - SND_MOTU_DEV_ENTRY(0x107800, &snd_motu_spec_traveler), - SND_MOTU_DEV_ENTRY(0x106800, &motu_828mk3), /* FireWire only. */ - SND_MOTU_DEV_ENTRY(0x100800, &motu_828mk3), /* Hybrid. */ - SND_MOTU_DEV_ENTRY(0x104800, &motu_audio_express), + SND_MOTU_DEV_ENTRY(0x000003, &motu_828mk2), + SND_MOTU_DEV_ENTRY(0x000009, &snd_motu_spec_traveler), + SND_MOTU_DEV_ENTRY(0x000015, &motu_828mk3), /* FireWire only. */ + SND_MOTU_DEV_ENTRY(0x000035, &motu_828mk3), /* Hybrid. */ + SND_MOTU_DEV_ENTRY(0x000033, &motu_audio_express), { } }; MODULE_DEVICE_TABLE(ieee1394, motu_id_table);