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
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]