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 <jun.miao@xxxxxxxxxxxxx> 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 <jun.miao@xxxxxxxxxxxxx> > --- > 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: josephsih@xxxxxxxxxx