--- ../../../kernel-2.6-bluez-patch-2.6.23-mh1/net/bluetooth/hci_event.c 2007-11-21 14:15:41.000000000 +0900 +++ hci_event.c 2007-12-05 14:39:52.000000000 +0900 @@ -1316,8 +1316,16 @@ 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) { + int t = (ev->link_type == ESCO_LINK) ? SCO_LINK : ESCO_LINK; + conn = hci_conn_hash_lookup_ba(hdev, t, &ev->bdaddr); + if (conn) + conn->type = ev->link_type; + } + if (!conn) + goto unlock; + } if (!ev->status) { conn->handle = __le16_to_cpu(ev->handle);