Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp3675796ybz; Mon, 20 Apr 2020 07:28:39 -0700 (PDT) X-Google-Smtp-Source: APiQypIMW7MkG3V06u9ECXi3x7hMHaleHzOTSFN0cUqQUEgoPgBxNW1n/nmTY/IF24XnUhSe92bP X-Received: by 2002:a17:906:315a:: with SMTP id e26mr16194460eje.53.1587392919062; Mon, 20 Apr 2020 07:28:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587392919; cv=none; d=google.com; s=arc-20160816; b=BHZHNNfX7r19/nYqUkgLAahKzGxd0Jpw5pqvy/z3K3bW+JQWdsYUu686nHqIY041Hq zf3bkNwWEVf/HefmyiYPBR61+lBXa/1B0csJDJAuLP0/N32nXesKdRiNysBZiCHFEObF HPeMIYGZKPJGl7dUdBdS+FWiAdh8ULER2qTgu7KyBjKMCbVvH7kfUtpLOqgfwTU2oqDb IWK022uyQSQ/RxCv5SIU0Sr+0uXGANqcasM/fJpJHECVPuJAERggBuKJ/QlIpJbaT1Q6 jUydp0u7Lcvp0ali5azu0UvBNiMP/JyYKaNotczSCCq014xIVyiR+AjEULq9ulE2EZ+b nc5A== 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=JT/+GT6pSqKEQ830IlFtByBDe8sCvVLvtX67k6XdCas=; b=uUsW05L5vorcjHkqLeh88M+PuDTpmAJbwyQZeTdZP5ftlACtrAvkllvJScjMF6H5yG LDpvRyC4mI/1wo+NF/a+4fTyUyTwV4xA7uTv6Q3gIxlnE+u2TbbFBAcTtp8/ZbZlUWj9 tjuT3FuvT7T4U3Dx+ETqlRcc8iHI6GTlj6Bf9pltT7yequj8M6RrLjqEIeWIfgZ9IFoT 9sTMGZBhZwsT8cL2oMGtSYhMzoMGKkap2xu3JXH05QwaBTt1VBzRo5q6F33+LVeXf55f N4kglChz+h37Fx0gFiYtIOhDKnnMu7SKQcDszVyX0pqa+xu7oomWpoXAXsQnIpDFlUxk 8Auw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=cqG8c98K; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id e16si658118ejk.0.2020.04.20.07.28.11; Mon, 20 Apr 2020 07:28:39 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=cqG8c98K; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729436AbgDTMwp (ORCPT + 99 others); Mon, 20 Apr 2020 08:52:45 -0400 Received: from mail.kernel.org ([198.145.29.99]:42784 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729002AbgDTMrC (ORCPT ); Mon, 20 Apr 2020 08:47:02 -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 2407D206D4; Mon, 20 Apr 2020 12:47:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1587386821; bh=tcAAzz3EXEsisJM9NOt1ZeTYwQanWfluG2iG9Gwhh/E=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=cqG8c98KQ6mWAvkmVR8/2NZbtDAdwzxS3KWDgdeQy+DWkcq6c0KNXtA5DaYI5IG3N wAVoS9DdVQzA5yfAAVM4pEWwlKzEWfeqiXyD3VKZC2ogbFZl+d7NPd/vekSzL47vHe pEX9lUxNyrxrPA3eCfVBf01jVyATnoJCG921ihGw= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Takashi Iwai Subject: [PATCH 5.4 39/60] ALSA: usb-audio: Dont create jack controls for PCM terminals Date: Mon, 20 Apr 2020 14:39:17 +0200 Message-Id: <20200420121511.504341945@linuxfoundation.org> X-Mailer: git-send-email 2.26.1 In-Reply-To: <20200420121500.490651540@linuxfoundation.org> References: <20200420121500.490651540@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 7dc3c5a0172e6c0449502103356c3628d05bc0e0 upstream. Some funky firmwares set the connector flag even on PCM terminals although it doesn't make sense (and even actually the firmware doesn't react properly!). Let's skip creation of jack controls in such a case. BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=206873 Cc: Link: https://lore.kernel.org/r/20200412081331.4742-4-tiwai@suse.de Signed-off-by: Takashi Iwai Signed-off-by: Greg Kroah-Hartman --- sound/usb/mixer.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) --- a/sound/usb/mixer.c +++ b/sound/usb/mixer.c @@ -2088,7 +2088,8 @@ static int parse_audio_input_terminal(st check_input_term(state, term_id, &iterm); /* Check for jack detection. */ - if (uac_v2v3_control_is_readable(bmctls, control)) + if ((iterm.type & 0xff00) != 0x0100 && + uac_v2v3_control_is_readable(bmctls, control)) build_connector_control(state->mixer, &iterm, true); return 0; @@ -3128,7 +3129,8 @@ static int snd_usb_mixer_controls(struct if (err < 0 && err != -EINVAL) return err; - if (uac_v2v3_control_is_readable(le16_to_cpu(desc->bmControls), + if ((state.oterm.type & 0xff00) != 0x0100 && + uac_v2v3_control_is_readable(le16_to_cpu(desc->bmControls), UAC2_TE_CONNECTOR)) { build_connector_control(state.mixer, &state.oterm, false); @@ -3153,7 +3155,8 @@ static int snd_usb_mixer_controls(struct if (err < 0 && err != -EINVAL) return err; - if (uac_v2v3_control_is_readable(le32_to_cpu(desc->bmControls), + if ((state.oterm.type & 0xff00) != 0x0100 && + uac_v2v3_control_is_readable(le32_to_cpu(desc->bmControls), UAC3_TE_INSERTION)) { build_connector_control(state.mixer, &state.oterm, false);