2021-10-08 13:55:25

by Kiran K

[permalink] [raw]
Subject: [PATCH v1 1/7] Bluetooth: Refactor code to read supported codecs in getsockopt

This patch moves reading of supported codecs from cache to a new
function to reuse over L2CAP sockets to be used in a2dp offload
use case.

Signed-off-by: Kiran K <[email protected]>
Change-Id: I080ed7ca8abd824d3af10859afd808bad28ee86d
---
net/bluetooth/hci_codec.c | 88 +++++++++++++++++++++++++++++++++++
net/bluetooth/hci_codec.h | 2 +
net/bluetooth/sco.c | 98 +++------------------------------------
3 files changed, 96 insertions(+), 92 deletions(-)

diff --git a/net/bluetooth/hci_codec.c b/net/bluetooth/hci_codec.c
index 38201532f58e..f4d8d3a253d8 100644
--- a/net/bluetooth/hci_codec.c
+++ b/net/bluetooth/hci_codec.c
@@ -250,3 +250,91 @@ void hci_read_supported_codecs_v2(struct hci_dev *hdev)
error:
kfree_skb(skb);
}
+
+int hci_get_supported_codecs(struct hci_dev *hdev, u8 type, char __user *optval,
+ int __user *optlen, int len)
+{
+ int n = 0, buf_len = 0, err = 0;
+ struct hci_codec_caps *caps;
+ struct bt_codec codec;
+ u8 num_codecs = 0, i, __user *ptr;
+ struct codec_list *c;
+
+ if (!hci_dev_test_flag(hdev, HCI_OFFLOAD_CODECS_ENABLED)) {
+ err = -EOPNOTSUPP;
+ goto error;
+ }
+
+ if (!hdev->get_data_path_id) {
+ err = -EOPNOTSUPP;
+ goto error;
+ }
+
+ /* find total buffer size required to copy codec + capabilities */
+ hci_dev_lock(hdev);
+ list_for_each_entry(c, &hdev->local_codecs, list) {
+ if (c->transport != type)
+ continue;
+ num_codecs++;
+ for (i = 0, caps = c->caps; i < c->num_caps; i++) {
+ buf_len += 1 + caps->len;
+ caps = (void *)&caps->data[caps->len];
+ }
+ buf_len += sizeof(struct bt_codec);
+ }
+ hci_dev_unlock(hdev);
+
+ buf_len += sizeof(struct bt_codecs);
+ if (buf_len > len) {
+ err = -ENOBUFS;
+ goto error;
+ }
+ ptr = optval;
+
+ if (put_user(num_codecs, ptr)) {
+ err = -EFAULT;
+ goto error;
+ }
+ ptr += sizeof(num_codecs);
+
+ /* Iterate over all the codecs on required transport */
+ hci_dev_lock(hdev);
+ list_for_each_entry(c, &hdev->local_codecs, list) {
+ if (c->transport != type)
+ continue;
+
+ codec.id = c->id;
+ codec.cid = c->cid;
+ codec.vid = c->vid;
+ err = hdev->get_data_path_id(hdev, &codec.data_path);
+ if (err < 0)
+ break;
+ codec.num_caps = c->num_caps;
+ if (copy_to_user(ptr, &codec, sizeof(codec))) {
+ err = -EFAULT;
+ break;
+ }
+ ptr += sizeof(codec);
+
+ /* find codec capabilities data length */
+ n = 0;
+ for (i = 0, caps = c->caps; i < c->num_caps; i++) {
+ n += 1 + caps->len;
+ caps = (void *)&caps->data[caps->len];
+ }
+
+ /* copy codec capabilities data */
+ if (n && copy_to_user(ptr, c->caps, n)) {
+ err = -EFAULT;
+ break;
+ }
+ ptr += n;
+ }
+ hci_dev_unlock(hdev);
+
+ if (!err && put_user(buf_len, optlen))
+ err = -EFAULT;
+
+error:
+ return err;
+}
diff --git a/net/bluetooth/hci_codec.h b/net/bluetooth/hci_codec.h
index a2751930f123..6e849c7d75b9 100644
--- a/net/bluetooth/hci_codec.h
+++ b/net/bluetooth/hci_codec.h
@@ -5,3 +5,5 @@
void hci_read_supported_codecs(struct hci_dev *hdev);
void hci_read_supported_codecs_v2(struct hci_dev *hdev);
void hci_codec_list_clear(struct list_head *codec_list);
+int hci_get_supported_codecs(struct hci_dev *hdev, u8 type, char __user *optval,
+ int __user *optlen, int len);
diff --git a/net/bluetooth/sco.c b/net/bluetooth/sco.c
index 8eabf41b2993..0af814c13b5f 100644
--- a/net/bluetooth/sco.c
+++ b/net/bluetooth/sco.c
@@ -33,6 +33,8 @@
#include <net/bluetooth/hci_core.h>
#include <net/bluetooth/sco.h>

