понедельник

[Bug 2170908] Re: Intel Bluetooth stops working on some cold boots on Dell systems

** Tags added: jira-stella-4234 stella -- You received this bug notification because you are subscribed to linux in Ubuntu. Matching subscriptions: Bgg, Bmail, Nb https://bugs.launchpad.net/bugs/2170908 Title: Intel Bluetooth stops working on some cold boots on Dell systems Status in HWE Next: New Status in linux package in Ubuntu: Invalid Status in linux-oem-7.0 package in Ubuntu: Invalid Status in linux source package in Resolute: In Progress Status in linux-oem-7.0 source package in Resolute: In Progress Bug description: [Impact] On some cold boots, the Intel PCIe Bluetooth controller (btintel_pcie) is declared dead and Bluetooth does not work. hci0 stays down for the rest of the session. Seen on a Dell system (CID: 202608-39584) running linux-oem-7.0. Error log: Bluetooth: hci0: Controller in error state Bluetooth: hci0: Timeout (3000 ms) on alive interrupt, alive context: intel_reset1 Bluetooth: hci0: Failed to send frame (-62) Bluetooth: hci0: Failed to send Intel Reset command Bluetooth: hci0: Intel Soft Reset failed (-62) Measured on the affected system: 10 of 60 cold boots hit the error. 4 of those 10 left hci0 down. The driver treats bit 12 of the boot stage register as a fatal error. The hardware documents that bit as a warning only. When the controller sets it, the driver starts a soft reset on a controller that was fine, and the reset fails. [Fix] Cherry-pick of upstream commit 5917dd39db2b ("Bluetooth: btintel_pcie: treat boot stage bit 12 as warning"), in v7.1 (first seen in v7.1-rc3). It renames the bit to DEVICE_WARNING and removes it from btintel_pcie_in_error(). Only the abort handler bit (bit 13) is an error now. A set warning bit is logged and the boot continues. It also prints the boot stage value in the error message. Fixes: 190377500fde ("Bluetooth: btintel_pcie: Dump debug registers on error"), in v6.16. [Test Plan] Power off and power on the machine 60 times (full power loss, not reboot): $ sudo systemctl poweroff After each boot check: $ journalctl -b -k | grep -E "Controller in error state|Soft Reset failed" $ hciconfig hci0 | grep "UP RUNNING" Without patch: 10 of 60 boots show "Controller in error state" and the Soft Reset failure. 4 of 60 leave hci0 down. With patch: 0 of 60 boots show an error. hci0 is UP RUNNING every time. On 7 of 60 boots the new line shows up and the controller works: Bluetooth: hci0: Controller device warning (boot_stage: 0xa0db1003) [Where problems could occur] Could break error handling in the btintel_pcie driver. If a real fatal error ever sets only bit 12, the driver will no longer treat it as an error. It will not run the error path or the soft reset. Bluetooth would then fail later (command timeouts, hci0 not coming up) instead of at the first error. Errors that set bit 13 (abort handler) are handled as before. The change only touches btintel_pcie.c and btintel_pcie.h. It does not touch other Intel Bluetooth transports (btusb). To manage notifications about this bug go to: https://bugs.launchpad.net/hwe-next/+bug/2170908/+subscriptions

Комментариев нет:

Отправить комментарий