Message ID | 20240320075554.8178-1-johan+linaro@kernel.org |
---|---|
Headers | show |
Series | Bluetooth: qca: fix device-address endianness | expand |
On Wed, Mar 20, 2024 at 08:55:52AM +0100, Johan Hovold wrote: > Several Qualcomm Bluetooth controllers lack persistent storage for the > device address and instead one can be provided by the boot firmware > using the 'local-bd-address' devicetree property. > > The Bluetooth bindings clearly states that the address should be > specified in little-endian order, but due to a long-standing bug in the > Qualcomm driver which reversed the address some boot firmware has been > providing the address in big-endian order instead. > > The boot firmware in SC7180 Trogdor Chromebooks is known to be affected > so mark the 'local-bd-address' property as broken to maintain backwards > compatibility with older firmware when fixing the underlying driver bug. > > Note that ChromeOS always updates the kernel and devicetree in lockstep > so that there is no need to handle backwards compatibility with older > devicetrees. > > Fixes: 7ec3e67307f8 ("arm64: dts: qcom: sc7180-trogdor: add initial trogdor and lazor dt") > Cc: stable@vger.kernel.org # 5.10 > Cc: Rob Clark <robdclark@chromium.org> > Reviewed-by: Douglas Anderson <dianders@chromium.org> > Signed-off-by: Johan Hovold <johan+linaro@kernel.org> Acked-by: Bjorn Andersson <andersson@kernel.org> Reviewed-by: Bjorn Andersson <andersson@kernel.org> Please merge this through the BT tree, together with the other patches. Regards, Bjorn > --- > arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi b/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi > index 46aaeba28604..ebe37678102f 100644 > --- a/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi > +++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi > @@ -943,6 +943,8 @@ bluetooth: bluetooth { > vddrf-supply = <&pp1300_l2c>; > vddch0-supply = <&pp3300_l10c>; > max-speed = <3200000>; > + > + qcom,local-bd-address-broken; > }; > }; > > -- > 2.43.2 >
Hello: This series was applied to bluetooth/bluetooth-next.git (master) by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>: On Wed, 20 Mar 2024 08:55:50 +0100 you wrote: > The Qualcomm Bluetooth driver is configuring the device address in > reverse order for none-ROME devices, which breaks user space tools like > btmgmt and the 'local-bd-address' devicetree property. > > As these Qualcomm controllers lack persistent storage for the device > address, boot firmware can use the 'local-bd-address' devicetree > property to provide a valid address. The property should specify the > address in little endian order but instead some boot firmware has been > reversing the address to match the buggy Qualcomm driver. > > [...] Here is the summary with links: - [v4,1/4] dt-bindings: bluetooth: add 'qcom,local-bd-address-broken' https://git.kernel.org/bluetooth/bluetooth-next/c/ea56aab91231 - [v4,2/4] arm64: dts: qcom: sc7180-trogdor: mark bluetooth address as broken https://git.kernel.org/bluetooth/bluetooth-next/c/c4406d97b78c - [v4,3/4] Bluetooth: add quirk for broken address properties https://git.kernel.org/bluetooth/bluetooth-next/c/ddaa064664fe - [v4,4/4] Bluetooth: qca: fix device-address endianness https://git.kernel.org/bluetooth/bluetooth-next/c/ff2ed85c0122 You are awesome, thank you!