Message ID | 20241213120420.v2.1.Ifc708cc471a8834b344c26fce1ce2fe3e5992cad@changeid (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [v2] Bluetooth: btusb: add sysfs attribute to control USB alt setting | expand |
Context | Check | Description |
---|---|---|
tedd_an/pre-ci_am | success | Success |
tedd_an/SubjectPrefix | success | Gitlint PASS |
tedd_an/BuildKernel | success | BuildKernel PASS |
tedd_an/CheckAllWarning | success | CheckAllWarning PASS |
tedd_an/CheckSparse | success | CheckSparse PASS |
tedd_an/BuildKernel32 | success | BuildKernel32 PASS |
tedd_an/TestRunnerSetup | success | TestRunnerSetup PASS |
tedd_an/TestRunner_l2cap-tester | success | TestRunner PASS |
tedd_an/TestRunner_iso-tester | success | TestRunner PASS |
tedd_an/TestRunner_bnep-tester | success | TestRunner PASS |
tedd_an/TestRunner_mgmt-tester | fail | TestRunner_mgmt-tester: Total: 490, Passed: 484 (98.8%), Failed: 2, Not Run: 4 |
tedd_an/TestRunner_rfcomm-tester | success | TestRunner PASS |
tedd_an/TestRunner_sco-tester | success | TestRunner PASS |
tedd_an/TestRunner_ioctl-tester | success | TestRunner PASS |
tedd_an/TestRunner_mesh-tester | success | TestRunner PASS |
tedd_an/TestRunner_smp-tester | success | TestRunner PASS |
tedd_an/TestRunner_userchan-tester | success | TestRunner PASS |
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=917446 ---Test result--- Test Summary: CheckPatch PENDING 0.24 seconds GitLint PENDING 0.24 seconds SubjectPrefix PASS 0.09 seconds BuildKernel PASS 24.52 seconds CheckAllWarning PASS 28.65 seconds CheckSparse PASS 30.25 seconds BuildKernel32 PASS 24.18 seconds TestRunnerSetup PASS 430.44 seconds TestRunner_l2cap-tester PASS 20.19 seconds TestRunner_iso-tester PASS 29.42 seconds TestRunner_bnep-tester PASS 4.76 seconds TestRunner_mgmt-tester FAIL 119.16 seconds TestRunner_rfcomm-tester PASS 7.52 seconds TestRunner_sco-tester PASS 9.32 seconds TestRunner_ioctl-tester PASS 8.02 seconds TestRunner_mesh-tester PASS 5.86 seconds TestRunner_smp-tester PASS 6.91 seconds TestRunner_userchan-tester PASS 5.02 seconds IncrementalBuild PENDING 0.61 seconds Details ############################## Test: CheckPatch - PENDING Desc: Run checkpatch.pl script Output: ############################## Test: GitLint - PENDING Desc: Run gitlint Output: ############################## Test: TestRunner_mgmt-tester - FAIL Desc: Run mgmt-tester with test-runner Output: Total: 490, Passed: 484 (98.8%), Failed: 2, Not Run: 4 Failed Test Cases LL Privacy - Start Discovery 2 (Disable RL) Failed 0.190 seconds LL Privacy - Set Device Flag 1 (Device Privacy) Failed 0.153 seconds ############################## Test: IncrementalBuild - PENDING Desc: Incremental build with the patches in the series Output: --- Regards, Linux Bluetooth
Hi Luiz, I've addressed the feedback in v1 and passed the series through our internal CI. For two LLPrivacy test failures in the `mgmt-tester, I'm wondering if these failures might be unrelated to this patch. Could you please take a look at the updated patch set when you have a chance? Best regards, Ying On Fri, Dec 13, 2024 at 12:35 PM <bluez.test.bot@gmail.com> wrote: > > 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=917446 > > ---Test result--- > > Test Summary: > CheckPatch PENDING 0.24 seconds > GitLint PENDING 0.24 seconds > SubjectPrefix PASS 0.09 seconds > BuildKernel PASS 24.52 seconds > CheckAllWarning PASS 28.65 seconds > CheckSparse PASS 30.25 seconds > BuildKernel32 PASS 24.18 seconds > TestRunnerSetup PASS 430.44 seconds > TestRunner_l2cap-tester PASS 20.19 seconds > TestRunner_iso-tester PASS 29.42 seconds > TestRunner_bnep-tester PASS 4.76 seconds > TestRunner_mgmt-tester FAIL 119.16 seconds > TestRunner_rfcomm-tester PASS 7.52 seconds > TestRunner_sco-tester PASS 9.32 seconds > TestRunner_ioctl-tester PASS 8.02 seconds > TestRunner_mesh-tester PASS 5.86 seconds > TestRunner_smp-tester PASS 6.91 seconds > TestRunner_userchan-tester PASS 5.02 seconds > IncrementalBuild PENDING 0.61 seconds > > Details > ############################## > Test: CheckPatch - PENDING > Desc: Run checkpatch.pl script > Output: > > ############################## > Test: GitLint - PENDING > Desc: Run gitlint > Output: > > ############################## > Test: TestRunner_mgmt-tester - FAIL > Desc: Run mgmt-tester with test-runner > Output: > Total: 490, Passed: 484 (98.8%), Failed: 2, Not Run: 4 > > Failed Test Cases > LL Privacy - Start Discovery 2 (Disable RL) Failed 0.190 seconds > LL Privacy - Set Device Flag 1 (Device Privacy) Failed 0.153 seconds > ############################## > Test: IncrementalBuild - PENDING > Desc: Incremental build with the patches in the series > Output: > > > > --- > Regards, > Linux Bluetooth >
diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c index 279fe6c115fa..7d7cfcd07aef 100644 --- a/drivers/bluetooth/btusb.c +++ b/drivers/bluetooth/btusb.c @@ -3645,6 +3645,32 @@ static const struct file_operations force_poll_sync_fops = { .llseek = default_llseek, }; +static ssize_t isoc_alt_show(struct device *dev, + struct device_attribute *attr, + char *buf) +{ + struct btusb_data *data = dev_get_drvdata(dev); + + return sysfs_emit(buf, "%d\n", data->isoc_altsetting); +} + +static ssize_t isoc_alt_store(struct device *dev, + struct device_attribute *attr, + const char *buf, size_t count) +{ + struct btusb_data *data = dev_get_drvdata(dev); + int alt; + int ret; + + if (kstrtoint(buf, 10, &alt)) + return -EINVAL; + + ret = btusb_switch_alt_setting(data->hdev, alt); + return ret < 0 ? ret : count; +} + +static DEVICE_ATTR_RW(isoc_alt); + static int btusb_probe(struct usb_interface *intf, const struct usb_device_id *id) { @@ -4008,6 +4034,10 @@ static int btusb_probe(struct usb_interface *intf, data->isoc, data); if (err < 0) goto out_free_dev; + + err = device_create_file(&intf->dev, &dev_attr_isoc_alt); + if (err) + goto out_free_dev; } if (IS_ENABLED(CONFIG_BT_HCIBTUSB_BCM) && data->diag) { @@ -4054,8 +4084,10 @@ static void btusb_disconnect(struct usb_interface *intf) hdev = data->hdev; usb_set_intfdata(data->intf, NULL); - if (data->isoc) + if (data->isoc) { + device_remove_file(&intf->dev, &dev_attr_isoc_alt); usb_set_intfdata(data->isoc, NULL); + } if (data->diag) usb_set_intfdata(data->diag, NULL);
When a Bluetooth raw socket is open, the HCI event related to SCO connection changes are not dispatched to the hci_event module, and the underlying Bluetooth controller's USB Interface 1 will not be updated accordingly. This patch adds `isoc_alt` sysfs attribute, allowing user space to update the alternate setting of the USB interface alternate setting as needed. Signed-off-by: Ying Hsu <yinghsu@chromium.org> --- This commit has been tested on a chromebook with AX211. Changes in v2: - Add check for the existence of a valid USB interface 1. drivers/bluetooth/btusb.c | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-)