• Alain Michaud's avatar
    Bluetooth: use the proper scan params when conn is pending · 9a9373ff
    Alain Michaud authored
    When an LE connection is requested and an RPA update is needed via
    hci_connect_le_scan, the default scanning parameters are used rather
    than the connect parameters.  This leads to significant delays in the
    connection establishment process when using lower duty cycle scanning
    parameters.
    
    The patch simply looks at the pended connection list when trying to
    determine which scanning parameters should be used.
    
    Before:
    < HCI Command: LE Set Extended Scan Parameters (0x08|0x0041) plen 8
                                #378 [hci0] 1659.247156
            Own address type: Public (0x00)
            Filter policy: Ignore not in white list (0x01)
            PHYs: 0x01
            Entry 0: LE 1M
              Type: Passive (0x00)
              Interval: 367.500 msec (0x024c)
              Window: 37.500 msec (0x003c)
    
    After:
    < HCI Command: LE Set Extended Scan Parameters (0x08|0x0041) plen 8
                                   #39 [hci0] 7.422109
            Own address type: Public (0x00)
            Filter policy: Ignore not in white list (0x01)
            PHYs: 0x01
            Entry 0: LE 1M
              Type: Passive (0x00)
              Interval: 60.000 msec (0x0060)
              Window: 60.000 msec (0x0060)
    Signed-off-by: default avatarAlain Michaud <alainm@chromium.org>
    Reviewed-by: default avatarAbhishek Pandit-Subedi <abhishekpandit@chromium.org>
    Reviewed-by: default avatarYu Liu <yudiliu@google.com>
    Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
    9a9373ff
hci_request.c 83.1 KB