Re: [RFC v2 1/8] Bluetooth: Setup LE scan with no timeout

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

 



Hi Marcel,

On Mon, Feb 18, 2013 at 7:41 PM, Marcel Holtmann <marcel@xxxxxxxxxxxx> wrote:
> Hi Andre,
>
>> >> This patch modifies hci_do_le_scan and hci_cancel_le_scan helpers so
>> >> we are able to start and stop LE scan with no timeout. This feature
>> >> will be used by the LE connection routine.
>> >>
>> >> Signed-off-by: Andre Guedes <andre.guedes@xxxxxxxxxxxxx>
>> >> ---
>> >>  net/bluetooth/hci_core.c | 17 +++++++++--------
>> >>  1 file changed, 9 insertions(+), 8 deletions(-)
>> >>
>> >> diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c
>> >> index 22e77a7..3aa0345 100644
>> >> --- a/net/bluetooth/hci_core.c
>> >> +++ b/net/bluetooth/hci_core.c
>> >> @@ -1618,26 +1618,27 @@ static int hci_do_le_scan(struct hci_dev *hdev, u8 type, u16 interval,
>> >>       if (err < 0)
>> >>               return err;
>> >>
>> >> -     queue_delayed_work(hdev->workqueue, &hdev->le_scan_disable,
>> >> -                        msecs_to_jiffies(timeout));
>> >> +     if (timeout > 0)
>> >> +             queue_delayed_work(hdev->workqueue, &hdev->le_scan_disable,
>> >> +                                msecs_to_jiffies(timeout));
>> >>
>> >>       return 0;
>> >>  }
>> >
>> > I really do not like this magic handling of scan disable. Maybe you
>> > better remove the timeout handling completely and put it into the
>> > discovery functionality.
>> >
>> > Doing it like this seems pretty much hacked together. It no longer looks
>> > like the right place to do handle it.
>>
>> The le_scan_disable work should be scheduled only if LE scanning was
>> started successfully.
>>
>> So hci_do_le_scan seems to be a better place than discovery
>> functionality for the timeout handling. Besides, these LE scan helpers
>> were originally designed to provide a self-contained framework to
>> start and stop LE scanning.
>>
>> The framework lacks support for starting LE scanning with no timeout.
>> This patch aims to address this issue.
>>
>> Anyway, if you still think it is a good idea to remove this timeout
>> handling, I'll remove it in the next series.
>
> look into what Johan is working on with the transaction support. I am
> getting the feeling that moving everything over to proper transaction
> and not just trying it hack stuff in seems to be the right approach.
>
> For example the actual discovery handling needs to be able to report
> errors anyway. So that can be handled there.

Good, so I'll rebase on top of the latest hci transaction support and use it.

Regards,

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