Re: [PATCH v3] Bluetooth: Fix Bluetooth for BCM4377 on T2 Intel MacBooks

From: Johan Hovold
Date: Thu Dec 28 2023 - 07:11:10 EST


On Thu, Dec 28, 2023 at 10:46:57AM +0100, Sven Peter wrote:

> > On Dec 27, 2023, at 11:30, Johan Hovold <johan@xxxxxxxxxx> wrote:

> > The commit you tracked this down to restored the original semantics for
> > HCI_QUIRK_USE_BDADDR_PROPERTY, which means that it should only be set
> > for devices with an invalid address.
> >
> > The Broadcom BCM4377 driver has so far been setting this flag
> > unconditionally which now potentially results in also valid addresses
> > being marked as invalid.
> >
> > I've just sent a patch that makes sure to only mark invalid addresses as
> > invalid:
> >
> > https://lore.kernel.org/lkml/20231227101003.10534-1-johan+linaro@xxxxxxxxxx/
> >
> > Note however that the flag still needs to be set in case your device
> > lacks storage for a unique device address so you cannot simply drop it
> > for some device classes as you do below (unless you are certain that
> > these devices will always have a valid address).

> We do know that though.
>
> BCM4377 is present on Apple’s x86 Macs and always has internal storage
> for the address. If the board comes up without an address there’s nothing
> much we can do because the address isn’t provided by ACPI or anything
> else and setting the invalid address quirk for that situation seems appropriate.
>
> BCM4378/4387 is present on Apple’s ARM Macs and never has internal storage.
> The address is always provided by our bootloader in the device tree.
> These should always unconditionally set HCI_QUIRK_USE_BDADDR_PROPERTY
> just like this patch does.

Ok, good, then this patch and the one I posted are mostly equivalent
assuming that the BCM4378/4387 return an invalid address during setup.

This patch may be preferred as it does not need to rely on such
assumptions, though.

Johan