From: Johan Hedberg Date: Mon, 7 Oct 2013 12:44:48 +0000 (+0200) Subject: Bluetooth: Fix suspending the L2CAP socket if we start with 0 credits X-Git-Tag: v3.14-rc1~94^2~3^2^2~67^2~42 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=029727a39a4316c081347749d5c25f76d5eb891c;p=profile%2Fivi%2Fkernel-x86-ivi.git Bluetooth: Fix suspending the L2CAP socket if we start with 0 credits If the peer gives us zero credits in its connection request or response we must call the suspend channel callback so the BT_SK_SUSPEND flag gets set and user space is blocked from sending data to the socket. Signed-off-by: Johan Hedberg Signed-off-by: Marcel Holtmann --- diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c index 407e9d6..82aa6f3 100644 --- a/net/bluetooth/l2cap_core.c +++ b/net/bluetooth/l2cap_core.c @@ -1202,6 +1202,9 @@ static void l2cap_le_flowctl_start(struct l2cap_chan *chan) chan->sdu_len = 0; skb_queue_head_init(&chan->tx_q); + + if (!chan->tx_credits) + chan->ops->suspend(chan); } static void l2cap_chan_ready(struct l2cap_chan *chan)