mirror of https://gitee.com/openkylin/linux.git
Bluetooth: Do not purge queue in Basic Mode
chan->tx_q is only initialized if we use ERTM or Streaming mode. Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
parent
d1de6d46dc
commit
ee556f662c
|
@ -549,9 +549,11 @@ static void l2cap_chan_del(struct l2cap_chan *chan, int err)
|
|||
if (test_bit(CONF_NOT_COMPLETE, &chan->conf_state))
|
||||
return;
|
||||
|
||||
skb_queue_purge(&chan->tx_q);
|
||||
switch(chan->mode) {
|
||||
case L2CAP_MODE_BASIC:
|
||||
break;
|
||||
|
||||
if (chan->mode == L2CAP_MODE_ERTM) {
|
||||
case L2CAP_MODE_ERTM:
|
||||
__clear_retrans_timer(chan);
|
||||
__clear_monitor_timer(chan);
|
||||
__clear_ack_timer(chan);
|
||||
|
@ -560,7 +562,15 @@ static void l2cap_chan_del(struct l2cap_chan *chan, int err)
|
|||
|
||||
l2cap_seq_list_free(&chan->srej_list);
|
||||
l2cap_seq_list_free(&chan->retrans_list);
|
||||
|
||||
/* fall through */
|
||||
|
||||
case L2CAP_MODE_STREAMING:
|
||||
skb_queue_purge(&chan->tx_q);
|
||||
break;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
static void l2cap_chan_cleanup_listen(struct sock *parent)
|
||||
|
|
Loading…
Reference in New Issue