Message ID | 20201222184753.1.I9438ef1f79fa1132e74c67b489123291080b9a8c@changeid (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Bluetooth: btrtl: Add null check in setup | expand |
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=405589 ---Test result--- ############################## Test: CheckPatch - PASS ############################## Test: CheckGitLint - FAIL workflow: Add workflow files for ci 1: T1 Title exceeds max length (92>72): "Merge 064c0afedbcbbe12df76a748655203d166137107 into 548334ce80948ba808a4a7cefb145d031782d07a" 3: B6 Body message is missing Bluetooth: btrtl: Add null check in setup 1: T1 Title exceeds max length (92>72): "Merge 064c0afedbcbbe12df76a748655203d166137107 into 548334ce80948ba808a4a7cefb145d031782d07a" 3: B6 Body message is missing ############################## Test: CheckBuildK - PASS ############################## Test: CheckTestRunner: Setup - PASS ############################## Test: CheckTestRunner: l2cap-tester - PASS Total: 40, Passed: 34 (85.0%), Failed: 0, Not Run: 6 ############################## Test: CheckTestRunner: bnep-tester - PASS Total: 1, Passed: 1 (100.0%), Failed: 0, Not Run: 0 ############################## Test: CheckTestRunner: mgmt-tester - FAIL Total: 416, Passed: 392 (94.2%), Failed: 8, Not Run: 16 ############################## Test: CheckTestRunner: rfcomm-tester - PASS Total: 9, Passed: 9 (100.0%), Failed: 0, Not Run: 0 ############################## Test: CheckTestRunner: sco-tester - PASS Total: 8, Passed: 8 (100.0%), Failed: 0, Not Run: 0 ############################## Test: CheckTestRunner: smp-tester - PASS Total: 8, Passed: 8 (100.0%), Failed: 0, Not Run: 0 ############################## Test: CheckTestRunner: userchan-tester - PASS Total: 3, Passed: 3 (100.0%), Failed: 0, Not Run: 0 --- Regards, Linux Bluetooth
Hi Abhishek, > btrtl_dev->ic_info is only available from the controller on cold boot > (the lmp subversion matches the device model and this is used to look up > the ic_info). On warm boots (firmware already loaded), > btrtl_dev->ic_info is null. > > Fixes: 05672a2c14a4 (Bluetooth: btrtl: Enable central-peripheral role) > Signed-off-by: Abhishek Pandit-Subedi <abhishekpandit@chromium.org> > --- > > drivers/bluetooth/btrtl.c | 23 +++++++++++++---------- > 1 file changed, 13 insertions(+), 10 deletions(-) > > diff --git a/drivers/bluetooth/btrtl.c b/drivers/bluetooth/btrtl.c > index 1abf6a4d672734f..978f3c773856b05 100644 > --- a/drivers/bluetooth/btrtl.c > +++ b/drivers/bluetooth/btrtl.c > @@ -719,16 +719,19 @@ int btrtl_setup_realtek(struct hci_dev *hdev) > */ > set_bit(HCI_QUIRK_SIMULTANEOUS_DISCOVERY, &hdev->quirks); > > - /* Enable central-peripheral role (able to create new connections with > - * an existing connection in slave role). > - */ > - switch (btrtl_dev->ic_info->lmp_subver) { > - case RTL_ROM_LMP_8822B: > - set_bit(HCI_QUIRK_VALID_LE_STATES, &hdev->quirks); > - break; > - default: > - rtl_dev_dbg(hdev, "Central-peripheral role not enabled."); > - break; > + if (btrtl_dev->ic_info) { > + /* Enable central-peripheral role (able to create new > + * connections with an existing connection in slave role). > + */ > + switch (btrtl_dev->ic_info->lmp_subver) { > + case RTL_ROM_LMP_8822B: > + set_bit(HCI_QUIRK_VALID_LE_STATES, &hdev->quirks); > + break; > + default: > + rtl_dev_dbg(hdev, > + "Central-peripheral role not enabled."); > + break; > + } > } if (!btrtl_dev->ic_info) goto done; > > btrtl_free(btrtl_dev); Regards Marcel
diff --git a/drivers/bluetooth/btrtl.c b/drivers/bluetooth/btrtl.c index 1abf6a4d672734f..978f3c773856b05 100644 --- a/drivers/bluetooth/btrtl.c +++ b/drivers/bluetooth/btrtl.c @@ -719,16 +719,19 @@ int btrtl_setup_realtek(struct hci_dev *hdev) */ set_bit(HCI_QUIRK_SIMULTANEOUS_DISCOVERY, &hdev->quirks); - /* Enable central-peripheral role (able to create new connections with - * an existing connection in slave role). - */ - switch (btrtl_dev->ic_info->lmp_subver) { - case RTL_ROM_LMP_8822B: - set_bit(HCI_QUIRK_VALID_LE_STATES, &hdev->quirks); - break; - default: - rtl_dev_dbg(hdev, "Central-peripheral role not enabled."); - break; + if (btrtl_dev->ic_info) { + /* Enable central-peripheral role (able to create new + * connections with an existing connection in slave role). + */ + switch (btrtl_dev->ic_info->lmp_subver) { + case RTL_ROM_LMP_8822B: + set_bit(HCI_QUIRK_VALID_LE_STATES, &hdev->quirks); + break; + default: + rtl_dev_dbg(hdev, + "Central-peripheral role not enabled."); + break; + } } btrtl_free(btrtl_dev);
btrtl_dev->ic_info is only available from the controller on cold boot (the lmp subversion matches the device model and this is used to look up the ic_info). On warm boots (firmware already loaded), btrtl_dev->ic_info is null. Fixes: 05672a2c14a4 (Bluetooth: btrtl: Enable central-peripheral role) Signed-off-by: Abhishek Pandit-Subedi <abhishekpandit@chromium.org> --- drivers/bluetooth/btrtl.c | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-)