Re: [PATCH 2/2] Bluetooth: Add ability to force local busy condition on L2CAP ERTM

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Hi everyone -

On Fri, 4 Nov 2011, Marcel Holtmann wrote:

Hi Gustavo,

This is required to pass PTS TP/ERM/BV-07-C (Send S-Frame [RNR]).

Signed-off-by: Szymon Janc <szymon.janc@xxxxxxxxx>
---
 net/bluetooth/l2cap_core.c |   43 ++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 42 insertions(+), 1 deletions(-)

diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c
index 9dcbf3d..6202009 100644
--- a/net/bluetooth/l2cap_core.c
+++ b/net/bluetooth/l2cap_core.c
@@ -59,6 +59,8 @@
 int disable_ertm;
 int enable_hs;

+static int force_local_busy;
+
 static u32 l2cap_feat_mask = L2CAP_FEAT_FIXED_CHAN;
 static u8 l2cap_fixed_chan[8] = { 0x02, };

@@ -3522,7 +3524,7 @@ void l2cap_chan_busy(struct l2cap_chan *chan, int busy)
 	if (chan->mode == L2CAP_MODE_ERTM) {
 		if (busy)
 			l2cap_ertm_enter_local_busy(chan);
-		else
+		else if (!force_local_busy)
 			l2cap_ertm_exit_local_busy(chan);

NACK on this. I don't wanna move code with the specific purpose of pass a PTS
test into the tree. This kinda of thing can survive outside of the tree.

actually it can not life outside the tree. We need to be able to pass
the PTS test cases with an upstream source.

However instead of hacking this in, what is the actual test case details
here that we need to have support for?

ERTM will send an RNR when the socket receive buffer fills up. For this test case, it works to just set the SO_RCVBUF sockopt to a small enough value that the recv buffer fills before the transmit window does - no kernel changes required.

--
Mat Martineau
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux