• Kuba Pawlak's avatar
    Bluetooth: Fix SCO link type handling on connection complete · 618353b1
    Kuba Pawlak authored
    Synchronous connections are initially created with type eSCO.
    Link manager may reject proposed link parameters, which triggers
    connection setup retry with a different set. Link type embedded
    in responses should be disregarded until Synchronous Connect Complete
    returns Success (0x00). Current code updates link type every time
    which creates an issue when link type changes to SCO and back to eSCO
    on further attepts.
    
    Issue happens with BlackBerry 9100 and 9700 with Intel WilkinsPeak
    on third connection setup attept
    
    2015-05-18 01:27:57.332242 < HCI Command: Setup Synchronous Connection (0x01|0x0028) plen 17
        handle 256 voice setting 0x0060 ptype 0x0380
    2015-05-18 01:27:57.333604 > HCI Event: Command Status (0x0f) plen 4
        Setup Synchronous Connection (0x01|0x0028) status 0x00 ncmd 1
    2015-05-18 01:27:57.334614 > HCI Event: Synchronous Connect Complete (0x2c) plen 17
        status 0x1a handle 0 bdaddr 30:7C:30:B3:A8:86 type SCO
        Error: Unsupported Remote Feature / Unsupported LMP Feature
    2015-05-18 01:27:57.334895 < HCI Command: Setup Synchronous Connection (0x01|0x0028) plen 17
        handle 256 voice setting 0x0060 ptype 0x0380
    2015-05-18 01:27:57.335601 > HCI Event: Command Status (0x0f) plen 4
        Setup Synchronous Connection (0x01|0x0028) status 0x00 ncmd 1
    2015-05-18 01:27:57.336610 > HCI Event: Synchronous Connect Complete (0x2c) plen 17
        status 0x1a handle 0 bdaddr 30:7C:30:B3:A8:86 type SCO
        Error: Unsupported Remote Feature / Unsupported LMP Feature
    2015-05-18 01:27:57.336685 < HCI Command: Setup Synchronous Connection (0x01|0x0028) plen 17
        handle 256 voice setting 0x0060 ptype 0x03c8
    2015-05-18 01:27:57.337603 > HCI Event: Command Status (0x0f) plen 4
        Setup Synchronous Connection (0x01|0x0028) status 0x00 ncmd 1
    2015-05-18 01:27:57.342608 > HCI Event: Max Slots Change (0x1b) plen 3
        handle 256 slots 1
    2015-05-18 01:27:57.377631 > HCI Event: Synchronous Connect Complete (0x2c) plen 17
        status 0x00 handle 257 bdaddr 30:7C:30:B3:A8:86 type eSCO
        Air mode: CVSD
    Signed-off-by: default avatarKuba Pawlak <kubax.t.pawlak@intel.com>
    Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
    618353b1
hci_event.c 128 KB