2021-10-06 16:35:43

by Tedd Ho-Jeong An

[permalink] [raw]
Subject: [PATCH V2] Bluetooth: mgmt: Fix Experimental Feature Changed event

From: Tedd Ho-Jeong An <[email protected]>

This patch fixes the controller index in the Experimental Features
Changed event for the offload_codec and the quality_report features to
use the actual hdev index instead of non-controller index(0xffff) so the
client can receive the event and know which controller the event is for.

Fixes: 9332efdf02e9 ("Bluetooth: Add offload feature under experimental flag")
Fixes: 50a75f15531a ("Bluetooth: Support the quality report events")

Signed-off-by: Tedd Ho-Jeong An <[email protected]>
---
net/bluetooth/mgmt.c | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/net/bluetooth/mgmt.c b/net/bluetooth/mgmt.c
index 3e5283607b97..44683443300c 100644
--- a/net/bluetooth/mgmt.c
+++ b/net/bluetooth/mgmt.c
@@ -3927,7 +3927,9 @@ static int exp_debug_feature_changed(bool enabled, struct sock *skip)
}
#endif

-static int exp_quality_report_feature_changed(bool enabled, struct sock *skip)
+static int exp_quality_report_feature_changed(bool enabled,
+ struct hci_dev *hdev,
+ struct sock *skip)
{
struct mgmt_ev_exp_feature_changed ev;

@@ -3935,7 +3937,7 @@ static int exp_quality_report_feature_changed(bool enabled, struct sock *skip)
memcpy(ev.uuid, quality_report_uuid, 16);
ev.flags = cpu_to_le32(enabled ? BIT(0) : 0);

- return mgmt_limited_event(MGMT_EV_EXP_FEATURE_CHANGED, NULL,
+ return mgmt_limited_event(MGMT_EV_EXP_FEATURE_CHANGED, hdev,
&ev, sizeof(ev),
HCI_MGMT_EXP_FEATURE_EVENTS, skip);
}
@@ -4156,14 +4158,15 @@ static int set_quality_report_func(struct sock *sk, struct hci_dev *hdev,
&rp, sizeof(rp));

if (changed)
- exp_quality_report_feature_changed(val, sk);
+ exp_quality_report_feature_changed(val, hdev, sk);

unlock_quality_report:
hci_req_sync_unlock(hdev);
return err;
}

-static int exp_offload_codec_feature_changed(bool enabled, struct sock *skip)
+static int exp_offload_codec_feature_changed(bool enabled, struct hci_dev *hdev,
+ struct sock *skip)
{
struct mgmt_ev_exp_feature_changed ev;

@@ -4171,7 +4174,7 @@ static int exp_offload_codec_feature_changed(bool enabled, struct sock *skip)
memcpy(ev.uuid, offload_codecs_uuid, 16);
ev.flags = cpu_to_le32(enabled ? BIT(0) : 0);

- return mgmt_limited_event(MGMT_EV_EXP_FEATURE_CHANGED, NULL,
+ return mgmt_limited_event(MGMT_EV_EXP_FEATURE_CHANGED, hdev,
&ev, sizeof(ev),
HCI_MGMT_EXP_FEATURE_EVENTS, skip);
}
@@ -4229,7 +4232,7 @@ static int set_offload_codec_func(struct sock *sk, struct hci_dev *hdev,
&rp, sizeof(rp));

if (changed)
- exp_offload_codec_feature_changed(val, sk);
+ exp_offload_codec_feature_changed(val, hdev, sk);

return err;
}
--
2.25.1


2021-10-06 17:27:37

by bluez.test.bot

[permalink] [raw]
Subject: RE: [V2] Bluetooth: mgmt: Fix Experimental Feature Changed event

This is automated email and please do not reply to this email!

Dear submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=558633

---Test result---

Test Summary:
CheckPatch PASS 1.82 seconds
GitLint PASS 0.91 seconds
BuildKernel PASS 530.86 seconds
TestRunner: Setup PASS 391.74 seconds
TestRunner: l2cap-tester PASS 8.89 seconds
TestRunner: bnep-tester PASS 4.81 seconds
TestRunner: mgmt-tester FAIL 76.10 seconds
TestRunner: rfcomm-tester PASS 5.88 seconds
TestRunner: sco-tester PASS 6.07 seconds
TestRunner: smp-tester PASS 6.04 seconds
TestRunner: userchan-tester PASS 5.11 seconds

Details
##############################
Test: TestRunner: mgmt-tester - FAIL - 76.10 seconds
Run test-runner with mgmt-tester
Total: 463, Passed: 461 (99.6%), Failed: 2, Not Run: 0

Failed Test Cases
Suspend/Resume - Success 5 (Pairing - Legacy) Failed 1.115 seconds
Suspend/Resume - Success 6 (Pairing - SSP) Failed 1.122 seconds



---
Regards,
Linux Bluetooth


Attachments:
l2cap-tester.log (43.32 kB)
bnep-tester.log (3.48 kB)
mgmt-tester.log (623.22 kB)
rfcomm-tester.log (11.41 kB)
sco-tester.log (13.60 kB)
smp-tester.log (11.55 kB)
userchan-tester.log (6.22 kB)
Download all attachments

2021-10-06 17:38:18

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [PATCH V2] Bluetooth: mgmt: Fix Experimental Feature Changed event

Hi Tedd,

> This patch fixes the controller index in the Experimental Features
> Changed event for the offload_codec and the quality_report features to
> use the actual hdev index instead of non-controller index(0xffff) so the
> client can receive the event and know which controller the event is for.
>
> Fixes: 9332efdf02e9 ("Bluetooth: Add offload feature under experimental flag")
> Fixes: 50a75f15531a ("Bluetooth: Support the quality report events")
>
> Signed-off-by: Tedd Ho-Jeong An <[email protected]>
> ---
> net/bluetooth/mgmt.c | 15 +++++++++------
> 1 file changed, 9 insertions(+), 6 deletions(-)

patch has been applied to bluetooth-next tree, but I had to fix the commit ids.

Regards

Marcel

2021-10-06 17:44:52

by An, Tedd

[permalink] [raw]
Subject: Re: [PATCH V2] Bluetooth: mgmt: Fix Experimental Feature Changed event

Hi Marcel,

On Wed, 2021-10-06 at 19:36 +0200, Marcel Holtmann wrote:
> Hi Tedd,
>
> > This patch fixes the controller index in the Experimental Features
> > Changed event for the offload_codec and the quality_report features to
> > use the actual hdev index instead of non-controller index(0xffff) so the
> > client can receive the event and know which controller the event is for.
> >
> > Fixes: 9332efdf02e9 ("Bluetooth: Add offload feature under experimental flag")
> > Fixes: 50a75f15531a ("Bluetooth: Support the quality report events")
> >
> > Signed-off-by: Tedd Ho-Jeong An <[email protected]>
> > ---
> > net/bluetooth/mgmt.c | 15 +++++++++------
> > 1 file changed, 9 insertions(+), 6 deletions(-)
>
> patch has been applied to bluetooth-next tree, but I had to fix the commit ids.
>
I should have rebased the tree before get the commit it. Thanks!

> Regards
>
> Marcel
>