Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp3595053ybz; Mon, 20 Apr 2020 06:01:27 -0700 (PDT) X-Google-Smtp-Source: APiQypLU0/a0Va3I3LxAw0EZsObnZZAJiZbHstJzqKJU35rbyjvUez4xCvKKSG0/QzYrrl7Ozyfa X-Received: by 2002:a50:da05:: with SMTP id z5mr1776977edj.287.1587387687139; Mon, 20 Apr 2020 06:01:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587387687; cv=none; d=google.com; s=arc-20160816; b=yKrkaeUGRSJhjkbKUAetIIpyXfB5uafgFs+fWt/7xS0QZA5Iqa6y2wOV+5vR5//HNg V2o5K8ymWtyhNPoKJ/VGEKf09UZjK0GHTDC+Ioh7TGcp9MPfhZpQthBqJ8AN6JBr2SQ3 WxG3od/k0wBjd5HuOimdDPV4siK5xW7OZTD8tYyJtVyTm5ctvxbVh3tXWt9EtkDEMMSt S/2HYyOBaroTaqHSgXE8wRogG0BxtiqpQ0bnT0uCxxD8TxYANxZrdVN1FgY3xpT9A7Zf s3VTS+sfdZZHfAT0xRMwABb5EjW3VibHdsZm2yoJM8fLTBbFq6vvZuwbnU7F9WwTR0gD tsVA== 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=HdyzKUEfN0sKMKNPuvZ0G74CCchhENyr25p/YsSr7IKBOuXkkot78dgUChyULG1dBX OhKIJgmDC8vPKkN8ot/Zou+e+y39iUuUUgOM8qmXjNYgIcMTpRtzsGd6xAkwSIWUc90Z wnwlfYAQfw/ytKx0xjklzegHX6vDEXDo488aU0KF4wxj2RJ9rqU7yD6aEDGI7v8mBwii SHKnOqTPyAkXgAbZCxbRbkywsal1VZUmrDrofThL9J8Tc3JLB2EAUovIu+nPe7xfPt0g 692hvECtlPRcDgLx7osy0kW/KsRmB629UWufW1poThS3Y600hjksSmeJXNR87uztvMF2 Kfng== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=mJIagZGK; 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 u15si476786ejj.129.2020.04.20.06.01.03; Mon, 20 Apr 2020 06:01:27 -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=mJIagZGK; 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 S1728790AbgDTM6t (ORCPT + 99 others); Mon, 20 Apr 2020 08:58:49 -0400 Received: from mail.kernel.org ([198.145.29.99]:35638 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726482AbgDTMme (ORCPT ); Mon, 20 Apr 2020 08:42:34 -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 E80102070B; Mon, 20 Apr 2020 12:42:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1587386553; bh=tcAAzz3EXEsisJM9NOt1ZeTYwQanWfluG2iG9Gwhh/E=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=mJIagZGKzKI84QyPivPjg37fYAwgB2fbr7DPg9MhWbimpW01zVOaIOJYzP8tRcUBo B5+4TQ9yOeEZ2Szsg1irtElGT/xavMUXQn7a9Oc5ZhkV7ZZWeTttnPk6KSK/9pHUyC fuURewMGuHqujh2eAK2TONvmfGa97isvUewt0JzE= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Takashi Iwai Subject: [PATCH 5.5 43/65] ALSA: usb-audio: Dont create jack controls for PCM terminals Date: Mon, 20 Apr 2020 14:38:47 +0200 Message-Id: <20200420121515.904545828@linuxfoundation.org> X-Mailer: git-send-email 2.26.1 In-Reply-To: <20200420121505.909671922@linuxfoundation.org> References: <20200420121505.909671922@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);