Skip to content
  • Edward Vear's avatar
    Bluetooth: Fix attempting to set RPA timeout when unsupported · a31489d2
    Edward Vear authored
    
    
    During controller initialization, an LE Set RPA Timeout command is sent
    to the controller if supported. However, the value checked to determine
    if the command is supported is incorrect. Page 1921 of the Bluetooth
    Core Spec v5.2 shows that bit 2 of octet 35 of the Supported_Commands
    field corresponds to the LE Set RPA Timeout command, but currently
    bit 6 of octet 35 is checked. This patch checks the correct value
    instead.
    
    This issue led to the error seen in the following btmon output during
    initialization of an adapter (rtl8761b) and prevented initialization
    from completing.
    
    < HCI Command: LE Set Resolvable Private Address Timeout (0x08|0x002e) plen 2
            Timeout: 900 seconds
    > HCI Event: Command Complete (0x0e) plen 4
          LE Set Resolvable Private Address Timeout (0x08|0x002e) ncmd 2
            Status: Unsupported Remote Feature / Unsupported LMP Feature (0x1a)
    = Close Index: 00:E0:4C:6B:E5:03
    
    The error did not appear when running with this patch.
    
    Signed-off-by: default avatarEdward Vear <edwardvear@gmail.com>
    Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
    Signed-off-by: default avatarJohan Hedberg <johan.hedberg@intel.com>
    a31489d2