Bluetooth: Initialize the transmit queue for L2CAP streaming mode
authorMat Martineau <mathewm@codeaurora.org>
Mon, 14 May 2012 21:49:27 +0000 (14:49 -0700)
committerGustavo Padovan <gustavo@padovan.org>
Tue, 15 May 2012 23:28:16 +0000 (20:28 -0300)
Commit 105bdf9ec19e729bacdb33861c74fcf3eb39eb37 introduced a
regression in L2CAP streaming mode due to rearranged initialization
code that is shared between ERTM and streaming mode.  This change
makes sure the transmit queue is initialized in both modes.

Signed-off-by: Mat Martineau <mathewm@codeaurora.org>
Acked-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Signed-off-by: Gustavo Padovan <gustavo@padovan.org>
net/bluetooth/l2cap_core.c

index 869beb3..7adfcec 100644 (file)
@@ -2349,6 +2349,8 @@ static inline int l2cap_ertm_init(struct l2cap_chan *chan)
        chan->sdu_last_frag = NULL;
        chan->sdu_len = 0;
 
+       skb_queue_head_init(&chan->tx_q);
+
        if (chan->mode != L2CAP_MODE_ERTM)
                return 0;
 
@@ -2360,7 +2362,6 @@ static inline int l2cap_ertm_init(struct l2cap_chan *chan)
        INIT_DELAYED_WORK(&chan->ack_timer, l2cap_ack_timeout);
 
        skb_queue_head_init(&chan->srej_q);
-       skb_queue_head_init(&chan->tx_q);
 
        INIT_LIST_HEAD(&chan->srej_l);
        err = l2cap_seq_list_init(&chan->srej_list, chan->tx_win);