Re: [PATCH v4 11/14] Bluetooth: Report LE devices

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Andre,

> Devices found during LE scan should be reported to userspace through
> mgmt_device_found events.
> 
> Signed-off-by: Andre Guedes <andre.guedes@xxxxxxxxxxxxx>
> ---
>  net/bluetooth/hci_event.c |   10 ++++++++++
>  1 files changed, 10 insertions(+), 0 deletions(-)
> 
> diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c
> index f097649..166f8fa 100644
> --- a/net/bluetooth/hci_event.c
> +++ b/net/bluetooth/hci_event.c
> @@ -2830,6 +2830,7 @@ static inline void hci_le_adv_report_evt(struct hci_dev *hdev,
>  {
>  	struct hci_ev_le_advertising_info *ev;
>  	u8 num_reports;
> +	s8 rssi;
>  
>  	num_reports = skb->data[0];
>  	ev = (void *) &skb->data[1];
> @@ -2838,9 +2839,18 @@ static inline void hci_le_adv_report_evt(struct hci_dev *hdev,
>  
>  	hci_add_adv_entry(hdev, ev);
>  
> +	rssi = ev->data[ev->length];
> +	mgmt_device_found(hdev->id, &ev->bdaddr, NULL, rssi, ev->data,
> +								ev->length);
> +
>  	while (--num_reports) {
>  		ev = (void *) (ev->data + ev->length + 1);
> +
>  		hci_add_adv_entry(hdev, ev);
> +
> +		rssi = ev->data[ev->length];
> +		mgmt_device_found(hdev->id, &ev->bdaddr, NULL, rssi, ev->data,
> +								ev->length);
>  	}

any reason we are treating the first entry different than the potential
other ones? This code looks too complex to me. And we have to repeat the
same calls which easily leads to typos.

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


[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux