[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <2A7EF87C-1340-45D7-B457-F81799674B1E@holtmann.org>
Date: Wed, 27 Feb 2008 10:57:23 +0100
From: Marcel Holtmann <marcel@...tmann.org>
To: Louis JANG <louis@...i.com>
Cc: Dave Young <hidave.darkstar@...il.com>,
linux-bluetooth@...r.kernel.org,
Linux Kernel <linux-kernel@...r.kernel.org>,
bmidgley@...il.com, David Miller <davem@...emloft.net>,
Netdev <netdev@...r.kernel.org>
Subject: Re: [Bluez-devel] forcing SCO connection patch
Hi Louis,
>>>>> --- linux-2.6.23/net/bluetooth/hci_event.c.orig 2008-02-25
>>>>> 17:17:11.000000000 +0900
>>>>> +++ linux-2.6.23/net/bluetooth/hci_event.c 2008-02-25
>>>>> 17:30:23.000000000 +0900
>>>>> @@ -1313,8 +1313,17 @@
>>>>> hci_dev_lock(hdev);
>>>>>
>>>>> conn = hci_conn_hash_lookup_ba(hdev, ev->link_type, &ev->bdaddr);
>>>>> - if (!conn)
>>>>> - goto unlock;
>>>>> + if (!conn) {
>>>>> + if (ev->link_type != ACL_LINK) {
>>>>> + __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)
>>>>> + conn->type = ev->link_type;
>>>>> + }
>>>>> + if (!conn)
>>>>> + goto unlock;
>>>>> + }
>>>>
>>>> NAK. There is no need to check for ACL_LINK. The sync_complete will
>>>> only be called for SCO or eSCO connections.
>>> I see. I removed this check line in the patch.
>>>
>>> Thanks.
>>> Louis JANG
>>> Signed-off-by: Louis JANG <louis@...i.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-26
>>> 12:47:23.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)
>>> + conn->type = ev->link_type;
>>> + else
>>> + goto unlock;
>>> + }
>>>
>>> if (!ev->status) {
>>> conn->handle = __le16_to_cpu(ev->handle);
>>
>> do something like this:
>>
>> if (!conn) {
>> ....
>>
>> conn = ....
>> if (!conn)
>> goto unlock;
>>
>> conn->type = ev->link_type;
>> }
>>
>> And include a description when submitting a patch.
>>
>> Regards
>>
>> Marcel
> I changed code with this style and included patch description.
> Thanks
>
> Louis JANG
> This patch is to handle different type of synchronous link is
> estabilished with its request.
>
> Signed-off-by: Louis JANG <louis@...i.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);
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.
Regards
Marcel
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists