Hi Greg, >>>>>>> This reverts commit 0eee35bdfa3b472cc986ecc6ad76293fdcda59e2 as it >>>>>>> breaks all bluetooth connections on my machine. >>>>>>> >>>>>>> Cc: Marcel Holtmann <marcel@xxxxxxxxxxxx> >>>>>>> Cc: Sathish Narsimman <sathish.narasimman@xxxxxxxxx> >>>>>>> Fixes: 0eee35bdfa3b ("Bluetooth: Update resolving list when updating whitelist") >>>>>>> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> >>>>>>> --- >>>>>>> net/bluetooth/hci_request.c | 41 ++----------------------------------- >>>>>>> 1 file changed, 2 insertions(+), 39 deletions(-) >>>>>>> >>>>>>> This has been bugging me for since 5.9-rc1, when all bluetooth devices >>>>>>> stopped working on my desktop system. I finally got the time to do >>>>>>> bisection today, and it came down to this patch. Reverting it on top of >>>>>>> 5.9-rc7 restored bluetooth devices and now my input devices properly >>>>>>> work. >>>>>>> >>>>>>> As it's almost 5.9-final, any chance this can be merged now to fix the >>>>>>> issue? >>>>>> >>>>>> can you be specific what breaks since our guys and I also think the >>>>>> ChromeOS guys have been testing these series of patches heavily. >>>>> >>>>> My bluetooth trackball does not connect at all. With this reverted, it >>>>> all "just works". >>>>> >>>>> Same I think for a Bluetooth headset, can check that again if you really >>>>> need me to, but the trackball is reliable here. >>>>> >>>>>> When you run btmon does it indicate any errors? >>>>> >>>>> How do I run it and where are the errors displayed? >>>> >>>> you can do btmon -w trace.log and just let it run like tcdpump. >>> >>> Ok, attached. >>> >>> The device is not connecting, and then I open the gnome bluetooth dialog >>> and it scans for devices in the area, but does not connect to my >>> existing devices at all. >>> >>> Any ideas? >> >> the trace file is from -rc7 or from -rc7 with this patch reverted? >> >> I asked, because I see no hint that anything goes wrong. However I have a suspicion if you bisected it to this patch. >> >> diff --git a/net/bluetooth/hci_request.c b/net/bluetooth/hci_request.c >> index e0269192f2e5..94c0daa9f28d 100644 >> --- a/net/bluetooth/hci_request.c >> +++ b/net/bluetooth/hci_request.c >> @@ -732,7 +732,7 @@ static int add_to_white_list(struct hci_request *req, >> return -1; >> >> /* White list can not be used with RPAs */ >> - if (!allow_rpa && !use_ll_privacy(hdev) && >> + if (!allow_rpa && >> hci_find_irk_by_addr(hdev, ¶ms->addr, params->addr_type)) { >> return -1; >> } >> @@ -812,7 +812,7 @@ static u8 update_white_list(struct hci_request *req) >> } >> >> /* White list can not be used with RPAs */ >> - if (!allow_rpa && !use_ll_privacy(hdev) && >> + if (!allow_rpa && >> hci_find_irk_by_addr(hdev, &b->bdaddr, b->bdaddr_type)) { >> return 0x00; >> } >> >> >> If you just do the above, does thing work for you again? > > Corrupted white-space issues aside, yes, it works! I just pasted it from a different terminal ;) > I am running 5.9-rc8 with just this change on it and my tracball works > just fine. > >> My suspicion is that the use_ll_privacy check is the wrong one here. It only checks if hardware feature is available, not if it is also enabled. > > How would one go about enabling such a hardware feature if they wanted > to? :) I need to understand what is going wrong for you. I have a suspicion, but first I need to understand what kind of device you have. I hope the trace file is enough. > Anyway, feel free to put: > > Tested-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > > on the above patch and hopefully get it to Linus for 5.9-final. Sadly, it is a poor hot-needle fix. Regards Marcel