Bluetooth: Fix reason code used for rejecting SCO connections
authorFrédéric Dalleau <frederic.dalleau@collabora.co.uk>
Thu, 8 Sep 2016 10:00:11 +0000 (12:00 +0200)
committerMarcel Holtmann <marcel@holtmann.org>
Mon, 19 Sep 2016 18:19:34 +0000 (20:19 +0200)
A comment in the code states that SCO connection should be rejected
with the proper error value between 0xd-0xf. The code uses
HCI_ERROR_REMOTE_LOW_RESOURCES which is 0x14.

This led to following error:
< HCI Command: Reject Synchronous Co.. (0x01|0x002a) plen 7
        Address: 34:51:C9:EF:02:CA (Apple, Inc.)
        Reason: Remote Device Terminated due to Low Resources (0x14)
> HCI Event: Command Status (0x0f) plen 4
      Reject Synchronous Connection Request (0x01|0x002a) ncmd 1
        Status: Invalid HCI Command Parameters (0x12)

Instead make use of HCI_ERROR_REJ_LIMITED_RESOURCES which is 0xd.

Signed-off-by: Frédéric Dalleau <frederic.dalleau@collabora.co.uk>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
net/bluetooth/hci_request.c

index 9968b1c..9566ff8 100644 (file)
@@ -1717,7 +1717,7 @@ void __hci_abort_conn(struct hci_request *req, struct hci_conn *conn,
                         * function. To be safe hard-code one of the
                         * values that's suitable for SCO.
                         */
-                       rej.reason = HCI_ERROR_REMOTE_LOW_RESOURCES;
+                       rej.reason = HCI_ERROR_REJ_LIMITED_RESOURCES;
 
                        hci_req_add(req, HCI_OP_REJECT_SYNC_CONN_REQ,
                                    sizeof(rej), &rej);