Received: by 2002:a05:6358:1087:b0:cb:c9d3:cd90 with SMTP id j7csp410317rwi; Thu, 27 Oct 2022 03:03:00 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7D4DO5ZuRO5lh1lCyT+e6MvOjCSaxSafPtPF+Rj5f2tnl1KyRfUj3KPFxiBw6qeSdKNcy+ X-Received: by 2002:a17:907:a48:b0:7a7:3714:1629 with SMTP id be8-20020a1709070a4800b007a737141629mr18216045ejc.569.1666864980483; Thu, 27 Oct 2022 03:03:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666864980; cv=none; d=google.com; s=arc-20160816; b=HumpQ7LONytee8BdxgyLkX1aTPq01BbvOx1EFhHoHFLzYiqN7mfEQkcQAVvA3ZvF2p AYDhBZkrRq14vU9V3ryn3a4j5RaHaf7M7i5nHt0xai1l7ptpNTgKtB2zV8LpnZbM+GL6 jKHW+HtbgFHgerUALDLWRGAMpQ9ITT2YSD3amjcHefl3tPTKGASAQPAX6g0474BqWiTF si1zopKLKP6MOrDan9ITIWf4GJtLuWxVrU4qWW1918jyfbwIDtljAs7yKvmam6lvEUPa k9boE5r8LVPkRzoLZ/v8LjZm8K3cndGWdcFBCtUlJv4SJ+a1A4FP6QaiykdyueIchseo iBNw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:dkim-signature:from; bh=v+OR8wmZOIyovuDfyWeiLKf+QGSEMk6EcfThh0NrItQ=; b=iYyB4IMCFWrBwcFcNfi8exHGv5/IIZXdydiBfJv38lp1Ngz4jPI/Wzj5rMu5YadR4g FwAWVZGhV0lf63AuEq7j5WEpzYjaP0BNm+OV6ZBZisCozbo0lRe1U6Vhv2FuRfJU03mv a+byRcG/RhYedxSjswK07W9fPeHHemlxozwP69Ae3tpKt5oVHSSqz4lASaYnPG9uwLv2 puuCUOqeCT04LKL3mFYljwN5YySUG8ZGtSS+xMvgXMQQxyTjdiOgpg6bI7sagl9FEYi+ YuTSYXH/3yFEFjD8b6WJ256IjeXCxxSsk0OHKaw3eyMmmSzafafeF9YqI9THh+8Azzeq sxsw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@cutebit.org header.s=mail header.b=PDjj5tIH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=cutebit.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id dt16-20020a170907729000b0077d26491a9csi1049472ejc.141.2022.10.27.03.02.28; Thu, 27 Oct 2022 03:03:00 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@cutebit.org header.s=mail header.b=PDjj5tIH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=cutebit.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234375AbiJ0KAG (ORCPT + 99 others); Thu, 27 Oct 2022 06:00:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41020 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234838AbiJ0J7Z (ORCPT ); Thu, 27 Oct 2022 05:59:25 -0400 Received: from hutie.ust.cz (hutie.ust.cz [185.8.165.127]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 961B196203 for ; Thu, 27 Oct 2022 02:58:47 -0700 (PDT) From: =?UTF-8?q?Martin=20Povi=C5=A1er?= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cutebit.org; s=mail; t=1666864724; bh=v+OR8wmZOIyovuDfyWeiLKf+QGSEMk6EcfThh0NrItQ=; h=From:To:Cc:Subject:Date; b=PDjj5tIHERq38p5UkEbRwLtCxradDm2f7h9sxBb6AvbPSwVitnC3JaaFdhg+3wiwO VEe+GFIhFHI1ltppU24s4MkjJhNb1lW56ZBGVInqqHXRjwfPcYZd9IdS7ZDW8loYqB 1V3cWumqiXT2Bs9EO7gbLbZ2JfzeOd+vMmbinbcs= To: Liam Girdwood , Mark Brown Cc: Stephen Kitt , Raphael-Xu <13691752556@139.com>, Frank Shi , shenghao-ding@ti.com, kevin-lu@ti.com, Jos Dehaes , alsa-devel@alsa-project.org, asahi@lists.linux.dev, linux-kernel@vger.kernel.org, =?UTF-8?q?Martin=20Povi=C5=A1er?= Subject: [PATCH 1/3] ASoC: tas2770: Fix set_tdm_slot in case of single slot Date: Thu, 27 Oct 2022 11:57:58 +0200 Message-Id: <20221027095800.16094-1-povik+lin@cutebit.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org There's a special branch in the set_tdm_slot op for the case of nslots being 1, but: (1) That branch can never work (there's a check for tx_mask being non-zero, later there's another check for it *being* zero; one or the other always throws -EINVAL). (2) The intention of the branch seems to be what the general other branch reduces to in case of nslots being 1. For those reasons remove the 'nslots being 1' special case. Fixes: 1a476abc723e ("tas2770: add tas2770 smart PA kernel driver") Suggested-by: Jos Dehaes Signed-off-by: Martin PoviĊĦer --- sound/soc/codecs/tas2770.c | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/sound/soc/codecs/tas2770.c b/sound/soc/codecs/tas2770.c index b6765235a4b3..8557759acb1f 100644 --- a/sound/soc/codecs/tas2770.c +++ b/sound/soc/codecs/tas2770.c @@ -395,21 +395,13 @@ static int tas2770_set_dai_tdm_slot(struct snd_soc_dai *dai, if (tx_mask == 0 || rx_mask != 0) return -EINVAL; - if (slots == 1) { - if (tx_mask != 1) - return -EINVAL; - - left_slot = 0; - right_slot = 0; + left_slot = __ffs(tx_mask); + tx_mask &= ~(1 << left_slot); + if (tx_mask == 0) { + right_slot = left_slot; } else { - left_slot = __ffs(tx_mask); - tx_mask &= ~(1 << left_slot); - if (tx_mask == 0) { - right_slot = left_slot; - } else { - right_slot = __ffs(tx_mask); - tx_mask &= ~(1 << right_slot); - } + right_slot = __ffs(tx_mask); + tx_mask &= ~(1 << right_slot); } if (tx_mask != 0 || left_slot >= slots || right_slot >= slots) -- 2.33.0