2021-07-10 03:02:55

by Jun Miao

[permalink] [raw]
Subject: [PATCH] [v2] Bluetooth: btusb: Fix a unspported condition to set debug features

When reading the support debug features failed, there are not available
features init. Continue to set the debug features is illogical, we should
skip btintel_set_debug_features(), even if checked by "if (!features)".

Fixes: c453b10c2b28 ("Bluetooth: btusb: Configure Intel debug feature based on available support")
Signed-off-by: Jun Miao <[email protected]>
---
drivers/bluetooth/btusb.c | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index a9855a2dd561..20c804069991 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -2907,10 +2907,11 @@ static int btusb_setup_intel_new(struct hci_dev *hdev)
/* Read the Intel supported features and if new exception formats
* supported, need to load the additional DDC config to enable.
*/
- btintel_read_debug_features(hdev, &features);
-
- /* Set DDC mask for available debug features */
- btintel_set_debug_features(hdev, &features);
+ err = btintel_read_debug_features(hdev, &features);
+ if (!err) {
+ /* Set DDC mask for available debug features */
+ btintel_set_debug_features(hdev, &features);
+ }

/* Read the Intel version information after loading the FW */
err = btintel_read_version(hdev, &ver);
@@ -3003,10 +3004,11 @@ static int btusb_setup_intel_newgen(struct hci_dev *hdev)
/* Read the Intel supported features and if new exception formats
* supported, need to load the additional DDC config to enable.
*/
- btintel_read_debug_features(hdev, &features);
-
- /* Set DDC mask for available debug features */
- btintel_set_debug_features(hdev, &features);
+ err = btintel_read_debug_features(hdev, &features);
+ if (!err) {
+ /* Set DDC mask for available debug features */
+ btintel_set_debug_features(hdev, &features);
+ }

/* Read the Intel version information after loading the FW */
err = btintel_read_version_tlv(hdev, &version);
--
2.32.0


2021-07-13 02:41:51

by Joseph Hwang

[permalink] [raw]
Subject: Re: [PATCH] [v2] Bluetooth: btusb: Fix a unspported condition to set debug features

Hi Jun Miao:

Thanks for the patch checking out the condition of debug features.
However, the patch is actually covered by two patches that are being
reviewed.

- [v4,1/4] Bluetooth: btusb: disable Intel link statistics telemetry
events (https://patchwork.kernel.org/project/bluetooth/patch/20210618160016.v4.1.I41aec59e65ffd3226d368dabeb084af13cc133c8@changeid/)
— this patch disables the debug features by default to avoid overhead.

- [v4,3/4] Bluetooth: set quality report callback for Intel
(https://patchwork.kernel.org/project/bluetooth/patch/20210618160016.v4.3.I50ffa4cd0b3ab11669ff2541fc719fee00b4e244@changeid/)
— this patch checks the condition of debug features and does some
other things.

Thanks and regards,
Joseph

On Sat, Jul 10, 2021 at 11:02 AM Jun Miao <[email protected]> wrote:
>
> When reading the support debug features failed, there are not available
> features init. Continue to set the debug features is illogical, we should
> skip btintel_set_debug_features(), even if checked by "if (!features)".
>
> Fixes: c453b10c2b28 ("Bluetooth: btusb: Configure Intel debug feature based on available support")
> Signed-off-by: Jun Miao <[email protected]>
> ---
> drivers/bluetooth/btusb.c | 18 ++++++++++--------
> 1 file changed, 10 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
> index a9855a2dd561..20c804069991 100644
> --- a/drivers/bluetooth/btusb.c
> +++ b/drivers/bluetooth/btusb.c
> @@ -2907,10 +2907,11 @@ static int btusb_setup_intel_new(struct hci_dev *hdev)
> /* Read the Intel supported features and if new exception formats
> * supported, need to load the additional DDC config to enable.
> */
> - btintel_read_debug_features(hdev, &features);
> -
> - /* Set DDC mask for available debug features */
> - btintel_set_debug_features(hdev, &features);
> + err = btintel_read_debug_features(hdev, &features);
> + if (!err) {
> + /* Set DDC mask for available debug features */
> + btintel_set_debug_features(hdev, &features);
> + }
>
> /* Read the Intel version information after loading the FW */
> err = btintel_read_version(hdev, &ver);
> @@ -3003,10 +3004,11 @@ static int btusb_setup_intel_newgen(struct hci_dev *hdev)
> /* Read the Intel supported features and if new exception formats
> * supported, need to load the additional DDC config to enable.
> */
> - btintel_read_debug_features(hdev, &features);
> -
> - /* Set DDC mask for available debug features */
> - btintel_set_debug_features(hdev, &features);
> + err = btintel_read_debug_features(hdev, &features);
> + if (!err) {
> + /* Set DDC mask for available debug features */
> + btintel_set_debug_features(hdev, &features);
> + }
>
> /* Read the Intel version information after loading the FW */
> err = btintel_read_version_tlv(hdev, &version);
> --
> 2.32.0
>


--

Joseph Shyh-In Hwang
Email: [email protected]