Message ID | 20220224151147.119619-1-luiz.dentz@gmail.com |
---|---|
State | New |
Headers | show |
Series | [v2] Bluetooth: hci_sync: Fix hci_update_accept_list_sync | expand |
Hi Luiz, > hci_update_accept_list_sync is returning the filter based on the error > but that gets overwritten by hci_le_set_addr_resolution_enable_sync > return instead of using the actual result of the likes of > hci_le_add_accept_list_sync which was intended. > > Fixes: ad383c2c65a5b ("Bluetooth: hci_sync: Enable advertising when LL privacy is enabled") > Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com> > --- > v2: Use u8 filter_policy instead of int ret as variable to store the result. > > net/bluetooth/hci_sync.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) patch has been applied to bluetooth-stable tree. Regards Marcel
On 24.02.22 21:08, Marcel Holtmann wrote: > Hi Luiz, > >> hci_update_accept_list_sync is returning the filter based on the error >> but that gets overwritten by hci_le_set_addr_resolution_enable_sync >> return instead of using the actual result of the likes of >> hci_le_add_accept_list_sync which was intended. >> >> Fixes: ad383c2c65a5b ("Bluetooth: hci_sync: Enable advertising when LL privacy is enabled") >> Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com> >> --- >> v2: Use u8 filter_policy instead of int ret as variable to store the result. >> >> net/bluetooth/hci_sync.c | 5 ++++- >> 1 file changed, 4 insertions(+), 1 deletion(-) > > patch has been applied to bluetooth-stable tree. > > Regards > > Marcel Just to put you in the loop in case you have not noticed it yet: there seems to be some kind of regression introduced by this patch. See comment #5 of ticket 215768 where Damien Thébault bisected the kernel [1]. Joey [1] https://bugzilla.kernel.org/show_bug.cgi?id=215768#c5
On 10.05.22 12:36, Joey Corleone wrote: > On 24.02.22 21:08, Marcel Holtmann wrote: >>> hci_update_accept_list_sync is returning the filter based on the error >>> but that gets overwritten by hci_le_set_addr_resolution_enable_sync >>> return instead of using the actual result of the likes of >>> hci_le_add_accept_list_sync which was intended. >>> >>> Fixes: ad383c2c65a5b ("Bluetooth: hci_sync: Enable advertising when >>> LL privacy is enabled") >>> Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com> >>> --- >>> v2: Use u8 filter_policy instead of int ret as variable to store the >>> result. >>> >>> net/bluetooth/hci_sync.c | 5 ++++- >>> 1 file changed, 4 insertions(+), 1 deletion(-) >> >> patch has been applied to bluetooth-stable tree. >> >> Regards >> >> Marcel > > Just to put you in the loop in case you have not noticed it yet: there > seems to be some kind of regression introduced by this patch. See > comment #5 of ticket 215768 where Damien Thébault bisected the kernel [1]. Thx for CCing the regressions list. [TLDR: I'm adding this regression report to the list of tracked regressions; all text from me you find below is based on a few templates paragraphs you might have encountered already already in similar form.] To be sure below issue doesn't fall through the cracks unnoticed, I'm adding it to regzbot, my Linux kernel regression tracking bot: #regzbot ^introduced 80740ebb7e1ad #regzbot title net: bluetooth: can't suspend while bluetooth is enabled. #regzbot ignore-activity #regzbot from: plum <plumerlis@gmail.com> #regzbot link: https://bugzilla.kernel.org/show_bug.cgi?id=215768 This isn't a regression? This issue or a fix for it are already discussed somewhere else? It was fixed already? You want to clarify when the regression started to happen? Or point out I got the title or something else totally wrong? Then just reply -- ideally with also telling regzbot about it, as explained here: https://linux-regtracking.leemhuis.info/tracked-regression/ Reminder for developers: When fixing the issue, add 'Link:' tags pointing to the report (the mail this one replied to), as the kernel's documentation call for; above page explains why this is important for tracked regressions. Ciao, Thorsten (wearing his 'the Linux kernel's regression tracker' hat) P.S.: As the Linux kernel's regression tracker I deal with a lot of reports and sometimes miss something important when writing mails like this. If that's the case here, don't hesitate to tell me in a public reply, it's in everyone's interest to set the public record straight.
TWIMC: this mail is primarily send for documentation purposes and for regzbot, my Linux kernel regression tracking bot. These mails usually contain '#forregzbot' in the subject, to make them easy to spot and filter. On 10.05.22 17:29, Thorsten Leemhuis wrote: > On 10.05.22 12:36, Joey Corleone wrote: >> On 24.02.22 21:08, Marcel Holtmann wrote: > >>>> hci_update_accept_list_sync is returning the filter based on the error >>>> but that gets overwritten by hci_le_set_addr_resolution_enable_sync >>>> return instead of using the actual result of the likes of >>>> hci_le_add_accept_list_sync which was intended. >>>> >>>> Fixes: ad383c2c65a5b ("Bluetooth: hci_sync: Enable advertising when >>>> LL privacy is enabled") >>>> Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com> >>>> --- >>>> v2: Use u8 filter_policy instead of int ret as variable to store the >>>> result. >>>> >>>> net/bluetooth/hci_sync.c | 5 ++++- >>>> 1 file changed, 4 insertions(+), 1 deletion(-) >>> >>> patch has been applied to bluetooth-stable tree. >>> >>> Regards >>> >>> Marcel >> >> Just to put you in the loop in case you have not noticed it yet: there >> seems to be some kind of regression introduced by this patch. See >> comment #5 of ticket 215768 where Damien Thébault bisected the kernel [1]. > > #regzbot ^introduced 80740ebb7e1ad > #regzbot title net: bluetooth: can't suspend while bluetooth is enabled. > #regzbot ignore-activity > #regzbot from: plum <plumerlis@gmail.com> > #regzbot link: https://bugzilla.kernel.org/show_bug.cgi?id=215768 #regzbot fixed-by: a9a347655d224fa284187 That fix landed in bluetooth-next. I wonder if that fix would better have been merged in this cycle, as that will mean many users are exposed to this for at least three more weeks, but whatever. Ciao, Thorsten (wearing his 'the Linux kernel's regression tracker' hat) P.S.: As the Linux kernel's regression tracker I deal with a lot of reports and sometimes miss something important when writing mails like this. If that's the case here, don't hesitate to tell me in a public reply, it's in everyone's interest to set the public record straight.
diff --git a/net/bluetooth/hci_sync.c b/net/bluetooth/hci_sync.c index b66a2271c433..d146d4efae43 100644 --- a/net/bluetooth/hci_sync.c +++ b/net/bluetooth/hci_sync.c @@ -1845,6 +1845,7 @@ static u8 hci_update_accept_list_sync(struct hci_dev *hdev) u8 num_entries = 0; bool pend_conn, pend_report; int err; + u8 filter_policy; /* Pause advertising if resolving list can be used as controllers are * cannot accept resolving list modifications while advertising. @@ -1930,6 +1931,8 @@ static u8 hci_update_accept_list_sync(struct hci_dev *hdev) err = -EINVAL; done: + filter_policy = err ? 0x00 : 0x01; + /* Enable address resolution when LL Privacy is enabled. */ err = hci_le_set_addr_resolution_enable_sync(hdev, 0x01); if (err) @@ -1940,7 +1943,7 @@ static u8 hci_update_accept_list_sync(struct hci_dev *hdev) hci_resume_advertising_sync(hdev); /* Select filter policy to use accept list */ - return err ? 0x00 : 0x01; + return filter_policy; } /* Returns true if an le connection is in the scanning state */