• Andre Guedes's avatar
    Bluetooth: Add hci_le_scan() · 28b75a89
    Andre Guedes authored
    We are not supposed to block in start_discovery() because
    start_discovery code is running in write() syscall context
    and this would block the write operation on the mgmt socket.
    This way, we cannot directly call hci_do_le_scan() to scan
    LE devices in start_discovery(). To overcome this issue a
    derefered work (hdev->le_scan) was created so we can properly
    call hci_do_le_scan().
    
    The helper function hci_le_scan() simply set LE scan parameters
    and queue hdev->le_scan work. The work is queued on system_long_wq
    since it can sleep for a few seconds in the worst case (timeout).
    Signed-off-by: default avatarAndre Guedes <andre.guedes@openbossa.org>
    Acked-by: default avatarMarcel Holtmann <marcel@holtmann.org>
    Signed-off-by: default avatarJohan Hedberg <johan.hedberg@intel.com>
    28b75a89
hci_core.h 26.8 KB