Bluetooth: Introduce L2CAP channel callback for suspending
[platform/adaptation/renesas_rcar/renesas_kernel.git] / net / bluetooth / l2cap_sock.c
index 01d65bc..a51844a 100644 (file)
@@ -1345,6 +1345,14 @@ static long l2cap_sock_get_sndtimeo_cb(struct l2cap_chan *chan)
        return sk->sk_sndtimeo;
 }
 
+static void l2cap_sock_suspend_cb(struct l2cap_chan *chan)
+{
+       struct sock *sk = chan->data;
+
+       set_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,
@@ -1355,6 +1363,7 @@ static struct l2cap_ops l2cap_chan_ops = {
        .ready          = l2cap_sock_ready_cb,
        .defer          = l2cap_sock_defer_cb,
        .resume         = l2cap_sock_resume_cb,
+       .suspend        = l2cap_sock_suspend_cb,
        .set_shutdown   = l2cap_sock_set_shutdown_cb,
        .get_sndtimeo   = l2cap_sock_get_sndtimeo_cb,
        .alloc_skb      = l2cap_sock_alloc_skb_cb,