Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp554596rwd; Wed, 31 May 2023 02:03:49 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4JjKSrTWCFLEnOdQQIFAvadfAWw1p9wYo3t2nVD30LLs40aaIyqT8NVyLg8OAAsYn+GsHi X-Received: by 2002:a05:6a20:1611:b0:110:390f:6806 with SMTP id l17-20020a056a20161100b00110390f6806mr4988341pzj.57.1685523829127; Wed, 31 May 2023 02:03:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685523829; cv=none; d=google.com; s=arc-20160816; b=KocMGq/Z8jo4oW9Lke9GYcP+SsLWUChOlkZHk6/dGH8NE3DrFyxveuSLbCQ2UyYjL9 b+42ryry9nzuTtcr8mx9ls9BECENs3z/Jo4n15mbxmDUi/nbQ3S5hk3KcjUFB2xb92HN kcKFNVLH0Ly3CMuBjv7yCCa9TpmXStmJR/bW6MEkBCCZoaPDBMAc+iOumgcwtYYsaue5 +KJ2EvwFSQRNRcPO+TruuFMnZJljhwHDAqth9jFTcw1bC7+SFCPhkGyWtURK3OySlO4N Bn3UHLdDwOAc4OjVOiNDbQ5CVRCcFfyLkxksWl1LbtzLt3PsaeSQI27FUndUhK1IyQnc u5zA== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=pa0lgaa4IpSV0eLUPbHL35tPmuSLyiL7N/oqVQtx9ag=; b=FTKJldohc7Cemv/xPsiU3pi45i3RorHwU/G9YjHEQ53TCcyLectA/a1v8Xryth010x SW2BEs3uRbXIZ7SvYYJ+7U31vXpKVCzlPQ7NUnEVkd7SGo2JDjyQQxPQEBUOyfGX/jEu jve6pmUA1nM/jwDBjc/nhaAuJvNwwDCtTDYr34zb4gJvELgaJ/R7e2bE1D08u4MonkaG NRfpZGaeBI6P9lik8gnHHFSkstINYJHLtnHQvozZ53dUjFCpVaR18oCoXZZjFg7J3IqK cqJRIhaEhV550taXyMEneaYsWSvF3zk5hm22RAC5EPPpND5rHCHaqwbgFT9SC+ic2Hum kBUw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=sKwl+ueY; 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=kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id u5-20020a17090282c500b001ac6d4e1d72si560100plz.149.2023.05.31.02.03.36; Wed, 31 May 2023 02:03:49 -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=@kernel.org header.s=k20201202 header.b=sKwl+ueY; 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=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235241AbjEaI6l (ORCPT + 99 others); Wed, 31 May 2023 04:58:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42044 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231397AbjEaI6k (ORCPT ); Wed, 31 May 2023 04:58:40 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 30D7210B; Wed, 31 May 2023 01:58:39 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id BA6196311E; Wed, 31 May 2023 08:58:38 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1F257C4339B; Wed, 31 May 2023 08:58:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1685523518; bh=HaYbQJNi6y881NqAy/tkhEXGqgb8cgiQ7a1/RH6TbrI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=sKwl+ueYa9OKC0VTzsZZm6QE+TtD+wHKIUCr/INiDLgF9vK6gK8Vasyu9RcSI3gQZ LdtJqjpTS1zuKkZpNXCRo9G8VN8UXcQr4mlVr2eUKYaoou5OrMPDYpAZEjbtdUmKVt 2zCOrSE25apXdIFqkxTGpx9DkmYCTp4hGmKQoUOmp7ZCbtcOpzG/HsgrkpQiHtQADx Ow8qtQehHdWoom1OUMwbf28DlkfGWVPmv7xWFRrUeHJMef7gyixk4v6mjUfoh9KdVx XBzNsuWeNTO9es6qJEjFKLBfcxPS8Zh5He0Z4ObGWuO8wBS6+4Ja09/edT+95W6qYv B4BwUqWcWuDtw== Received: from johan by xi.lan with local (Exim 4.94.2) (envelope-from ) id 1q4HfF-0000jn-Oe; Wed, 31 May 2023 10:58:41 +0200 From: Johan Hovold To: Marcel Holtmann , Johan Hedberg , Luiz Augusto von Dentz Cc: "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , linux-bluetooth@vger.kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, Johan Hovold , stable@vger.kernel.org Subject: [PATCH RESEND 2/2] Bluetooth: hci_qca: fix debugfs registration Date: Wed, 31 May 2023 10:57:59 +0200 Message-Id: <20230531085759.2803-3-johan+linaro@kernel.org> X-Mailer: git-send-email 2.39.3 In-Reply-To: <20230531085759.2803-1-johan+linaro@kernel.org> References: <20230531085759.2803-1-johan+linaro@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-4.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE 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 Since commit 3e4be65eb82c ("Bluetooth: hci_qca: Add poweroff support during hci down for wcn3990"), the setup callback which registers the debugfs interface can be called multiple times. This specifically leads to the following error when powering on the controller: debugfs: Directory 'ibs' with parent 'hci0' already present! Add a driver flag to avoid trying to register the debugfs interface more than once. Fixes: 3e4be65eb82c ("Bluetooth: hci_qca: Add poweroff support during hci down for wcn3990") Cc: stable@vger.kernel.org # 4.20 Signed-off-by: Johan Hovold --- drivers/bluetooth/hci_qca.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/bluetooth/hci_qca.c b/drivers/bluetooth/hci_qca.c index 1b064504b388..e30c979535b1 100644 --- a/drivers/bluetooth/hci_qca.c +++ b/drivers/bluetooth/hci_qca.c @@ -78,7 +78,8 @@ enum qca_flags { QCA_HW_ERROR_EVENT, QCA_SSR_TRIGGERED, QCA_BT_OFF, - QCA_ROM_FW + QCA_ROM_FW, + QCA_DEBUGFS_CREATED, }; enum qca_capabilities { @@ -635,6 +636,9 @@ static void qca_debugfs_init(struct hci_dev *hdev) if (!hdev->debugfs) return; + if (test_and_set_bit(QCA_DEBUGFS_CREATED, &qca->flags)) + return; + ibs_dir = debugfs_create_dir("ibs", hdev->debugfs); /* read only */ -- 2.39.3