Bluetooth: Fix SCO state handling for incoming connections
When the remote device supports only SCO connections, on receipt of the HCI_EV_CONN_COMPLETE event packet, the connect state is changed to BT_CONNECTED, but the socket state is not updated. Hence, the connect() call times out even though the SCO connection has been successfully established. Based on a report by Jaikumar Ganesh <jaikumar@google.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
@@ -914,7 +914,8 @@ static inline void hci_conn_complete_evt(struct hci_dev *hdev, struct sk_buff *s
|
|||||||
if (ev->status) {
|
if (ev->status) {
|
||||||
hci_proto_connect_cfm(conn, ev->status);
|
hci_proto_connect_cfm(conn, ev->status);
|
||||||
hci_conn_del(conn);
|
hci_conn_del(conn);
|
||||||
}
|
} else if (ev->link_type != ACL_LINK)
|
||||||
|
hci_proto_connect_cfm(conn, ev->status);
|
||||||
|
|
||||||
unlock:
|
unlock:
|
||||||
hci_dev_unlock(hdev);
|
hci_dev_unlock(hdev);
|
||||||
|
Reference in New Issue
Block a user