Bug 207843

Summary: Some ACPI discovered BRCM HCI UART chip write clock failed.
Product: Drivers Reporter: zechfox (zechfox)
Component: BluetoothAssignee: linux-bluetooth (linux-bluetooth)
Status: NEW ---    
Severity: low    
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 5.6.13 Subsystem:
Regression: No Bisected commit-id:
Attachments: dmesg output

Description zechfox 2020-05-22 02:56:53 UTC
Created attachment 289213 [details]
dmesg output

>Overview:
>>My tablet uses AP6255 wifi/bluetooth module with BCM43455 chip.
>>The bluetooth controller worked well except bluetooth headset play sound
>>glitch.It's not configuration problem in bluez or pulseaudio.
>>Some log in dmesg indicated that baud rate was not correctly configured. 
>>dmesg:
>>>Bluetooth: BCM: failed to write clock (-56)
>>>Bluetooth: Failed to set baudrate.

>Steps to Reproduce:
>>1. Power on bluetooth headset.
>>2. If it was not automatically connect, connect to headset by bluetoothctl.
>>3. play sound.
>Actual Results:
>>sound glitches.
>Expect Results:
>>sound well.
>Additional Information: 
>>I suspect the baud rate was too low to transmit audio.
>>It seems the chip can't support write clock HCI command. Then bluetooth
>>driver used default 115200 baud rate.
>>I tried to force configure 4Mbps baud rate to my chip after write clock
>>failed, but reset it failed.  Then I hardcode baud rate to 3Mbps, it solved
>>the glitch problem. 
>>And I found the commit that introduced the 4Mbsp to ACPI device:
>>https://github.com/torvalds/linux/commit/74183a1c50a3c61e62d2e585107ea3c0b942a3ff
>>It seems not all ACPI discovered devices can support write clock.
>>So maybe the driver should fallback baud rate to 3Mbps if write clock failed.

-- 
Smiles ^__________^ zech