|
@@ -1112,6 +1112,14 @@ static void l2cap_sock_defer_cb(struct l2cap_chan *chan)
|
|
|
parent->sk_data_ready(parent, 0);
|
|
|
}
|
|
|
|
|
|
+static void l2cap_sock_resume_cb(struct l2cap_chan *chan)
|
|
|
+{
|
|
|
+ struct sock *sk = chan->data;
|
|
|
+
|
|
|
+ clear_bit(BT_SK_SUSPEND, &bt_sk(sk)->flags);
|
|
|
+ sk->sk_state_change(sk);
|
|
|
+}
|
|
|
+
|
|
|
static struct l2cap_ops l2cap_chan_ops = {
|
|
|
.name = "L2CAP Socket Interface",
|
|
|
.new_connection = l2cap_sock_new_connection_cb,
|
|
@@ -1121,6 +1129,7 @@ static struct l2cap_ops l2cap_chan_ops = {
|
|
|
.state_change = l2cap_sock_state_change_cb,
|
|
|
.ready = l2cap_sock_ready_cb,
|
|
|
.defer = l2cap_sock_defer_cb,
|
|
|
+ .resume = l2cap_sock_resume_cb,
|
|
|
.alloc_skb = l2cap_sock_alloc_skb_cb,
|
|
|
};
|
|
|
|