|
@@ -620,7 +620,8 @@ static void l2cap_conn_start(struct l2cap_conn *conn)
|
|
struct sock *parent = bt_sk(sk)->parent;
|
|
struct sock *parent = bt_sk(sk)->parent;
|
|
rsp.result = cpu_to_le16(L2CAP_CR_PEND);
|
|
rsp.result = cpu_to_le16(L2CAP_CR_PEND);
|
|
rsp.status = cpu_to_le16(L2CAP_CS_AUTHOR_PEND);
|
|
rsp.status = cpu_to_le16(L2CAP_CS_AUTHOR_PEND);
|
|
- parent->sk_data_ready(parent, 0);
|
|
|
|
|
|
+ if (parent)
|
|
|
|
+ parent->sk_data_ready(parent, 0);
|
|
|
|
|
|
} else {
|
|
} else {
|
|
sk->sk_state = BT_CONFIG;
|
|
sk->sk_state = BT_CONFIG;
|
|
@@ -4009,7 +4010,8 @@ static int l2cap_security_cfm(struct hci_conn *hcon, u8 status, u8 encrypt)
|
|
struct sock *parent = bt_sk(sk)->parent;
|
|
struct sock *parent = bt_sk(sk)->parent;
|
|
res = L2CAP_CR_PEND;
|
|
res = L2CAP_CR_PEND;
|
|
stat = L2CAP_CS_AUTHOR_PEND;
|
|
stat = L2CAP_CS_AUTHOR_PEND;
|
|
- parent->sk_data_ready(parent, 0);
|
|
|
|
|
|
+ if (parent)
|
|
|
|
+ parent->sk_data_ready(parent, 0);
|
|
} else {
|
|
} else {
|
|
sk->sk_state = BT_CONFIG;
|
|
sk->sk_state = BT_CONFIG;
|
|
res = L2CAP_CR_SUCCESS;
|
|
res = L2CAP_CR_SUCCESS;
|