summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Pelly <npelly@google.com>2009-03-23 18:17:16 -0700
committerArve Hjønnevåg <arve@android.com>2009-04-07 16:42:46 -0700
commit8bdede57903f53677095e2062363c08d8b2a386a (patch)
tree3cbb7fac953b2a937a48d5e949c9815e02e2b2bd
parent0c61b75f9da1a0889959a0f9bd0b8b63f936ddf3 (diff)
Bluetooth: Fallback from eSCO to SCO on error code 0x1f (unspecified error).
Kyocera ED-8800 headset returns this error code when eSCO is attempted. Signed-off-by: Nick Pelly <npelly@google.com>
-rw-r--r--net/bluetooth/hci_event.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c
index 55534244c3a0..42cb717446e7 100644
--- a/net/bluetooth/hci_event.c
+++ b/net/bluetooth/hci_event.c
@@ -1646,7 +1646,8 @@ static inline void hci_sync_conn_complete_evt(struct hci_dev *hdev, struct sk_bu
conn->type = SCO_LINK;
}
- if (conn->out && ev->status == 0x1c && conn->attempt < 2) {
+ if (conn->out && (ev->status == 0x1c || ev->status == 0x1f) &&
+ conn->attempt < 2) {
conn->pkt_type = (hdev->esco_type & SCO_ESCO_MASK) |
(hdev->esco_type & EDR_ESCO_MASK);
hci_setup_sync(conn, conn->link->handle);