Commit 'Bluetooth: Consolidate encryption handling in hci_encrypt_cfm' broke my JBL TUNE500BT headphones

From: Maxim Levitsky
Date: Thu Jul 16 2020 - 04:26:10 EST


Hi,

Few days ago I bisected a recent regression in the 5.8 kernel:

git bisect start
# good: [3d77e6a8804abcc0504c904bd6e5cdf3a5cf8162] Linux 5.7
git bisect good 3d77e6a8804abcc0504c904bd6e5cdf3a5cf8162
# bad: [dcde237b9b0eb1d19306e6f48c0a4e058907619f] Merge tag 'perf-tools-fixes-2020-07-07' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
git bisect bad dcde237b9b0eb1d19306e6f48c0a4e058907619f
# bad: [a0a4d17e02a80a74a63c7cbb7bc8cea2f0b7d8b1] Merge branch 'pcmcia-next' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/linux
git bisect bad a0a4d17e02a80a74a63c7cbb7bc8cea2f0b7d8b1
# good: [09587a09ada2ed7c39aedfa2681152b5ac5641ee] arm64: mm: use ARCH_HAS_DEBUG_WX instead of arch defined
git bisect good 09587a09ada2ed7c39aedfa2681152b5ac5641ee
# good: [3248044ecf9f91900be5678919966715f1fb8834] Merge tag 'wireless-drivers-next-2020-05-25' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next
git bisect good 3248044ecf9f91900be5678919966715f1fb8834
# bad: [cb8e59cc87201af93dfbb6c3dccc8fcad72a09c2] Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next
git bisect bad cb8e59cc87201af93dfbb6c3dccc8fcad72a09c2
# bad: [b8215dce7dfd817ca38807f55165bf502146cd68] selftests/bpf, flow_dissector: Close TAP device FD after the test
git bisect bad b8215dce7dfd817ca38807f55165bf502146cd68
# good: [b8ded9de8db34dd209a3dece94cf54fc414e78f7] net/smc: pre-fetch send buffer outside of send_lock
git bisect good b8ded9de8db34dd209a3dece94cf54fc414e78f7
# good: [1079a34c56c535c3e27df8def0d3c5069d2de129] Merge tag 'mac80211-next-for-davem-2020-05-31' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next
git bisect good 1079a34c56c535c3e27df8def0d3c5069d2de129
# bad: [f395b69f40f580491ef56f2395a98e3189baa53c] dpaa2-eth: Add PFC support through DCB ops
git bisect bad f395b69f40f580491ef56f2395a98e3189baa53c
# bad: [a74d19ba7c41b6c1e424ef4fb7d4600f43ff75e5] net: fec: disable correct clk in the err path of fec_enet_clk_enable
git bisect bad a74d19ba7c41b6c1e424ef4fb7d4600f43ff75e5
# bad: [dafe2078a75af1abe4780313ef8dd8491ba8598f] ipv4: nexthop: Fix deadcode issue by performing a proper NULL check
git bisect bad dafe2078a75af1abe4780313ef8dd8491ba8598f
# bad: [feac90d756c03b03b83fabe83571bd88ecc96b78] Bluetooth: hci_qca: Fix suspend/resume functionality failure
git bisect bad feac90d756c03b03b83fabe83571bd88ecc96b78
# good: [a228f7a410290d836f3a9f9b1ed5aef1aab25cc7] Bluetooth: hci_qca: Enable WBS support for wcn3991
git bisect good a228f7a410290d836f3a9f9b1ed5aef1aab25cc7
# bad: [755dfcbca83710fa967d0efa7c5bb601f871a747] Bluetooth: Fix assuming EIR flags can result in SSP authentication
git bisect bad 755dfcbca83710fa967d0efa7c5bb601f871a747
# bad: [3ca44c16b0dcc764b641ee4ac226909f5c421aa3] Bluetooth: Consolidate encryption handling in hci_encrypt_cfm
git bisect bad 3ca44c16b0dcc764b641ee4ac226909f5c421aa3
# first bad commit: [3ca44c16b0dcc764b641ee4ac226909f5c421aa3] Bluetooth: Consolidate encryption handling in hci_encrypt_cfm

The sympthoms are that I am unable to pair the headphones, and even if I use an older kernel
to pair them, and then switch to the new kernel, the connection is established only sometimes.

Without this commit, I can pair the headphones 100% of the time.

I am not familiar with bluetooth debugging but I am willing to provide
any logs, do tests and try patches.

I am running fedora 32 on the affected system which has built-in intel wireless/bluetooth card,

PCI (wifi) part:
47:00.0 Network controller: Intel Corporation Wi-Fi 6 AX200 (rev 1a)

USB (bluetooth) parrt:
Bus 011 Device 004: ID 8087:0029 Intel Corp.

My .config attached (custom built kernel)

Best regards,
Maxim Levitsky

Attachment: .config.gz
Description: application/gzip