Bluetooth: Additional debugging for queued rx frames.

These messages are helpful when tracking frames that are received
but not yet reassembled.  They are turned off by default.

Change-Id: Idfd9bbd808762c91e59af758aac50e8501895d48
Signed-off-by: Mat Martineau <mathewm@codeaurora.org>
This commit is contained in:
Mat Martineau
2011-03-10 15:26:40 -08:00
committed by Stephen Boyd
parent e610a258ef
commit 87df1fe5ea

View File

@@ -2001,6 +2001,7 @@ static void l2cap_ertm_srej_list_clear(struct sock *sk)
if (skb) {
skb_unlink(skb, SREJ_QUEUE(sk));
kfree_skb(skb);
BT_DBG("Removed %d from srej list", seq);
}
}
}
@@ -5538,14 +5539,16 @@ static int l2cap_ertm_rx_queued_iframes(struct sock *sk)
return 0;
while (l2cap_rmem_available(sk)) {
BT_DBG("Searching for skb with txseq %d (queue len %d)",
(int) pi->buffer_seq_srej,
skb_queue_len(SREJ_QUEUE(sk)));
skb = l2cap_ertm_seq_in_queue(SREJ_QUEUE(sk),
pi->buffer_seq_srej);
if (!skb)
break;
BT_DBG("Found skb with txseq %d", (int) pi->buffer_seq_srej);
skb_unlink(skb, SREJ_QUEUE(sk));
pi->buffer_seq_srej = __next_seq(pi->buffer_seq_srej, pi);
err = l2cap_ertm_rx_expected_iframe(sk,
@@ -5783,8 +5786,9 @@ static int l2cap_ertm_rx_state_recv(struct sock *sk,
/* The frame can't be reassembled now,
* so queue it for reassembly later.
*/
BT_DBG("Queuing %p", skb);
skb_queue_tail(SREJ_QUEUE(sk), skb);
BT_DBG("Queued %p (queue len %d)", skb,
skb_queue_len(SREJ_QUEUE(sk)));
} else {
BT_DBG("buffer_seq %d->%d", pi->buffer_seq,
__next_seq(pi->buffer_seq, pi));
@@ -5826,6 +5830,8 @@ static int l2cap_ertm_rx_state_recv(struct sock *sk,
*/
skb_queue_tail(SREJ_QUEUE(sk), skb);
skb_in_use = 1;
BT_DBG("Queued %p (queue len %d)", skb,
skb_queue_len(SREJ_QUEUE(sk)));
pi->conn_state &= ~L2CAP_CONN_SREJ_ACT;
l2cap_seq_list_clear(&pi->srej_list);
@@ -5917,6 +5923,8 @@ static int l2cap_ertm_rx_state_srej_sent(struct sock *sk,
l2cap_ertm_pass_to_tx(sk, control);
skb_queue_tail(SREJ_QUEUE(sk), skb);
skb_in_use = 1;
BT_DBG("Queued %p (queue len %d)", skb,
skb_queue_len(SREJ_QUEUE(sk)));
pi->expected_tx_seq = __next_seq(txseq, pi);
break;
@@ -5926,6 +5934,8 @@ static int l2cap_ertm_rx_state_srej_sent(struct sock *sk,
l2cap_ertm_pass_to_tx(sk, control);
skb_queue_tail(SREJ_QUEUE(sk), skb);
skb_in_use = 1;
BT_DBG("Queued %p (queue len %d)", skb,
skb_queue_len(SREJ_QUEUE(sk)));
err = l2cap_ertm_rx_queued_iframes(sk);
if (err)
@@ -5943,6 +5953,9 @@ static int l2cap_ertm_rx_state_srej_sent(struct sock *sk,
*/
skb_queue_tail(SREJ_QUEUE(sk), skb);
skb_in_use = 1;
BT_DBG("Queued %p (queue len %d)", skb,
skb_queue_len(SREJ_QUEUE(sk)));
l2cap_ertm_pass_to_tx(sk, control);
l2cap_ertm_send_srej(sk, control->txseq);
break;
@@ -5954,6 +5967,9 @@ static int l2cap_ertm_rx_state_srej_sent(struct sock *sk,
*/
skb_queue_tail(SREJ_QUEUE(sk), skb);
skb_in_use = 1;
BT_DBG("Queued %p (queue len %d)", skb,
skb_queue_len(SREJ_QUEUE(sk)));
l2cap_ertm_pass_to_tx(sk, control);
l2cap_ertm_send_srej_list(sk, control->txseq);
break;