Re: [PATCH] Bluetooth: Fallback from eSCO to SCO on error code 0x1f (unspecified error).

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Here is the hcidump that prompted this patch:

009-03-23 17:43:50.727376 < HCI Command: Setup Synchronous Connection
(0x01|0x0028) plen 17
  handle 1 voice setting 0x0060
2009-03-23 17:43:50.746969 > HCI Event: Command Status (0x0f) plen 4
  Setup Synchronous Connection (0x01|0x0028) status 0x00 ncmd 1
2009-03-23 17:43:50.909963 > HCI Event: Synchronous Connect Complete
(0x2c) plen 17
  status 0x1f handle 257 bdaddr 00:14:0A:01:E1:67 type eSCO
  Error: Unspecified Error

I have confirmed that with this patch we successfully fall back to SCO
with the Kyocera ED-8800


On Tue, Mar 24, 2009 at 9:20 AM, Nick Pelly <npelly@xxxxxxxxxx> wrote:
> Kyocera ED-8800 headset returns this error code when eSCO is attempted.
>
> Signed-off-by: Nick Pelly <npelly@xxxxxxxxxx>
> ---
>  net/bluetooth/hci_event.c |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c
> index 5553424..42cb717 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);
> --
> 1.5.5
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux