2012-04-04 05:38:29

by Hemant Gupta

[permalink] [raw]
Subject: [PATCH] Bluetooth: Fix packet type for ESCO Link

This patch uses the corect packet type for ESCO Link.
Without this patch esco packet types were anded with ~EDR_ESCO_MASK
resulting in setting bits that are not supported by controller
to 0 which means that corresponding EDR ESCO packet type is
supported(EDR Packet types are inverted as per BT Spec) which might
not be the case.

Signed-off-by: Hemant Gupta <[email protected]>
---
net/bluetooth/hci_conn.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/net/bluetooth/hci_conn.c b/net/bluetooth/hci_conn.c
index 947172b..1060fb6 100644
--- a/net/bluetooth/hci_conn.c
+++ b/net/bluetooth/hci_conn.c
@@ -396,7 +396,7 @@ struct hci_conn *hci_conn_add(struct hci_dev *hdev, int type, bdaddr_t *dst)
conn->pkt_type = hdev->pkt_type & SCO_PTYPE_MASK;
break;
case ESCO_LINK:
- conn->pkt_type = hdev->esco_type & ~EDR_ESCO_MASK;
+ conn->pkt_type = hdev->esco_type ^ EDR_ESCO_MASK;
break;
}

--
1.7.0.4



2012-04-03 12:51:06

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [PATCH] Bluetooth: Fix packet type for ESCO Link

Hi Hemant,

> This patch fixes the packet type for ESCO Link which was incorrectly
> set for EDR ESCO Packet Types.
>
> Signed-off-by: Hemant Gupta <[email protected]>
> ---
> net/bluetooth/hci_conn.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/net/bluetooth/hci_conn.c b/net/bluetooth/hci_conn.c
> index 947172b..bff6bc1 100644
> --- a/net/bluetooth/hci_conn.c
> +++ b/net/bluetooth/hci_conn.c
> @@ -396,7 +396,7 @@ struct hci_conn *hci_conn_add(struct hci_dev *hdev, int type, bdaddr_t *dst)
> conn->pkt_type = hdev->pkt_type & SCO_PTYPE_MASK;
> break;
> case ESCO_LINK:
> - conn->pkt_type = hdev->esco_type & ~EDR_ESCO_MASK;
> + conn->pkt_type = hdev->esco_type ^ ~EDR_ESCO_MASK;
> break;
> }
>

please have a commit messages that actually describes the problem. I
honestly don't see what is broken and what you are trying to fix here.

Regards

Marcel