Re: [PATCH] HT820, capture and eSCO
Guillaume Bedot <[email protected]>
| Newsgroups | gmane.linux.bluez.devel |
|---|---|
| Message-ID | <1201541178.7254.22.camel@localhost> |
Re, I'm really sorry, I forgot a part of the patch.... Here is a full version. Regards, Guillaume B. ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Bluez-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/bluez-devel
kernel-2.6.24-check-both-ends-for-esco-feature-v3.patch
(text/x-patch, 1.5 KB)
--- net/bluetooth/hci_conn.c.orig 2008-01-28 09:15:50.000000000 +0100
+++ net/bluetooth/hci_conn.c 2008-01-28 18:21:45.000000000 +0100
@@ -332,6 +332,8 @@
if (type == ACL_LINK)
return acl;
+ if (lmp_esco_capable(hdev) && lmp_esco_capable(acl))
+ type=ESCO_LINK;
if (!(sco = hci_conn_hash_lookup_ba(hdev, type, dst))) {
if (!(sco = hci_conn_add(hdev, type, dst))) {
hci_conn_put(acl);
@@ -346,7 +349,7 @@
if (acl->state == BT_CONNECTED &&
(sco->state == BT_OPEN || sco->state == BT_CLOSED)) {
- if (lmp_esco_capable(hdev))
+ if (type==ESCO_LINK)
hci_setup_sync(sco, acl->handle);
else
hci_add_sco(sco, acl->handle);
--- net/bluetooth/sco.c.orig 2008-01-28 09:15:14.000000000 +0100
+++ net/bluetooth/sco.c 2008-01-28 09:21:00.000000000 +0100
@@ -189,7 +189,7 @@
struct sco_conn *conn;
struct hci_conn *hcon;
struct hci_dev *hdev;
- int err, type;
+ int err;
BT_DBG("%s -> %s", batostr(src), batostr(dst));
@@ -200,9 +200,7 @@
err = -ENOMEM;
- type = lmp_esco_capable(hdev) ? ESCO_LINK : SCO_LINK;
-
- hcon = hci_connect(hdev, type, dst);
+ hcon = hci_connect(hdev, SCO_LINK, dst);
if (!hcon)
goto done;
--- net/bluetooth/hci_event.c.orig 2008-01-28 09:15:31.000000000 +0100
+++ net/bluetooth/hci_event.c 2008-01-28 18:17:16.000000000 +0100
@@ -720,7 +720,7 @@
struct hci_conn *sco = conn->link;
if (sco) {
if (!ev->status) {
- if (lmp_esco_capable(hdev))
+ if (lmp_esco_capable(hdev) && lmp_esco_capable(conn))
hci_setup_sync(sco, conn->handle);
else
hci_add_sco(sco, conn->handle);