From: Louis JANG <louis@mizi.com>
To: Marcel Holtmann <marcel@holtmann.org>
Cc: Dave Young <hidave.darkstar@gmail.com>,
linux-bluetooth@vger.kernel.org,
Linux Kernel <linux-kernel@vger.kernel.org>,
bmidgley@gmail.com, David Miller <davem@davemloft.net>,
Netdev <netdev@vger.kernel.org>
Subject: Re: [Bluez-devel] forcing SCO connection patch
Date: Wed, 27 Feb 2008 21:21:57 +0900 [thread overview]
Message-ID: <47C555E5.2000903@mizi.com> (raw)
In-Reply-To: <2A7EF87C-1340-45D7-B457-F81799674B1E@holtmann.org>
[-- Attachment #1: Type: text/plain, Size: 347 bytes --]
Marcel Holtmann 쓴 글:
>
> so the patch is fine, but the description of what this patch is doing,
> why it is doing it this way and what it fixes is fully missing. Please
> update it with a proper description.
I added more information. please check it, and please let me know if
there are any missings.
Thanks
Louis JANG
>
> Regards
>
> Marcel
[-- Attachment #2: patch_hci_event.c6 --]
[-- Type: text/plain, Size: 1449 bytes --]
When bluez tried to connect SCO channel with HCI_OP_SETUP_SYNC_CONN(ESCO_LINK),
a real connection may be connected with SCO_LINK instead of ESCO_LINK when
peer device doesn't support eSCO. however bluez try to find connection handle
by event's link type(SCO_LINK in above case) and the valid connection handle
for this event is waiting for ESCO_LINK. so bluez can't find connection handle
and discarded the event.
This patch is to handle different type of synchronous link is estabilished
with its request.
If bluez can't find connection handle, it try to find with different
link type again. (For the above case, if bluez can't find connection
handle with SCO_LINK, it try to find connection handle with ESCO_LINK again.)
and update link type of this connection handle with event's link type.
Signed-off-by: Louis JANG <louis@mizi.com>
--- linux-2.6.23/net/bluetooth/hci_event.c.orig 2008-02-26 12:46:36.000000000 +0900
+++ linux-2.6.23/net/bluetooth/hci_event.c 2008-02-27 10:48:29.000000000 +0900
@@ -1313,8 +1313,15 @@
hci_dev_lock(hdev);
conn = hci_conn_hash_lookup_ba(hdev, ev->link_type, &ev->bdaddr);
- if (!conn)
- goto unlock;
+ if (!conn) {
+ __u8 link_type = (ev->link_type == ESCO_LINK) ? SCO_LINK : ESCO_LINK;
+
+ conn = hci_conn_hash_lookup_ba(hdev, link_type, &ev->bdaddr);
+ if (!conn)
+ goto unlock;
+
+ conn->type = ev->link_type;
+ }
if (!ev->status) {
conn->handle = __le16_to_cpu(ev->handle);
next prev parent reply other threads:[~2008-02-27 12:22 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <47666E1F.2000902@mizi.com>
2008-02-25 7:30 ` [Bluez-devel] forcing SCO connection patch Dave Young
2008-02-25 7:34 ` Dave Young
2008-02-25 8:26 ` Dave Young
2008-02-25 9:28 ` Louis JANG
2008-02-25 9:55 ` Dave Young
2008-02-25 11:35 ` Louis JANG
2008-02-26 3:07 ` Marcel Holtmann
2008-02-26 3:53 ` Louis JANG
2008-02-26 19:43 ` Marcel Holtmann
2008-02-27 1:58 ` Louis JANG
2008-02-27 9:57 ` Marcel Holtmann
2008-02-27 12:21 ` Louis JANG [this message]
2008-02-27 15:21 ` Marcel Holtmann
2008-02-28 2:49 ` Louis JANG
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=47C555E5.2000903@mizi.com \
--to=louis@mizi.com \
--cc=bmidgley@gmail.com \
--cc=davem@davemloft.net \
--cc=hidave.darkstar@gmail.com \
--cc=linux-bluetooth@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=marcel@holtmann.org \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox