All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg KH <gregkh@linuxfoundation.org>
To: Aditya Garg <gargaditya08@live.com>
Cc: Luiz Augusto von Dentz <luiz.dentz@gmail.com>,
	Orlando Chamberlain <redecorating@protonmail.com>,
	Daniel Winkler <danielwinkler@google.com>,
	Johan Hedberg <johan.hedberg@intel.com>,
	"linux-bluetooth@vger.kernel.org"
	<linux-bluetooth@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Marcel Holtmann <marcel@holtmann.org>,
	"regressions@lists.linux.dev" <regressions@lists.linux.dev>,
	Sonny Sasaka <sonnysasaka@chromium.org>
Subject: Re: [PATCHv2] Bluetooth: quirk disabling LE Read Transmit Power
Date: Sat, 6 Nov 2021 12:49:43 +0100	[thread overview]
Message-ID: <YYZr14zwHnd52rQ7@kroah.com> (raw)
In-Reply-To: <972034A8-4B22-4FEE-9B37-C0A7C7ADD60C@live.com>

On Sat, Nov 06, 2021 at 09:41:28AM +0000, Aditya Garg wrote:
> 
> 
> > On 06-Nov-2021, at 3:17 AM, Luiz Augusto von Dentz <luiz.dentz@gmail.com> wrote:
> > 
> > Hi Orlando,
> > 
> > On Fri, Oct 1, 2021 at 1:56 AM Orlando Chamberlain
> > <redecorating@protonmail.com> wrote:
> >> 
> >> The LE Read Transmit Power command is Advertised on some Broadcom
> >> controlers, but not supported. Using this command breaks Bluetooth
> >> on the MacBookPro16,1 and iMac20,1. Added a quirk disabling LE Read
> >> Transmit Power for these devices, based off their common chip id 150.
> >> 
> >> Link: https://lore.kernel.org/r/4970a940-211b-25d6-edab-21a815313954@protonmail.com
> >> Signed-off-by: Orlando Chamberlain <redecorating@protonmail.com>
> >> ---
> >> v1->v2: Clarified quirk description
> >> 
> >> drivers/bluetooth/btbcm.c   |  4 ++++
> >> include/net/bluetooth/hci.h | 11 +++++++++++
> >> net/bluetooth/hci_core.c    |  3 ++-
> >> 3 files changed, 17 insertions(+), 1 deletion(-)
> >> 
> >> diff --git a/drivers/bluetooth/btbcm.c b/drivers/bluetooth/btbcm.c
> >> index e4182acee488..4ecc50d93107 100644
> >> --- a/drivers/bluetooth/btbcm.c
> >> +++ b/drivers/bluetooth/btbcm.c
> >> @@ -353,6 +353,10 @@ static int btbcm_read_info(struct hci_dev *hdev)
> >>                return PTR_ERR(skb);
> >> 
> >>        bt_dev_info(hdev, "BCM: chip id %u", skb->data[1]);
> >> +
> >> +       if (skb->data[1] == 150)
> >> +               set_bit(HCI_QUIRK_BROKEN_READ_TRANSMIT_POWER, &hdev->quirks);
> >> +
> >>        kfree_skb(skb);
> >> 
> >>        /* Read Controller Features */
> >> diff --git a/include/net/bluetooth/hci.h b/include/net/bluetooth/hci.h
> >> index b80415011dcd..6da9bd6b7259 100644
> >> --- a/include/net/bluetooth/hci.h
> >> +++ b/include/net/bluetooth/hci.h
> >> @@ -246,6 +246,17 @@ enum {
> >>         * HCI after resume.
> >>         */
> >>        HCI_QUIRK_NO_SUSPEND_NOTIFIER,
> >> +
> >> +       /* When this quirk is set, LE Read Transmit Power is disabled.
> >> +        * This is mainly due to the fact that the HCI LE Read Transmit
> >> +        * Power command is advertised, but not supported; these
> >> +        * controllers often reply with unknown command and need a hard
> >> +        * reset.
> >> +        *
> >> +        * This quirk can be set before hci_register_dev is called or
> >> +        * during the hdev->setup vendor callback.
> >> +        */
> >> +       HCI_QUIRK_BROKEN_READ_TRANSMIT_POWER,
> >> };
> >> 
> >> /* HCI device flags */
> >> diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c
> >> index 8a47a3017d61..9a23fe7c8d67 100644
> >> --- a/net/bluetooth/hci_core.c
> >> +++ b/net/bluetooth/hci_core.c
> >> @@ -742,7 +742,8 @@ static int hci_init3_req(struct hci_request *req, unsigned long opt)
> >>                        hci_req_add(req, HCI_OP_LE_READ_ADV_TX_POWER, 0, NULL);
> >>                }
> >> 
> >> -               if (hdev->commands[38] & 0x80) {
> >> +               if (hdev->commands[38] & 0x80 &&
> >> +                       !test_bit(HCI_QUIRK_BROKEN_READ_TRANSMIT_POWER, &hdev->quirks)) {
> >>                        /* Read LE Min/Max Tx Power*/
> >>                        hci_req_add(req, HCI_OP_LE_READ_TRANSMIT_POWER,
> >>                                    0, NULL);
> >> --
> >> 2.33.0
> > 
> > Nowadays it is possible to treat errors such like this on a per
> > command basis (assuming it is not essential for the init sequence):
> > 
> > diff --git a/include/net/bluetooth/hci.h b/include/net/bluetooth/hci.h
> > index 979da5179ff4..f244f42cc609 100644
> > --- a/include/net/bluetooth/hci.h
> > +++ b/include/net/bluetooth/hci.h
> > @@ -551,6 +551,7 @@ enum {
> > #define HCI_LK_AUTH_COMBINATION_P256   0x08
> > 
> > /* ---- HCI Error Codes ---- */
> > +#define HCI_ERROR_UNKNOWN_CMD          0x01
> > #define HCI_ERROR_UNKNOWN_CONN_ID      0x02
> > #define HCI_ERROR_AUTH_FAILURE         0x05
> > #define HCI_ERROR_PIN_OR_KEY_MISSING   0x06
> > diff --git a/net/bluetooth/hci_sync.c b/net/bluetooth/hci_sync.c
> This diff cannot be applied to stable 5.15. Could you provide a patch capable of being applied to stable.

That is not needed until a patch is in Linus's tree.  Why do you need it
earlier?

thanks,

greg k-h

  reply	other threads:[~2021-11-06 11:49 UTC|newest]

Thread overview: 87+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-29  5:09 [regression] Bluetooth: Query LE tx power on startup broke Bluetooth on MacBookPro16,1 Orlando Chamberlain
2021-09-29  5:56 ` Thorsten Leemhuis
2021-09-30  6:32 ` Orlando Chamberlain
2021-09-30  6:51   ` Greg KH
2021-09-30 14:13   ` [PATCH] Bluetooth: add quirk disabling query LE tx power Orlando Chamberlain
2021-09-30 17:03     ` Thorsten Leemhuis
2021-09-30 17:58     ` Marcel Holtmann
2021-10-01  3:37       ` Orlando Chamberlain
2021-10-01  8:36         ` [PATCHv2] Bluetooth: quirk disabling LE Read Transmit Power Orlando Chamberlain
2021-10-01  9:35           ` Marcel Holtmann
2021-10-01 13:28             ` Orlando Chamberlain
2021-10-04 11:15               ` Orlando Chamberlain
2021-11-05 13:39                 ` Thorsten Leemhuis
2021-11-05 21:47           ` Luiz Augusto von Dentz
2021-11-06  9:41             ` Aditya Garg
2021-11-06 11:49               ` Greg KH [this message]
2021-11-06 17:27                 ` Aditya Garg
2021-11-07  8:35                   ` Greg KH
2021-11-16  8:18                     ` Thorsten Leemhuis
2021-11-16  9:02                       ` Orlando Chamberlain
2021-11-16  9:26                         ` Thorsten Leemhuis
2021-11-17  3:28                           ` Aditya Garg
2021-11-17  7:25                             ` Greg KH
2021-11-17  9:26                               ` Aditya Garg
2021-11-17  9:42                                 ` Thorsten Leemhuis
2021-11-17  9:59                                   ` Aditya Garg
2021-11-17 12:48                                   ` Orlando Chamberlain
2021-11-17 19:01                                     ` Marcel Holtmann
2021-11-19 16:59                                       ` Aditya Garg
2021-11-25 12:26                                         ` Thorsten Leemhuis
2021-11-26 15:15                                           ` Aditya Garg
2021-11-29  7:12                                             ` Aditya Garg
2021-11-29  7:22                                             ` [PATCH 1/6] Bluetooth: add " Aditya Garg
2021-11-29  7:27                                               ` [PATCH 2/6] btbcm: disable read tx power for MacBook Pro 16,1 (16 inch, 2019) Aditya Garg
2021-11-29  7:28                                                 ` [PATCH 3/6] btbcm: disable read tx power for MacBook Pro 16,2 (13 inch - 4 Thunderbolt Ports, 2020) Aditya Garg
2021-11-29  7:30                                                   ` [PATCH 4/6] btbcm: disable read tx power for MacBook Pro 16,4 (16 inch, 2019) Aditya Garg
2021-11-29  7:31                                                     ` [PATCH 5/6] btbcm: disable read tx power for iMac 20,1 (Retina 5K, 27-inch, 2020) Aditya Garg
2021-11-29  7:32                                                       ` [PATCH 6/6] btbcm: disable read tx power for iMac 20,2 " Aditya Garg
2021-11-29  7:46                                                     ` [PATCH v2 4/6] btbcm: disable read tx power for MacBook Pro 16,4 (16 inch, 2019) Aditya Garg
2021-11-29  7:45                                                   ` [PATCH v2 3/6] btbcm: disable read tx power for MacBook Pro 16,2 (13 inch - 4 Thunderbolt Ports, 2020) Aditya Garg
2021-11-29  7:44                                                 ` [PATCH v2 2/6] btbcm: disable read tx power for MacBook Pro 16,1 (16 inch, 2019) Aditya Garg
2021-11-29  8:08                                                 ` [PATCH " Marcel Holtmann
2021-11-29  8:11                                                   ` Aditya Garg
2021-11-29  8:22                                                     ` Marcel Holtmann
2021-11-29  8:42                                                       ` Aditya Garg
2021-11-29  7:32                                               ` [PATCH 1/6] Bluetooth: add quirk disabling LE Read Transmit Power Greg KH
2021-11-29  7:42                                                 ` [PATCH v2 " Aditya Garg
2021-11-29  7:47                                                   ` Greg KH
2021-11-29  7:49                                                     ` Aditya Garg
2021-11-29  7:47                                                   ` Greg KH
2021-11-29  8:05                                                   ` Marcel Holtmann
2021-11-29  8:32                                                     ` [PATCH v3 1/2] " Aditya Garg
2021-11-29  8:35                                                       ` [PATCH v3 2/2] btbcm: disable read tx power for affected Macs with the T2 Security chip Aditya Garg
2021-11-29  8:50                                                         ` [PATCH v3 resend " Aditya Garg
2021-11-29  9:05                                                           ` [PATCH v4 " Aditya Garg
2021-11-29  9:25                                                             ` [PATCH v5 " Aditya Garg
2021-11-29 11:03                                                           ` [PATCH v3 resend " Marcel Holtmann
2021-11-29 12:01                                                             ` Aditya Garg
2021-11-29  8:47                                                       ` [PATCH v3 resend 1/2] Bluetooth: add quirk disabling LE Read Transmit Power Aditya Garg
2021-11-29  9:03                                                         ` [PATCH v4 " Aditya Garg
2021-11-29  9:24                                                           ` [PATCH v5 " Aditya Garg
2021-11-29 13:59                                                             ` [PATCH v6 " Aditya Garg
2021-11-29 14:00                                                               ` [PATCH v6 2/2] btbcm: disable read tx power for affected Macs with the T2 Security chip Aditya Garg
2021-11-30  8:45                                                                 ` Aditya Garg
2021-11-30  8:54                                                                   ` Greg KH
2021-11-30 10:28                                                                 ` Orlando Chamberlain
2021-11-30 11:38                                                               ` [PATCH v7 1/2] Bluetooth: add quirk disabling LE Read Transmit Power Aditya Garg
2021-11-30 11:40                                                                 ` [PATCH v7 2/2] btbcm: disable read tx power for affected Macs with the T2 Security chip Aditya Garg
2021-11-30 11:41                                                                 ` [PATCH v7 1/2] Bluetooth: add quirk disabling LE Read Transmit Power Greg KH
2021-11-30 11:50                                                                   ` Aditya Garg
2021-11-30 11:48                                                                 ` [PATCH v7 resend " Aditya Garg
2021-11-30 11:49                                                                   ` [PATCH v7 resend 2/2] btbcm: disable read tx power for affected Macs with the T2 Security chip Aditya Garg
2021-11-30 12:03                                                                   ` [PATCH v7 resend 1/2] Bluetooth: add quirk disabling LE Read Transmit Power Greg KH
2021-11-30 12:53                                                                     ` Aditya Garg
2021-11-30 12:53                                                                   ` [PATCH v8 " Aditya Garg
2021-11-30 12:54                                                                     ` [PATCH v8 2/2] btbcm: disable read tx power for affected Macs with the T2 Security chip Aditya Garg
2021-12-01  7:25                                                                     ` [PATCH v8 1/2] Bluetooth: add quirk disabling LE Read Transmit Power Marcel Holtmann
2021-12-02 10:15                                                                     ` [PATCH v9 " Aditya Garg
2021-12-02 10:16                                                                       ` [PATCH v9 2/2] btbcm: disable read tx power for affected Macs with the T2 Security chip Aditya Garg
2021-12-02 12:41                                                                       ` [PATCH v10 1/2] Bluetooth: add quirk disabling LE Read Transmit Power Aditya Garg
2021-12-02 12:42                                                                         ` [PATCH v10 2/2] btbcm: disable read tx power for some Macs with the T2 Security chip Aditya Garg
2021-12-03 21:28                                                                           ` Marcel Holtmann
2021-12-21 13:44                                                                             ` Thorsten Leemhuis
2021-12-03 21:28                                                                         ` [PATCH v10 1/2] Bluetooth: add quirk disabling LE Read Transmit Power Marcel Holtmann
2021-11-29  8:52                                                       ` [PATCH v3 " Thorsten Leemhuis
2021-11-29 11:02                                                       ` Marcel Holtmann
2021-11-07  3:25             ` [PATCHv2] Bluetooth: " Orlando Chamberlain

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YYZr14zwHnd52rQ7@kroah.com \
    --to=gregkh@linuxfoundation.org \
    --cc=danielwinkler@google.com \
    --cc=gargaditya08@live.com \
    --cc=johan.hedberg@intel.com \
    --cc=linux-bluetooth@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luiz.dentz@gmail.com \
    --cc=marcel@holtmann.org \
    --cc=redecorating@protonmail.com \
    --cc=regressions@lists.linux.dev \
    --cc=sonnysasaka@chromium.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.