Message ID | 20240319152926.1288-6-johan+linaro@kernel.org |
---|---|
State | Superseded |
Headers | show |
Series | Bluetooth: qca: fix device-address endianness | expand |
Hi, On Tue, Mar 19, 2024 at 8:29 AM Johan Hovold <johan+linaro@kernel.org> 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> > Signed-off-by: Johan Hovold <johan+linaro@kernel.org> > --- > arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi | 2 ++ > 1 file changed, 2 insertions(+) Assuming DT bindings folks Ack the binding, this looks fine to me. Reviewed-by: Douglas Anderson <dianders@chromium.org>
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; }; };
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> Signed-off-by: Johan Hovold <johan+linaro@kernel.org> --- arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi | 2 ++ 1 file changed, 2 insertions(+)