Received: by 2002:a05:6a10:2726:0:0:0:0 with SMTP id ib38csp713389pxb; Tue, 29 Mar 2022 09:48:49 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwvAonG2SpxZh+tXlQrU2J+Bws7F4ugU6ksYi3OqiNTaKNaLZbj9IgtX1KCsIw58VL0Pv70 X-Received: by 2002:a05:6102:3754:b0:325:bbd3:a294 with SMTP id u20-20020a056102375400b00325bbd3a294mr6879817vst.0.1648572529288; Tue, 29 Mar 2022 09:48:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1648572529; cv=none; d=google.com; s=arc-20160816; b=gQtvb8xjcUJh4RT3vp9C2JEF4Kc7yaAmleW+1Fy7qfCb4su7lK0evamSmDJFGDTGA0 9lxKaoTsCAgAl9d/BBwcJw41wU4WxYVjgi8wQ6UcH3XYnIghXY897zyWmgACOyhEWbet n0n51uNFuJPZVincoKvP4iGOz7EYxJbAy88Zu4eeX3uJrZeCB6YSnoSkQSJ1QIfABAkP /TBPlfw8WZ7nQkpFojy+I6UlluM+zXVPSOD3HHCblU747Dj4nTBXM2n4T0wFYa3NHjeE Gl3dITKC+44RgC2e8mwjpKAE15ToJTCiuJ/dPwsVZCN/HkZb6nAxYevT6TDgXjbSmQx8 Gx6g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:to:references:message-id :content-transfer-encoding:cc:date:in-reply-to:from:subject :mime-version; bh=ttcDVm9CD+CHVFDUZwFtZUzr8uWACWtZTQAWmcaruGk=; b=Ovn34OPPIyPSgBlxdM4xCnkbb8qelVq8+3a3rRnZWGNfbpXA6rw3nW9/NwmQ7GS3xG MUzzir2+f5IPTYJYaGZOf1edLYj5un2HHIGnV6GvZ/wuMvV4c/AgBeYwqOVjd35I+DeX LQa+PSrG5auhG3j1Mc3l2DDvK2NxsX538p+OPiqD3rVnv5H6LjX0Rcm7BsZUwp9PmeIW 4rHpg6XxJ0MWiRhD2M0RdIxLZPWeaJ7TnJMZH9hkWpwARi60ertzLOQpQGegrMQuTG7p h2cusotba7qvy5b0XLtdPhM7Cjo876YE5RG9tBTYL043nDWF8mAgSyHyXQeTCiSGxrFH Mo/w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id o16-20020a1f4110000000b0033e831701a3si4573907vka.13.2022.03.29.09.48.12; Tue, 29 Mar 2022 09:48:48 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-bluetooth-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; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232675AbiC2Lfr convert rfc822-to-8bit (ORCPT + 99 others); Tue, 29 Mar 2022 07:35:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36906 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231625AbiC2Lfq (ORCPT ); Tue, 29 Mar 2022 07:35:46 -0400 Received: from mail.holtmann.org (coyote.holtmann.net [212.227.132.17]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id AD54F27CC1 for ; Tue, 29 Mar 2022 04:34:00 -0700 (PDT) Received: from smtpclient.apple (p4ff9fa3c.dip0.t-ipconnect.de [79.249.250.60]) by mail.holtmann.org (Postfix) with ESMTPSA id 811D8CECC8; Tue, 29 Mar 2022 13:33:59 +0200 (CEST) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.80.82.1.1\)) Subject: Re: [PATCH 2/2] Bluetooth: Print broken quirks From: Marcel Holtmann In-Reply-To: <20220325211314.425364-2-luiz.dentz@gmail.com> Date: Tue, 29 Mar 2022 13:33:58 +0200 Cc: linux-bluetooth@vger.kernel.org Content-Transfer-Encoding: 8BIT Message-Id: References: <20220325211314.425364-1-luiz.dentz@gmail.com> <20220325211314.425364-2-luiz.dentz@gmail.com> To: Luiz Augusto von Dentz X-Mailer: Apple Mail (2.3696.80.82.1.1) X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,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-bluetooth@vger.kernel.org Hi Luiz, > This prints warnings for controllers setting broken quirks to increase > their visibility and warn about broken controllers firmware that > probably needs updates to behave properly. > > Signed-off-by: Luiz Augusto von Dentz > --- > net/bluetooth/hci_sync.c | 44 ++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 44 insertions(+) > > diff --git a/net/bluetooth/hci_sync.c b/net/bluetooth/hci_sync.c > index 8f4c5698913d..089500136096 100644 > --- a/net/bluetooth/hci_sync.c > +++ b/net/bluetooth/hci_sync.c > @@ -3825,6 +3825,48 @@ static int hci_init_sync(struct hci_dev *hdev) > return 0; > } > > +#define HCI_BROKEN(_quirk, _desc) \ > +{ \ > + .quirk = _quirk, \ > + .desc = _desc, \ > +} > + > +struct hci_broken { > + unsigned long quirk; > + const char *desc; > +} hci_broken_table[] = { > + HCI_BROKEN(HCI_QUIRK_BROKEN_LOCAL_COMMANDS, > + "HCI Read Local Supported Commands not supported"), > + HCI_BROKEN(HCI_QUIRK_BROKEN_STORED_LINK_KEY, > + "HCI Delete Stored Link Key command is advertised, " > + "but not supported."), > + HCI_BROKEN(HCI_QUIRK_BROKEN_ERR_DATA_REPORTING, > + "HCI Read Default Erroneous Data Reporting command is " > + "advertised, but not supported."), > + HCI_BROKEN(HCI_QUIRK_BROKEN_READ_TRANSMIT_POWER, > + "HCI Read Transmit Power Level command is advertised, " > + "but not supported."), > + HCI_BROKEN(HCI_QUIRK_BROKEN_FILTER_CLEAR_ALL, > + "HCI Set Event Filter command not supported."), > + HCI_BROKEN(HCI_QUIRK_BROKEN_ENHANCED_SETUP_SYNC_CONN, > + "HCI Enhanced Setup Synchronous Connection command is " > + "advertised, but not supported.") > +}; static const hci_quirk_broken And then HCI_QUIRK_BROKEN(LOCAL_COMMANDS, “text”), > + > +static void hci_dev_print_broken(struct hci_dev *hdev) > +{ > + int i; > + > + bt_dev_dbg(hdev, ""); > + > + for (i = 0; i < ARRAY_SIZE(hci_broken_table); i++) { > + struct hci_broken *broken = &hci_broken_table[i]; > + > + if (test_bit(broken->quirk, &hdev->quirks)) > + bt_dev_warn(hdev, "%s", broken->desc); > + } > +} > + > int hci_dev_open_sync(struct hci_dev *hdev) > { > int ret = 0; > @@ -4031,6 +4073,8 @@ int hci_dev_open_sync(struct hci_dev *hdev) > } > > done: > + hci_dev_print_broken(hdev); > + This is wrong. It gets printed all the time and no matter if success or failure. This needs to go after hdev->setup. Regards Marcel