Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp3588694ybz; Mon, 20 Apr 2020 05:54:02 -0700 (PDT) X-Google-Smtp-Source: APiQypKOUmQOQSbo5jnL4LkMbsjrbhhyf7nq13xVgIF8qCavwbQS0oMAyHPEHax4bMUramHVT89m X-Received: by 2002:aa7:cd59:: with SMTP id v25mr1849047edw.135.1587387242579; Mon, 20 Apr 2020 05:54:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587387242; cv=none; d=google.com; s=arc-20160816; b=dzsgnlEsfQ9htxfYQcxufu5o5BptayYWwgkLVkVrF6ontvcapnNK7DN4vFiRQ1Gb4T GE19QuWOT6JfgQMBQn1MGCwlgbwlnMtvREmYUtVJZJeIVexAYm/T5xem+hNp1kAEMBtD EJ5OgGEYOOMG2C9o36eys6xETYhbTMKtXSnn657XxvPm3mZK2V/3o10jQAXof5DST2Q8 kF8XwHfal3K1nXtzOXkd5TcmDJmR4Q60+U2QMs/4iyusZYFi9D85Esuzd9Wfq3mTh+b8 fnNjXcspAUEsL3cAm1z8FLOzAB/3SgASXO9ClxZoewUsO/5TzMYbiQemZDx01zh6o/cX euOw== 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=vPPtowsaHhpiKJOh2izNdlVuCY7oHG88BcLEhkQcFwU=; b=kky8fYZrStY4Ky0nbE++KhX1XbAhGiu+QZDYyZG7e959uLg+VoqqtCJGofqf5x+trU 6/JrHlmicMHqB6LYAl070MTWE5W8itxIJECCkIDuwyJDy5SKra/t9U1TPbuM3TEHjn+V P2VtgQ3jdKsdLi6icizcNzIuec5On2K3g0aHqXbORUtAeAt0BG3iDFWAHlr4mYEOItnD ConkDOnYJwlvdoX+TIpQFaG/h+hacCB1J7faMc6mGXjNfQmNknfelpyX58TxyqrJDJlN VbvxlMf8yFP7QQyDkWpRkpfi0rYQTsj5tPEJgLq0du7MHEnJokHXQXE7W9u8YHsdfLuB YigA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=IWuliNSI; 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 m19si464859edq.67.2020.04.20.05.53.39; Mon, 20 Apr 2020 05:54:02 -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=IWuliNSI; 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 S1729496AbgDTMtw (ORCPT + 99 others); Mon, 20 Apr 2020 08:49:52 -0400 Received: from mail.kernel.org ([198.145.29.99]:46876 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729478AbgDTMto (ORCPT ); Mon, 20 Apr 2020 08:49:44 -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 08DAB20736; Mon, 20 Apr 2020 12:49:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1587386984; bh=lk8RXi6P02tjNYEpzp1QVhe8R8pqNPciBylaCpMcTC4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=IWuliNSI8Dobkbo8e78sVhut3jzHJi+ZU4q2oAYCDWant3SSTAIN76c2q1FG+gC9s XdbAFbp2XcztN+KBlYWS7v8gtEUEnhi8P60WSH863zm+gE2M/q12TcdV0XFGwC4Bmn wqrXtiXgsLa691Yew/NagwiIvbE43l5S7bbvmD30= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Takashi Iwai Subject: [PATCH 4.19 19/40] ALSA: usb-audio: Dont create jack controls for PCM terminals Date: Mon, 20 Apr 2020 14:39:29 +0200 Message-Id: <20200420121459.811766207@linuxfoundation.org> X-Mailer: git-send-email 2.26.1 In-Reply-To: <20200420121444.178150063@linuxfoundation.org> References: <20200420121444.178150063@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 @@ -2107,7 +2107,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; @@ -3147,7 +3148,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); @@ -3172,7 +3174,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);