Hi Johan, > As preparation for merging adv_ind/adv_direct_ind and scan_rsp together > into a single mgmt Device Found event refactor individual advertising > report handling into a separate function. This will help keep the code > more readable as more logic gets added. actually only ADV_IND and ADV_SCAN_IND can be followed by a SCAN_REQ/SCAN_RSP. The ADV_DIRECT_IND and ADV_NONCONN_IND will never see a scan response advertising report. > > Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> > --- > net/bluetooth/hci_event.c | 21 +++++++++++++-------- > 1 file changed, 13 insertions(+), 8 deletions(-) > > diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c > index 9ee081b9c064..43872af20aa4 100644 > --- a/net/bluetooth/hci_event.c > +++ b/net/bluetooth/hci_event.c > @@ -3941,25 +3941,30 @@ static void check_pending_le_conn(struct hci_dev *hdev, bdaddr_t *addr, > } > } > > +static void process_adv_report(struct hci_dev *hdev, u8 type, bdaddr_t *bdaddr, > + u8 bdaddr_type, s8 rssi, u8 *data, u8 len) > +{ > + if (type == LE_ADV_IND || type == LE_ADV_DIRECT_IND) > + check_pending_le_conn(hdev, bdaddr, bdaddr_type); > + > + mgmt_device_found(hdev, bdaddr, LE_LINK, bdaddr_type, NULL, rssi, 0, 1, > + data, len); > +} > + > static void hci_le_adv_report_evt(struct hci_dev *hdev, struct sk_buff *skb) > { > u8 num_reports = skb->data[0]; > void *ptr = &skb->data[1]; > - s8 rssi; > > hci_dev_lock(hdev); > > while (num_reports--) { > struct hci_ev_le_advertising_info *ev = ptr; > - > - if (ev->evt_type == LE_ADV_IND || > - ev->evt_type == LE_ADV_DIRECT_IND) > - check_pending_le_conn(hdev, &ev->bdaddr, > - ev->bdaddr_type); > + s8 rssi; > > rssi = ev->data[ev->length]; > - mgmt_device_found(hdev, &ev->bdaddr, LE_LINK, ev->bdaddr_type, > - NULL, rssi, 0, 1, ev->data, ev->length); > + process_adv_report(hdev, ev->evt_type, &ev->bdaddr, > + ev->bdaddr_type, rssi, ev->data, ev->length); > > ptr += sizeof(*ev) + ev->length + 1; So while the patch itself is fine to me, I think we need to update the commit message to make clear what the intention is. Regards Marcel -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html