+#include "hci_codec.h"
+
static bool disable_esco;

static const struct proto_ops sco_sock_ops;
@@ -1032,12 +1034,7 @@ static int sco_sock_getsockopt(struct socket *sock, int level, int optname,
struct bt_voice voice;
u32 phys;
int pkt_status;
- int buf_len;
- struct codec_list *c;
- u8 num_codecs, i, __user *ptr;
struct hci_dev *hdev;
- struct hci_codec_caps *caps;
- struct bt_codec codec;

BT_DBG("sk %p", sk);

@@ -1103,98 +1100,15 @@ static int sco_sock_getsockopt(struct socket *sock, int level, int optname,
break;

case BT_CODEC:
- num_codecs = 0;
- buf_len = 0;
-
- hdev = hci_get_route(&sco_pi(sk)->dst, &sco_pi(sk)->src, BDADDR_BREDR);
+ hdev = hci_get_route(&sco_pi(sk)->dst, &sco_pi(sk)->src,
+ BDADDR_BREDR);
if (!hdev) {
err = -EBADFD;
break;
}
-
- if (!hci_dev_test_flag(hdev, HCI_OFFLOAD_CODECS_ENABLED)) {
- hci_dev_put(hdev);
- err = -EOPNOTSUPP;
- break;
- }
-
- if (!hdev->get_data_path_id) {
- hci_dev_put(hdev);
- err = -EOPNOTSUPP;
- break;
- }
-
- /* find total buffer size required to copy codec + caps */
- hci_dev_lock(hdev);
- list_for_each_entry(c, &hdev->local_codecs, list) {
- if (c->transport != HCI_TRANSPORT_SCO_ESCO)
- continue;
- num_codecs++;
- for (i = 0, caps = c->caps; i < c->num_caps; i++) {
- buf_len += 1 + caps->len;
- caps = (void *)&caps->data[caps->len];
- }
- buf_len += sizeof(struct bt_codec);
- }
- hci_dev_unlock(hdev);
-
- buf_len += sizeof(struct bt_codecs);
- if (buf_len > len) {
- hci_dev_put(hdev);
- err = -ENOBUFS;
- break;
- }
- ptr = optval;
-
- if (put_user(num_codecs, ptr)) {
- hci_dev_put(hdev);
- err = -EFAULT;
- break;
- }
- ptr += sizeof(num_codecs);
-
- /* Iterate all the codecs supported over SCO and populate
- * codec data
- */
- hci_dev_lock(hdev);
- list_for_each_entry(c, &hdev->local_codecs, list) {
- if (c->transport != HCI_TRANSPORT_SCO_ESCO)
- continue;
-
- codec.id = c->id;
- codec.cid = c->cid;
- codec.vid = c->vid;
- err = hdev->get_data_path_id(hdev, &codec.data_path);
- if (err < 0)
- break;
- codec.num_caps = c->num_caps;
- if (copy_to_user(ptr, &codec, sizeof(codec))) {
- err = -EFAULT;
- break;
- }
- ptr += sizeof(codec);
-
- /* find codec capabilities data length */
- len = 0;
- for (i = 0, caps = c->caps; i < c->num_caps; i++) {
- len += 1 + caps->len;
- caps = (void *)&caps->data[caps->len];
- }
-
- /* copy codec capabilities data */
- if (len && copy_to_user(ptr, c->caps, len)) {
- err = -EFAULT;
- break;
- }
- ptr += len;
- }
-
- if (!err && put_user(buf_len, optlen))
- err = -EFAULT;
-
- hci_dev_unlock(hdev);
+ err = hci_get_supported_codecs(hdev, HCI_TRANSPORT_SCO_ESCO,
+ optval, optlen, len);
hci_dev_put(hdev);
-
break;

default:
--
2.17.1


2021-10-08 13:57:19

by Kiran K

[permalink] [raw]
Subject: [PATCH v1 5/7] Bluetooth: btintel: Add support to fetch data path id for a2dp offload

During *setup*, when configuring offload, set get_data_path_id callback
function and support fetching of data path id for a2dp offload use case.

Signed-off-by: Kiran K <[email protected]>
Change-Id: Id05bff65e5e88ac4e6379d4184a5775fb6330c6d
---
drivers/bluetooth/btintel.c | 28 +++++++++++++++++++++++-----
1 file changed, 23 insertions(+), 5 deletions(-)

diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c
index de4667179efb..8dcb0e3c7386 100644
--- a/drivers/bluetooth/btintel.c
+++ b/drivers/bluetooth/btintel.c
@@ -2212,16 +2212,30 @@ static int btintel_get_data_path_id(struct hci_dev *hdev, __u8 transport,
{
struct btintel_data *intel_data;

- if (transport != HCI_TRANSPORT_SCO_ESCO)
+ if (transport != HCI_TRANSPORT_SCO_ESCO &&
+ transport != HCI_TRANSPORT_ACL) {
+ bt_dev_err(hdev, "Invalid transport type %u", transport);
return -EINVAL;
+ }

intel_data = hci_get_priv((hdev));

- if (intel_data->use_cases.preset[0] & 0x03) {
- /* Intel uses 1 as data path id for all the usecases */
- *data_path_id = 1;
- return 0;
+ switch (transport) {
+ case HCI_TRANSPORT_SCO_ESCO:
+ if (intel_data->use_cases.preset[0] & 0x03) {
+ *data_path_id = 1;
+ return 0;
+ }
+ break;
+ case HCI_TRANSPORT_ACL:
+ if (intel_data->use_cases.preset[0] & 0x08) {
+ *data_path_id = 1;
+ return 0;
+ }
+ break;
}
+ bt_dev_err(hdev, "Required preset is not supported 0x%02x",
+ intel_data->use_cases.preset[0]);
return -EOPNOTSUPP;
}

@@ -2260,6 +2274,10 @@ static int btintel_configure_offload(struct hci_dev *hdev)
hdev->get_codec_config_data = btintel_get_codec_config_data;
}

+ /* supports SBC codec for a2dp offload */
+ if (use_cases->preset[0] & 0x08)
+ hdev->get_data_path_id = btintel_get_data_path_id;
+
error:
kfree_skb(skb);
return err;
--
2.17.1

2021-10-08 14:02:10

by Kiran K

[permalink] [raw]
Subject: RE: [PATCH v1 1/7] Bluetooth: Refactor code to read supported codecs in getsockopt

Please ignore this v1 patchset. Need to remove ChangeId in commit message in patches. I will send update v2 version.

Thanks,
Kiran


> -----Original Message-----
> From: K, Kiran <[email protected]>
> Sent: Friday, October 8, 2021 7:29 PM
> To: [email protected]
> Cc: Srivatsa, Ravishankar <[email protected]>; Tumkur
> Narayan, Chethan <[email protected]>; Von Dentz, Luiz
> <[email protected]>; K, Kiran <[email protected]>
> Subject: [PATCH v1 1/7] Bluetooth: Refactor code to read supported codecs
> in getsockopt
>
> This patch moves reading of supported codecs from cache to a new function
> to reuse over L2CAP sockets to be used in a2dp offload use case.
>
> Signed-off-by: Kiran K <[email protected]>
> Change-Id: I080ed7ca8abd824d3af10859afd808bad28ee86d
> ---
> net/bluetooth/hci_codec.c | 88 +++++++++++++++++++++++++++++++++++
> net/bluetooth/hci_codec.h | 2 +
> net/bluetooth/sco.c | 98 +++------------------------------------
> 3 files changed, 96 insertions(+), 92 deletions(-)
>
> diff --git a/net/bluetooth/hci_codec.c b/net/bluetooth/hci_codec.c index
> 38201532f58e..f4d8d3a253d8 100644
> --- a/net/bluetooth/hci_codec.c
> +++ b/net/bluetooth/hci_codec.c
> @@ -250,3 +250,91 @@ void hci_read_supported_codecs_v2(struct hci_dev
> *hdev)
> error:
> kfree_skb(skb);
> }
> +
> +int hci_get_supported_codecs(struct hci_dev *hdev, u8 type, char __user
> *optval,
> + int __user *optlen, int len)
> +{
> + int n = 0, buf_len = 0, err = 0;
> + struct hci_codec_caps *caps;
> + struct bt_codec codec;
> + u8 num_codecs = 0, i, __user *ptr;
> + struct codec_list *c;
> +
> + if (!hci_dev_test_flag(hdev, HCI_OFFLOAD_CODECS_ENABLED)) {
> + err = -EOPNOTSUPP;
> + goto error;
> + }
> +
> + if (!hdev->get_data_path_id) {
> + err = -EOPNOTSUPP;
> + goto error;
> + }
> +
> + /* find total buffer size required to copy codec + capabilities */
> + hci_dev_lock(hdev);
> + list_for_each_entry(c, &hdev->local_codecs, list) {
> + if (c->transport != type)
> + continue;
> + num_codecs++;
> + for (i = 0, caps = c->caps; i < c->num_caps; i++) {
> + buf_len += 1 + caps->len;
> + caps = (void *)&caps->data[caps->len];
> + }
> + buf_len += sizeof(struct bt_codec);
> + }
> + hci_dev_unlock(hdev);
> +
> + buf_len += sizeof(struct bt_codecs);
> + if (buf_len > len) {
> + err = -ENOBUFS;
> + goto error;
> + }
> + ptr = optval;
> +
> + if (put_user(num_codecs, ptr)) {
> + err = -EFAULT;
> + goto error;
> + }
> + ptr += sizeof(num_codecs);
> +
> + /* Iterate over all the codecs on required transport */
> + hci_dev_lock(hdev);
> + list_for_each_entry(c, &hdev->local_codecs, list) {
> + if (c->transport != type)
> + continue;
> +
> + codec.id = c->id;
> + codec.cid = c->cid;
> + codec.vid = c->vid;
> + err = hdev->get_data_path_id(hdev, &codec.data_path);
> + if (err < 0)
> + break;
> + codec.num_caps = c->num_caps;
> + if (copy_to_user(ptr, &codec, sizeof(codec))) {
> + err = -EFAULT;
> + break;
> + }
> + ptr += sizeof(codec);
> +
> + /* find codec capabilities data length */
> + n = 0;
> + for (i = 0, caps = c->caps; i < c->num_caps; i++) {
> + n += 1 + caps->len;
> + caps = (void *)&caps->data[caps->len];
> + }
> +
> + /* copy codec capabilities data */
> + if (n && copy_to_user(ptr, c->caps, n)) {
> + err = -EFAULT;
> + break;
> + }
> + ptr += n;
> + }
> + hci_dev_unlock(hdev);
> +
> + if (!err && put_user(buf_len, optlen))
> + err = -EFAULT;
> +
> +error:
> + return err;
> +}
> diff --git a/net/bluetooth/hci_codec.h b/net/bluetooth/hci_codec.h index
> a2751930f123..6e849c7d75b9 100644
> --- a/net/bluetooth/hci_codec.h
> +++ b/net/bluetooth/hci_codec.h
> @@ -5,3 +5,5 @@
> void hci_read_supported_codecs(struct hci_dev *hdev); void
> hci_read_supported_codecs_v2(struct hci_dev *hdev); void
> hci_codec_list_clear(struct list_head *codec_list);
> +int hci_get_supported_codecs(struct hci_dev *hdev, u8 type, char __user
> *optval,
> + int __user *optlen, int len);
> diff --git a/net/bluetooth/sco.c b/net/bluetooth/sco.c index
> 8eabf41b2993..0af814c13b5f 100644
> --- a/net/bluetooth/sco.c
> +++ b/net/bluetooth/sco.c
> @@ -33,6 +33,8 @@
> #include <net/bluetooth/hci_core.h>
> #include <net/bluetooth/sco.h>
>
> +#include "hci_codec.h"
> +
> static bool disable_esco;
>
> static const struct proto_ops sco_sock_ops; @@ -1032,12 +1034,7 @@ static
> int sco_sock_getsockopt(struct socket *sock, int level, int optname,
> struct bt_voice voice;
> u32 phys;
> int pkt_status;
> - int buf_len;
> - struct codec_list *c;
> - u8 num_codecs, i, __user *ptr;
> struct hci_dev *hdev;
> - struct hci_codec_caps *caps;
> - struct bt_codec codec;
>
> BT_DBG("sk %p", sk);
>
> @@ -1103,98 +1100,15 @@ static int sco_sock_getsockopt(struct socket
> *sock, int level, int optname,
> break;
>
> case BT_CODEC:
> - num_codecs = 0;
> - buf_len = 0;
> -
> - hdev = hci_get_route(&sco_pi(sk)->dst, &sco_pi(sk)->src,
> BDADDR_BREDR);
> + hdev = hci_get_route(&sco_pi(sk)->dst, &sco_pi(sk)->src,
> + BDADDR_BREDR);
> if (!hdev) {
> err = -EBADFD;
> break;
> }
> -
> - if (!hci_dev_test_flag(hdev,
> HCI_OFFLOAD_CODECS_ENABLED)) {
> - hci_dev_put(hdev);
> - err = -EOPNOTSUPP;
> - break;
> - }
> -
> - if (!hdev->get_data_path_id) {
> - hci_dev_put(hdev);
> - err = -EOPNOTSUPP;
> - break;
> - }
> -
> - /* find total buffer size required to copy codec + caps */
> - hci_dev_lock(hdev);
> - list_for_each_entry(c, &hdev->local_codecs, list) {
> - if (c->transport != HCI_TRANSPORT_SCO_ESCO)
> - continue;
> - num_codecs++;
> - for (i = 0, caps = c->caps; i < c->num_caps; i++) {
> - buf_len += 1 + caps->len;
> - caps = (void *)&caps->data[caps->len];
> - }
> - buf_len += sizeof(struct bt_codec);
> - }
> - hci_dev_unlock(hdev);
> -
> - buf_len += sizeof(struct bt_codecs);
> - if (buf_len > len) {
> - hci_dev_put(hdev);
> - err = -ENOBUFS;
> - break;
> - }
> - ptr = optval;
> -
> - if (put_user(num_codecs, ptr)) {
> - hci_dev_put(hdev);
> - err = -EFAULT;
> - break;
> - }
> - ptr += sizeof(num_codecs);
> -
> - /* Iterate all the codecs supported over SCO and populate
> - * codec data
> - */
> - hci_dev_lock(hdev);
> - list_for_each_entry(c, &hdev->local_codecs, list) {
> - if (c->transport != HCI_TRANSPORT_SCO_ESCO)
> - continue;
> -
> - codec.id = c->id;
> - codec.cid = c->cid;
> - codec.vid = c->vid;
> - err = hdev->get_data_path_id(hdev,
> &codec.data_path);
> - if (err < 0)
> - break;
> - codec.num_caps = c->num_caps;
> - if (copy_to_user(ptr, &codec, sizeof(codec))) {
> - err = -EFAULT;
> - break;
> - }
> - ptr += sizeof(codec);
> -
> - /* find codec capabilities data length */
> - len = 0;
> - for (i = 0, caps = c->caps; i < c->num_caps; i++) {
> - len += 1 + caps->len;
> - caps = (void *)&caps->data[caps->len];
> - }
> -
> - /* copy codec capabilities data */
> - if (len && copy_to_user(ptr, c->caps, len)) {
> - err = -EFAULT;
> - break;
> - }
> - ptr += len;
> - }
> -
> - if (!err && put_user(buf_len, optlen))
> - err = -EFAULT;
> -
> - hci_dev_unlock(hdev);
> + err = hci_get_supported_codecs(hdev,
> HCI_TRANSPORT_SCO_ESCO,
> + optval, optlen, len);
> hci_dev_put(hdev);
> -
> break;
>
> default:
> --
> 2.17.1

2021-10-08 15:09:48

by bluez.test.bot

[permalink] [raw]
Subject: RE: [v1,1/7] Bluetooth: Refactor code to read supported codecs in getsockopt

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=560011

---Test result---

Test Summary:
CheckPatch FAIL 12.98 seconds
GitLint PASS 6.51 seconds
BuildKernel PASS 659.34 seconds
TestRunner: Setup PASS 455.35 seconds
TestRunner: l2cap-tester PASS 9.94 seconds
TestRunner: bnep-tester PASS 5.37 seconds
TestRunner: mgmt-tester PASS 85.89 seconds
TestRunner: rfcomm-tester PASS 6.77 seconds
TestRunner: sco-tester PASS 6.96 seconds
TestRunner: smp-tester PASS 6.66 seconds
TestRunner: userchan-tester PASS 5.64 seconds

Details
##############################
Test: CheckPatch - FAIL - 12.98 seconds
Run checkpatch.pl script with rule in .checkpatch.conf
[v1,1/7] Bluetooth: Refactor code to read supported codecs in getsockopt\ERROR:GERRIT_CHANGE_ID: Remove Gerrit Change-Id's before submitting upstream
#56:
Change-Id: I080ed7ca8abd824d3af10859afd808bad28ee86d

total: 1 errors, 0 warnings, 0 checks, 218 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
mechanically convert to the typical style using --fix or --fix-inplace.

/github/workspace/src/12545457.patch has style problems, please review.

NOTE: Ignored message types: UNKNOWN_COMMIT_ID

NOTE: If any of the errors are false positives, please report
them to the maintainer, see CHECKPATCH in MAINTAINERS.

[v1,2/7] Bluetooth: Support reading of codecs supported over l2cap socket\ERROR:GERRIT_CHANGE_ID: Remove Gerrit Change-Id's before submitting upstream
#57:
Change-Id: I1592f3bb1167771bfb2cb9114438e473ea372c90

total: 1 errors, 0 warnings, 0 checks, 39 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
mechanically convert to the typical style using --fix or --fix-inplace.

/github/workspace/src/12545459.patch has style problems, please review.

NOTE: Ignored message types: UNKNOWN_COMMIT_ID

NOTE: If any of the errors are false positives, please report
them to the maintainer, see CHECKPATCH in MAINTAINERS.

[v1,3/7] Bluetooth: btintel: cache offload use case data\ERROR:GERRIT_CHANGE_ID: Remove Gerrit Change-Id's before submitting upstream
#57:
Change-Id: I4057eb3ce1412baf0f0ba1bb83bbe71aaefaf9fc

total: 1 errors, 0 warnings, 29 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
mechanically convert to the typical style using --fix or --fix-inplace.

/github/workspace/src/12545461.patch has style problems, please review.

NOTE: Ignored message types: UNKNOWN_COMMIT_ID

NOTE: If any of the errors are false positives, please report
them to the maintainer, see CHECKPATCH in MAINTAINERS.

[v1,4/7] Bluetooth: Pass transport type in get_data_path_id\ERROR:GERRIT_CHANGE_ID: Remove Gerrit Change-Id's before submitting upstream
#57:
Change-Id: Ie3f0c50cb07b6cf8e8ae001361940e8b1411b461

total: 1 errors, 0 warnings, 0 checks, 110 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
mechanically convert to the typical style using --fix or --fix-inplace.

/github/workspace/src/12545463.patch has style problems, please review.

NOTE: Ignored message types: UNKNOWN_COMMIT_ID

NOTE: If any of the errors are false positives, please report
them to the maintainer, see CHECKPATCH in MAINTAINERS.

[v1,5/7] Bluetooth: btintel: Add support to fetch data path id for a2dp offload\ERROR:GERRIT_CHANGE_ID: Remove Gerrit Change-Id's before submitting upstream
#57:
Change-Id: Id05bff65e5e88ac4e6379d4184a5775fb6330c6d

total: 1 errors, 0 warnings, 45 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
mechanically convert to the typical style using --fix or --fix-inplace.

/github/workspace/src/12545465.patch has style problems, please review.

NOTE: Ignored message types: UNKNOWN_COMMIT_ID

NOTE: If any of the errors are false positives, please report
them to the maintainer, see CHECKPATCH in MAINTAINERS.

[v1,6/7] Bluetooth: Remove unused member in struct hci_vnd_codec_v2\ERROR:GERRIT_CHANGE_ID: Remove Gerrit Change-Id's before submitting upstream
#56:
Change-Id: I466f0ecac850115d15dfe72a943fbf3f31baf18d

ERROR:MISSING_SIGN_OFF: Missing Signed-off-by: line(s)

total: 2 errors, 0 warnings, 7 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
mechanically convert to the typical style using --fix or --fix-inplace.

/github/workspace/src/12545467.patch has style problems, please review.

NOTE: Ignored message types: UNKNOWN_COMMIT_ID

NOTE: If any of the errors are false positives, please report
them to the maintainer, see CHECKPATCH in MAINTAINERS.

[v1,7/7] Bluetooth: Read Output codec capabilities\ERROR:GERRIT_CHANGE_ID: Remove Gerrit Change-Id's before submitting upstream
#55:
Change-Id: I68c9aaca0fb0f57be3cceb33251b39acfae58aaa

ERROR:MISSING_SIGN_OFF: Missing Signed-off-by: line(s)

total: 2 errors, 0 warnings, 0 checks, 38 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
mechanically convert to the typical style using --fix or --fix-inplace.

/github/workspace/src/12545469.patch has style problems, please review.

NOTE: Ignored message types: UNKNOWN_COMMIT_ID

NOTE: If any of the errors are false positives, please report
them to the maintainer, see CHECKPATCH in MAINTAINERS.




---
Regards,
Linux Bluetooth


Attachments:
l2cap-tester.log (43.32 kB)
bnep-tester.log (3.48 kB)
mgmt-tester.log (622.86 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