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

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

 



Hi Marcel,

On Sep 20, 2011, at 9:49 AM, Marcel Holtmann wrote:

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

There is no special reason unless it was the easiest implementation
when this function was created. But as long as new stuff are added
to this function things may become a bit ugly.

I'll do some code refactoring in hci_le_adv_report_evt() and send it
as a separated patch.

BR,

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