|
@@ -1120,11 +1120,9 @@ static void l2cap_conn_start(struct l2cap_conn *conn)
|
|
|
lock_sock(sk);
|
|
|
if (test_bit(BT_SK_DEFER_SETUP,
|
|
|
&bt_sk(sk)->flags)) {
|
|
|
- struct sock *parent = bt_sk(sk)->parent;
|
|
|
rsp.result = __constant_cpu_to_le16(L2CAP_CR_PEND);
|
|
|
rsp.status = __constant_cpu_to_le16(L2CAP_CS_AUTHOR_PEND);
|
|
|
- if (parent)
|
|
|
- parent->sk_data_ready(parent, 0);
|
|
|
+ chan->ops->defer(chan);
|
|
|
|
|
|
} else {
|
|
|
__l2cap_state_change(chan, BT_CONFIG);
|
|
@@ -3460,7 +3458,7 @@ static void __l2cap_connect(struct l2cap_conn *conn, struct l2cap_cmd_hdr *cmd,
|
|
|
__l2cap_state_change(chan, BT_CONNECT2);
|
|
|
result = L2CAP_CR_PEND;
|
|
|
status = L2CAP_CS_AUTHOR_PEND;
|
|
|
- parent->sk_data_ready(parent, 0);
|
|
|
+ chan->ops->defer(chan);
|
|
|
} else {
|
|
|
__l2cap_state_change(chan, BT_CONFIG);
|
|
|
result = L2CAP_CR_SUCCESS;
|
|
@@ -5523,11 +5521,9 @@ int l2cap_security_cfm(struct hci_conn *hcon, u8 status, u8 encrypt)
|
|
|
if (!status) {
|
|
|
if (test_bit(BT_SK_DEFER_SETUP,
|
|
|
&bt_sk(sk)->flags)) {
|
|
|
- struct sock *parent = bt_sk(sk)->parent;
|
|
|
res = L2CAP_CR_PEND;
|
|
|
stat = L2CAP_CS_AUTHOR_PEND;
|
|
|
- if (parent)
|
|
|
- parent->sk_data_ready(parent, 0);
|
|
|
+ chan->ops->defer(chan);
|
|
|
} else {
|
|
|
__l2cap_state_change(chan, BT_CONFIG);
|
|
|
res = L2CAP_CR_SUCCESS;
|