• Johan Hedberg's avatar
    Bluetooth: Fix reason code used for rejecting SCO connections · d41c15cf
    Johan Hedberg authored
    The core specification defines valid values for the
    HCI_Reject_Synchronous_Connection_Request command to be 0x0D-0x0F. So
    far the code has been using HCI_ERROR_REMOTE_USER_TERM (0x13) which is
    not a valid value and is therefore being rejected by some controllers:
    
     > HCI Event: Connect Request (0x04) plen 10
    	bdaddr 40:6F:2A:6A:E5:E0 class 0x000000 type eSCO
     < HCI Command: Reject Synchronous Connection (0x01|0x002a) plen 7
    	bdaddr 40:6F:2A:6A:E5:E0 reason 0x13
    	Reason: Remote User Terminated Connection
     > HCI Event: Command Status (0x0f) plen 4
    	Reject Synchronous Connection (0x01|0x002a) status 0x12 ncmd 1
    	Error: Invalid HCI Command Parameters
    
    This patch introduces a new define for a value from the valid range
    (0x0d == Connection Rejected Due To Limited Resources) and uses it
    instead for rejecting incoming connections.
    Signed-off-by: default avatarJohan Hedberg <johan.hedberg@intel.com>
    Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
    d41c15cf
hci.h 41.4 KB