Bluetooth: Fallback from eSCO to SCO on unspecified error
authorMarcel Holtmann <marcel@holtmann.org>
Sun, 19 Apr 2009 17:14:14 +0000 (19:14 +0200)
committerMarcel Holtmann <marcel@holtmann.org>
Sun, 19 Apr 2009 17:14:14 +0000 (19:14 +0200)
commit732547f96ea2442965a24e0ed529d285321a0fff
tree315350b2dfafd90f06d28163e8f3cf4807e4a6a3
parente2139b32726e5dd184974c785ea3f62026590801
Bluetooth: Fallback from eSCO to SCO on unspecified error

Some Bluetooth chips (like the ones from Texas Instruments) don't do
proper eSCO negotiations inside the Link Manager. They just return an
error code and in case of the Kyocera ED-8800 headset it is just a
random error.

  < HCI Command: Setup Synchronous Connection 0x01|0x0028) plen 17
    handle 1 voice setting 0x0060
  > HCI Event: Command Status (0x0f) plen 4
    Setup Synchronous Connection (0x01|0x0028) status 0x00 ncmd 1
  > HCI Event: Synchronous Connect Complete (0x2c) plen 17
    status 0x1f handle 257 bdaddr 00:14:0A:xx:xx:xx type eSCO
    Error: Unspecified Error

In these cases it is up to the host stack to fallback to a SCO setup
and so retry with SCO parameters.

Based on a report by Nick Pelly <npelly@google.com>

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
net/bluetooth/hci_event.c