RE: [PATCH] Bluetooth: Support SCO over HCI for Atheros AR300x Bluetooth device

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

 



Hi Gustavo,
________________________________________
From: Gustavo F. Padovan [pao@xxxxxxxxxxxxxx] on behalf of Gustavo F. Padovan [padovan@xxxxxxxxxxxxxx]
Sent: Tuesday, May 31, 2011 12:32 AM
To: Sumangala, Suraj
Cc: linux-bluetooth@xxxxxxxxxxxxxxx; Somi Ramasamy Mothilal, JothiKumar
Subject: Re: [PATCH] Bluetooth: Support SCO over HCI for Atheros AR300x Bluetooth device

Hi Suraj,

* Suraj Sumangala <suraj@xxxxxxxxxxx> [2011-05-20 13:36:11 +0530]:

> This patch adds SCO over HCI support to Atheros AR300x HCI transport
> driver.
>
> Signed-off-by: Suraj Sumangala <suraj@xxxxxxxxxxx>
> ---
>  drivers/bluetooth/hci_ath.c |   14 +++++++-------
>  1 files changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/bluetooth/hci_ath.c b/drivers/bluetooth/hci_ath.c
> index 4093935..8e15c31 100644
> --- a/drivers/bluetooth/hci_ath.c
> +++ b/drivers/bluetooth/hci_ath.c
> @@ -162,11 +162,6 @@ static int ath_enqueue(struct hci_uart *hu, struct sk_buff *skb)
>  {
>       struct ath_struct *ath = hu->priv;
>
> -     if (bt_cb(skb)->pkt_type == HCI_SCODATA_PKT) {
> -             kfree_skb(skb);
> -             return 0;
> -     }
> -
>       /*
>        * Update power management enable flag with parameters of
>        * HCI sleep enable vendor specific HCI command.
> @@ -184,9 +179,14 @@ static int ath_enqueue(struct hci_uart *hu, struct sk_buff *skb)
>       memcpy(skb_push(skb, 1), &bt_cb(skb)->pkt_type, 1);
>
>       skb_queue_tail(&ath->txq, skb);
> -     set_bit(HCI_UART_SENDING, &hu->tx_state);
>
> -     schedule_work(&ath->ctxtsw);
> +     if (bt_cb(skb)->pkt_type == HCI_SCODATA_PKT) {
> +             clear_bit(HCI_UART_SENDING, &hu->tx_state);
> +             hci_uart_tx_wakeup(hu);

We can't do that, prioritize SCO over HCI Events. This can lead to weird sync
problems, so please remove this and send me a new patch.

The reason why I went with this approach was
1. In the schedule_work path, we were doing some power management logic which was relevent only for ACL packets.
2. Without this somehow the SCO audio quality was bad and the controller team mention that they were not getting SCO packets in this rate.

Any suggestions from you?

Regards
Suraj--
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