linux-bluetooth.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCHv4 0/3] EFS: last chunks
@ 2011-10-17 11:35 Emeltchenko Andrei
  2011-10-17 11:35 ` [PATCHv4 1/3] Bluetooth: EFS: parse L2CAP config request Emeltchenko Andrei
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Emeltchenko Andrei @ 2011-10-17 11:35 UTC (permalink / raw)
  To: linux-bluetooth

From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>

Implementation of EFS based upon series of patches sent upstream in Aug 2010
by Haijun Liu.

http://marc.info/?a=128277503500005&r=1&w=2

Changes:
	* RFC: initial release
	* RFCv2: rebase & take care about comments:
		- use flag in l2cap_chan instead of variable
		- move channel init out from parse_conf_req
		- other style fixes
	* PATCHv1: support only Best Effort channels for now.
	* PATCHv2: disable_flowspec -> enable_hs, style fixes
	* PATCHv3: rebase, split functionality to appropriate
		patches, taking comments from ML.
	* PATCHv4: simplify logic in parse_conf_req function
		following Gustavo comments.

Andrei Emeltchenko (3):
  Bluetooth: EFS: parse L2CAP config request
  Bluetooth: EFS: parse L2CAP config response
  Bluetooth: EFS: implement L2CAP config pending state

 include/net/bluetooth/l2cap.h |    3 +
 net/bluetooth/l2cap_core.c    |  115 ++++++++++++++++++++++++++++++++++++++++-
 2 files changed, 116 insertions(+), 2 deletions(-)

-- 
1.7.4.1


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCHv4 1/3] Bluetooth: EFS: parse L2CAP config request
  2011-10-17 11:35 [PATCHv4 0/3] EFS: last chunks Emeltchenko Andrei
@ 2011-10-17 11:35 ` Emeltchenko Andrei
  2011-10-17 20:09   ` Gustavo Padovan
  2011-10-17 11:35 ` [PATCHv4 2/3] Bluetooth: EFS: parse L2CAP config response Emeltchenko Andrei
  2011-10-17 11:35 ` [PATCHv4 3/3] Bluetooth: EFS: implement L2CAP config pending state Emeltchenko Andrei
  2 siblings, 1 reply; 10+ messages in thread
From: Emeltchenko Andrei @ 2011-10-17 11:35 UTC (permalink / raw)
  To: linux-bluetooth

From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>

Add parsing Extended Flow Specification option in L2CAP Config Request
Based upon haijun.liu <haijun.liu@atheros.com> series of patches
(sent Sun, 22 Aug 2010)

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
---
 net/bluetooth/l2cap_core.c |   44 +++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 43 insertions(+), 1 deletions(-)

diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c
index 5f4a264..e79039d 100644
--- a/net/bluetooth/l2cap_core.c
+++ b/net/bluetooth/l2cap_core.c
@@ -2115,6 +2115,8 @@ static int l2cap_parse_conf_req(struct l2cap_chan *chan, void *data)
 	int type, hint, olen;
 	unsigned long val;
 	struct l2cap_conf_rfc rfc = { .mode = L2CAP_MODE_BASIC };
+	struct l2cap_conf_efs efs;
+	u8 remote_efs = 0;
 	u16 mtu = L2CAP_DEFAULT_MTU;
 	u16 result = L2CAP_CONF_SUCCESS;
 	u16 size;
@@ -2147,7 +2149,12 @@ static int l2cap_parse_conf_req(struct l2cap_chan *chan, void *data)
 		case L2CAP_CONF_FCS:
 			if (val == L2CAP_FCS_NONE)
 				set_bit(CONF_NO_FCS_RECV, &chan->conf_state);
+			break;
 
+		case L2CAP_CONF_EFS:
+			remote_efs = 1;
+			if (olen == sizeof(efs))
+				memcpy(&efs, (void *) val, olen);
 			break;
 
 		case L2CAP_CONF_EWS:
@@ -2182,6 +2189,13 @@ static int l2cap_parse_conf_req(struct l2cap_chan *chan, void *data)
 			break;
 		}
 
+		if (remote_efs) {
+			if (__l2cap_efs_supported(chan))
+				set_bit(FLAG_EFS_ENABLE, &chan->flags);
+			else
+				return -ECONNREFUSED;
+		}
+
 		if (chan->mode != rfc.mode)
 			return -ECONNREFUSED;
 
@@ -2200,7 +2214,6 @@ done:
 					sizeof(rfc), (unsigned long) &rfc);
 	}
 
-
 	if (result == L2CAP_CONF_SUCCESS) {
 		/* Configure output options and let the other side know
 		 * which ones we don't like. */
@@ -2213,6 +2226,22 @@ done:
 		}
 		l2cap_add_conf_opt(&ptr, L2CAP_CONF_MTU, 2, chan->omtu);
 
+		if (remote_efs) {
+			if (chan->local_stype != L2CAP_SERV_NOTRAFIC &&
+					efs.stype != L2CAP_SERV_NOTRAFIC &&
+					efs.stype != chan->local_stype) {
+
+				result = L2CAP_CONF_UNACCEPT;
+
+				if (chan->num_conf_req >= 1)
+					return -ECONNREFUSED;
+
+				l2cap_add_conf_opt(&ptr, L2CAP_CONF_EFS,
+								sizeof(efs),
+							(unsigned long) &efs);
+			}
+		}
+
 		switch (rfc.mode) {
 		case L2CAP_MODE_BASIC:
 			chan->fcs = L2CAP_FCS_NONE;
@@ -2245,6 +2274,19 @@ done:
 			l2cap_add_conf_opt(&ptr, L2CAP_CONF_RFC,
 					sizeof(rfc), (unsigned long) &rfc);
 
+			if (test_bit(FLAG_EFS_ENABLE, &chan->flags)) {
+				chan->remote_id = efs.id;
+				chan->remote_stype = efs.stype;
+				chan->remote_msdu = le16_to_cpu(efs.msdu);
+				chan->remote_flush_to =
+						le32_to_cpu(efs.flush_to);
+				chan->remote_acc_lat =
+						le32_to_cpu(efs.acc_lat);
+				chan->remote_sdu_itime =
+					le32_to_cpu(efs.sdu_itime);
+				l2cap_add_conf_opt(&ptr, L2CAP_CONF_EFS,
+					sizeof(efs), (unsigned long) &efs);
+			}
 			break;
 
 		case L2CAP_MODE_STREAMING:
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCHv4 2/3] Bluetooth: EFS: parse L2CAP config response
  2011-10-17 11:35 [PATCHv4 0/3] EFS: last chunks Emeltchenko Andrei
  2011-10-17 11:35 ` [PATCHv4 1/3] Bluetooth: EFS: parse L2CAP config request Emeltchenko Andrei
@ 2011-10-17 11:35 ` Emeltchenko Andrei
  2011-10-17 20:10   ` Gustavo Padovan
  2011-10-17 11:35 ` [PATCHv4 3/3] Bluetooth: EFS: implement L2CAP config pending state Emeltchenko Andrei
  2 siblings, 1 reply; 10+ messages in thread
From: Emeltchenko Andrei @ 2011-10-17 11:35 UTC (permalink / raw)
  To: linux-bluetooth

From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>

Add parsing Extended Flow Specification in L2CAP Config Response.
Based upon haijun.liu <haijun.liu@atheros.com> series of patches
(sent Sun, 22 Aug 2010)

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
---
 net/bluetooth/l2cap_core.c |   24 ++++++++++++++++++++++++
 1 files changed, 24 insertions(+), 0 deletions(-)

diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c
index e79039d..9bc34e4 100644
--- a/net/bluetooth/l2cap_core.c
+++ b/net/bluetooth/l2cap_core.c
@@ -2329,6 +2329,7 @@ static int l2cap_parse_conf_rsp(struct l2cap_chan *chan, void *rsp, int len, voi
 	int type, olen;
 	unsigned long val;
 	struct l2cap_conf_rfc rfc;
+	struct l2cap_conf_efs efs;
 
 	BT_DBG("chan %p, rsp %p, len %d, req %p", chan, rsp, len, data);
 
@@ -2371,6 +2372,19 @@ static int l2cap_parse_conf_rsp(struct l2cap_chan *chan, void *rsp, int len, voi
 			l2cap_add_conf_opt(&ptr, L2CAP_CONF_EWS,
 							2, chan->tx_win);
 			break;
+
+		case L2CAP_CONF_EFS:
+			if (olen == sizeof(efs))
+				memcpy(&efs, (void *)val, olen);
+
+			if (chan->local_stype != L2CAP_SERV_NOTRAFIC &&
+					efs.stype != L2CAP_SERV_NOTRAFIC &&
+					efs.stype != chan->local_stype)
+				return -ECONNREFUSED;
+
+			l2cap_add_conf_opt(&ptr, L2CAP_CONF_EFS,
+					sizeof(efs), (unsigned long) &efs);
+			break;
 		}
 	}
 
@@ -2385,7 +2399,17 @@ static int l2cap_parse_conf_rsp(struct l2cap_chan *chan, void *rsp, int len, voi
 			chan->retrans_timeout = le16_to_cpu(rfc.retrans_timeout);
 			chan->monitor_timeout = le16_to_cpu(rfc.monitor_timeout);
 			chan->mps    = le16_to_cpu(rfc.max_pdu_size);
+
+			if (test_bit(FLAG_EFS_ENABLE, &chan->flags)) {
+				chan->local_msdu = le16_to_cpu(efs.msdu);
+				chan->local_sdu_itime =
+						le32_to_cpu(efs.sdu_itime);
+				chan->local_acc_lat = le32_to_cpu(efs.acc_lat);
+				chan->local_flush_to =
+						le32_to_cpu(efs.flush_to);
+			}
 			break;
+
 		case L2CAP_MODE_STREAMING:
 			chan->mps    = le16_to_cpu(rfc.max_pdu_size);
 		}
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCHv4 3/3] Bluetooth: EFS: implement L2CAP config pending state
  2011-10-17 11:35 [PATCHv4 0/3] EFS: last chunks Emeltchenko Andrei
  2011-10-17 11:35 ` [PATCHv4 1/3] Bluetooth: EFS: parse L2CAP config request Emeltchenko Andrei
  2011-10-17 11:35 ` [PATCHv4 2/3] Bluetooth: EFS: parse L2CAP config response Emeltchenko Andrei
@ 2011-10-17 11:35 ` Emeltchenko Andrei
  2011-11-01 16:07   ` Gustavo Padovan
  2 siblings, 1 reply; 10+ messages in thread
From: Emeltchenko Andrei @ 2011-10-17 11:35 UTC (permalink / raw)
  To: linux-bluetooth

From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>

Add L2CAP Config Pending state for EFS. Currently after receiving
Config Response Pending respond with Config Response Success.

...
> ACL data: handle 1 flags 0x02 dlen 16
    L2CAP(s): Connect rsp: dcid 0x0040 scid 0x0040 result 0 status 0
      Connection successful
> ACL data: handle 1 flags 0x02 dlen 45
    L2CAP(s): Config req: dcid 0x0040 flags 0x00 clen 33
      RFC 0x03 (Enhanced Retransmission, TxWin 63, MaxTx 3, RTo 0, MTo 0, MPS 1009)
      EFS (Id 0x01, SerType Best Effort, MaxSDU 0xffff, SDUitime 0xffffffff,
          AccLat 0xffffffff, FlushTO 0x0000ffff)
< ACL data: handle 1 flags 0x00 dlen 45
    L2CAP(s): Config req: dcid 0x0040 flags 0x00 clen 33
      RFC 0x03 (Enhanced Retransmission, TxWin 63, MaxTx 3, RTo 0, MTo 0, MPS 498)
      EFS (Id 0x01, SerType Best Effort, MaxSDU 0xffff, SDUitime 0xffffffff,
          AccLat 0xffffffff, FlushTO 0x0000ffff)
< ACL data: handle 1 flags 0x00 dlen 47
    L2CAP(s): Config rsp: scid 0x0040 flags 0x00 result 4 clen 33
      Pending
      MTU 672
      RFC 0x03 (Enhanced Retransmission, TxWin 63, MaxTx 3, RTo 2000, MTo 12000, MPS 498)
      EFS (Id 0x01, SerType Best Effort, MaxSDU 0xffff, SDUitime 0xffffffff,
          AccLat 0xffffffff, FlushTO 0x0000ffff)
> ACL data: handle 1 flags 0x02 dlen 47
    L2CAP(s): Config rsp: scid 0x0040 flags 0x00 result 4 clen 33
      Pending
      MTU 672
      RFC 0x03 (Enhanced Retransmission, TxWin 63, MaxTx 3, RTo 2000, MTo 12000, MPS 498)
      EFS (Id 0x01, SerType Best Effort, MaxSDU 0xffff, SDUitime 0xffffffff,
          AccLat 0xffffffff, FlushTO 0x0000ffff)
> ACL data: handle 1 flags 0x02 dlen 14
    L2CAP(s): Config rsp: scid 0x0040 flags 0x00 result 0 clen 0
      Success
< ACL data: handle 1 flags 0x00 dlen 14
    L2CAP(s): Config rsp: scid 0x0040 flags 0x00 result 0 clen 0
      Success
< ACL data: handle 1 flags 0x00 dlen 510
    L2CAP(d): cid 0x0040 len 506 ext_ctrl 0x00010000 fcs 0xebe0 [psm 4113]
      I-frame: Start (len 672) TxSeq 0 ReqSeq 0
...

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
---
 include/net/bluetooth/l2cap.h |    3 ++
 net/bluetooth/l2cap_core.c    |   47 ++++++++++++++++++++++++++++++++++++++++-
 2 files changed, 49 insertions(+), 1 deletions(-)

diff --git a/include/net/bluetooth/l2cap.h b/include/net/bluetooth/l2cap.h
index 5a0fdc1..f478301 100644
--- a/include/net/bluetooth/l2cap.h
+++ b/include/net/bluetooth/l2cap.h
@@ -253,6 +253,7 @@ struct l2cap_conf_rsp {
 #define L2CAP_CONF_UNACCEPT	0x0001
 #define L2CAP_CONF_REJECT	0x0002
 #define L2CAP_CONF_UNKNOWN	0x0003
+#define L2CAP_CONF_PENDING	0x0004
 #define L2CAP_CONF_EFS_REJECT	0x0005
 
 struct l2cap_conf_opt {
@@ -528,6 +529,8 @@ enum {
 	CONF_NO_FCS_RECV,
 	CONF_STATE2_DEVICE,
 	CONF_EWS_RECV,
+	CONF_LOC_CONF_PEND,
+	CONF_REM_CONF_PEND,
 };
 
 #define L2CAP_CONF_MAX_CONF_REQ 2
diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c
index 9bc34e4..81f6e81 100644
--- a/net/bluetooth/l2cap_core.c
+++ b/net/bluetooth/l2cap_core.c
@@ -2239,6 +2239,11 @@ done:
 				l2cap_add_conf_opt(&ptr, L2CAP_CONF_EFS,
 								sizeof(efs),
 							(unsigned long) &efs);
+			} else {
+				/* Send PENDING Conf Rsp and mark state
+				   local PENDING */
+				result = L2CAP_CONF_PENDING;
+				set_bit(CONF_LOC_CONF_PEND, &chan->conf_state);
 			}
 		}
 
@@ -2393,7 +2398,7 @@ static int l2cap_parse_conf_rsp(struct l2cap_chan *chan, void *rsp, int len, voi
 
 	chan->mode = rfc.mode;
 
-	if (*result == L2CAP_CONF_SUCCESS) {
+	if (*result == L2CAP_CONF_SUCCESS || *result == L2CAP_CONF_PENDING) {
 		switch (rfc.mode) {
 		case L2CAP_MODE_ERTM:
 			chan->retrans_timeout = le16_to_cpu(rfc.retrans_timeout);
@@ -2819,6 +2824,21 @@ static inline int l2cap_config_req(struct l2cap_conn *conn, struct l2cap_cmd_hdr
 		chan->num_conf_req++;
 	}
 
+	/* Got Conf Rsp PENDING from remote side and asume we sent
+	   Conf Rsp PENDING in the code above */
+	if (test_bit(CONF_REM_CONF_PEND, &chan->conf_state) &&
+			test_bit(CONF_LOC_CONF_PEND, &chan->conf_state)) {
+
+		/* check compatibility */
+
+		clear_bit(CONF_LOC_CONF_PEND, &chan->conf_state);
+		set_bit(CONF_OUTPUT_DONE, &chan->conf_state);
+
+		l2cap_send_cmd(conn, cmd->ident, L2CAP_CONF_RSP,
+				l2cap_build_conf_rsp(chan, rsp,
+					L2CAP_CONF_SUCCESS, 0x0000), rsp);
+	}
+
 unlock:
 	bh_unlock_sock(sk);
 	return 0;
@@ -2848,8 +2868,33 @@ static inline int l2cap_config_rsp(struct l2cap_conn *conn, struct l2cap_cmd_hdr
 	switch (result) {
 	case L2CAP_CONF_SUCCESS:
 		l2cap_conf_rfc_get(chan, rsp->data, len);
+		clear_bit(CONF_REM_CONF_PEND, &chan->conf_state);
 		break;
 
+	case L2CAP_CONF_PENDING:
+		set_bit(CONF_REM_CONF_PEND, &chan->conf_state);
+
+		if (test_bit(CONF_LOC_CONF_PEND, &chan->conf_state)) {
+			char buf[64];
+
+			len = l2cap_parse_conf_rsp(chan, rsp->data, len,
+								buf, &result);
+			if (len < 0) {
+				l2cap_send_disconn_req(conn, chan, ECONNRESET);
+				goto done;
+			}
+
+			/* check compatibility */
+
+			clear_bit(CONF_LOC_CONF_PEND, &chan->conf_state);
+			set_bit(CONF_OUTPUT_DONE, &chan->conf_state);
+
+			l2cap_send_cmd(conn, cmd->ident, L2CAP_CONF_RSP,
+					l2cap_build_conf_rsp(chan, buf,
+						L2CAP_CONF_SUCCESS, 0x0000), buf);
+		}
+		goto done;
+
 	case L2CAP_CONF_UNACCEPT:
 		if (chan->num_conf_rsp <= L2CAP_CONF_MAX_CONF_RSP) {
 			char req[64];
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCHv4 1/3] Bluetooth: EFS: parse L2CAP config request
  2011-10-17 11:35 ` [PATCHv4 1/3] Bluetooth: EFS: parse L2CAP config request Emeltchenko Andrei
@ 2011-10-17 20:09   ` Gustavo Padovan
  0 siblings, 0 replies; 10+ messages in thread
From: Gustavo Padovan @ 2011-10-17 20:09 UTC (permalink / raw)
  To: Emeltchenko Andrei; +Cc: linux-bluetooth

Hi Andrei,

* Emeltchenko Andrei <Andrei.Emeltchenko.news@gmail.com> [2011-10-17 14:35:30 +0300]:

> From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
> 
> Add parsing Extended Flow Specification option in L2CAP Config Request
> Based upon haijun.liu <haijun.liu@atheros.com> series of patches
> (sent Sun, 22 Aug 2010)
> 
> Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
> ---
>  net/bluetooth/l2cap_core.c |   44 +++++++++++++++++++++++++++++++++++++++++++-
>  1 files changed, 43 insertions(+), 1 deletions(-)

Applied, thanks.

	Gustavo

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCHv4 2/3] Bluetooth: EFS: parse L2CAP config response
  2011-10-17 11:35 ` [PATCHv4 2/3] Bluetooth: EFS: parse L2CAP config response Emeltchenko Andrei
@ 2011-10-17 20:10   ` Gustavo Padovan
  2011-11-02  7:51     ` Emeltchenko Andrei
  0 siblings, 1 reply; 10+ messages in thread
From: Gustavo Padovan @ 2011-10-17 20:10 UTC (permalink / raw)
  To: Emeltchenko Andrei; +Cc: linux-bluetooth

Hi Andrei,

* Emeltchenko Andrei <Andrei.Emeltchenko.news@gmail.com> [2011-10-17 14:35:31 +0300]:

> From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
> 
> Add parsing Extended Flow Specification in L2CAP Config Response.
> Based upon haijun.liu <haijun.liu@atheros.com> series of patches
> (sent Sun, 22 Aug 2010)
> 
> Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
> ---
>  net/bluetooth/l2cap_core.c |   24 ++++++++++++++++++++++++
>  1 files changed, 24 insertions(+), 0 deletions(-)

Applied, thanks.

	Gustavo

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCHv4 3/3] Bluetooth: EFS: implement L2CAP config pending state
  2011-10-17 11:35 ` [PATCHv4 3/3] Bluetooth: EFS: implement L2CAP config pending state Emeltchenko Andrei
@ 2011-11-01 16:07   ` Gustavo Padovan
  0 siblings, 0 replies; 10+ messages in thread
From: Gustavo Padovan @ 2011-11-01 16:07 UTC (permalink / raw)
  To: Emeltchenko Andrei; +Cc: linux-bluetooth

Hi Andrei,

* Emeltchenko Andrei <Andrei.Emeltchenko.news@gmail.com> [2011-10-17 14:35:32 +0300]:

> From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
> 
> Add L2CAP Config Pending state for EFS. Currently after receiving
> Config Response Pending respond with Config Response Success.
> 
> ...
> > ACL data: handle 1 flags 0x02 dlen 16
>     L2CAP(s): Connect rsp: dcid 0x0040 scid 0x0040 result 0 status 0
>       Connection successful
> > ACL data: handle 1 flags 0x02 dlen 45
>     L2CAP(s): Config req: dcid 0x0040 flags 0x00 clen 33
>       RFC 0x03 (Enhanced Retransmission, TxWin 63, MaxTx 3, RTo 0, MTo 0, MPS 1009)
>       EFS (Id 0x01, SerType Best Effort, MaxSDU 0xffff, SDUitime 0xffffffff,
>           AccLat 0xffffffff, FlushTO 0x0000ffff)
> < ACL data: handle 1 flags 0x00 dlen 45
>     L2CAP(s): Config req: dcid 0x0040 flags 0x00 clen 33
>       RFC 0x03 (Enhanced Retransmission, TxWin 63, MaxTx 3, RTo 0, MTo 0, MPS 498)
>       EFS (Id 0x01, SerType Best Effort, MaxSDU 0xffff, SDUitime 0xffffffff,
>           AccLat 0xffffffff, FlushTO 0x0000ffff)
> < ACL data: handle 1 flags 0x00 dlen 47
>     L2CAP(s): Config rsp: scid 0x0040 flags 0x00 result 4 clen 33
>       Pending
>       MTU 672
>       RFC 0x03 (Enhanced Retransmission, TxWin 63, MaxTx 3, RTo 2000, MTo 12000, MPS 498)
>       EFS (Id 0x01, SerType Best Effort, MaxSDU 0xffff, SDUitime 0xffffffff,
>           AccLat 0xffffffff, FlushTO 0x0000ffff)
> > ACL data: handle 1 flags 0x02 dlen 47
>     L2CAP(s): Config rsp: scid 0x0040 flags 0x00 result 4 clen 33
>       Pending
>       MTU 672
>       RFC 0x03 (Enhanced Retransmission, TxWin 63, MaxTx 3, RTo 2000, MTo 12000, MPS 498)
>       EFS (Id 0x01, SerType Best Effort, MaxSDU 0xffff, SDUitime 0xffffffff,
>           AccLat 0xffffffff, FlushTO 0x0000ffff)
> > ACL data: handle 1 flags 0x02 dlen 14
>     L2CAP(s): Config rsp: scid 0x0040 flags 0x00 result 0 clen 0
>       Success
> < ACL data: handle 1 flags 0x00 dlen 14
>     L2CAP(s): Config rsp: scid 0x0040 flags 0x00 result 0 clen 0
>       Success
> < ACL data: handle 1 flags 0x00 dlen 510
>     L2CAP(d): cid 0x0040 len 506 ext_ctrl 0x00010000 fcs 0xebe0 [psm 4113]
>       I-frame: Start (len 672) TxSeq 0 ReqSeq 0
> ...
> 
> Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
> ---
>  include/net/bluetooth/l2cap.h |    3 ++
>  net/bluetooth/l2cap_core.c    |   47 ++++++++++++++++++++++++++++++++++++++++-
>  2 files changed, 49 insertions(+), 1 deletions(-)

Applied, thanks.

	Gustavo

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCHv4 2/3] Bluetooth: EFS: parse L2CAP config response
  2011-10-17 20:10   ` Gustavo Padovan
@ 2011-11-02  7:51     ` Emeltchenko Andrei
  2011-11-03 14:10       ` Gustavo Padovan
  0 siblings, 1 reply; 10+ messages in thread
From: Emeltchenko Andrei @ 2011-11-02  7:51 UTC (permalink / raw)
  To: linux-bluetooth

Hi Gustavo,

On Mon, Oct 17, 2011 at 06:10:08PM -0200, Gustavo Padovan wrote:
> Hi Andrei,
> 
> * Emeltchenko Andrei <Andrei.Emeltchenko.news@gmail.com> [2011-10-17 14:35:31 +0300]:
> 
> > From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
> > 
> > Add parsing Extended Flow Specification in L2CAP Config Response.
> > Based upon haijun.liu <haijun.liu@atheros.com> series of patches
> > (sent Sun, 22 Aug 2010)
> > 
> > Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
> > ---
> >  net/bluetooth/l2cap_core.c |   24 ++++++++++++++++++++++++
> >  1 files changed, 24 insertions(+), 0 deletions(-)
> 
> Applied, thanks.

Was this patch actually applied?

Best regards 
Andrei Emeltchenko 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCHv4 2/3] Bluetooth: EFS: parse L2CAP config response
  2011-11-02  7:51     ` Emeltchenko Andrei
@ 2011-11-03 14:10       ` Gustavo Padovan
  2011-11-07 12:23         ` Emeltchenko Andrei
  0 siblings, 1 reply; 10+ messages in thread
From: Gustavo Padovan @ 2011-11-03 14:10 UTC (permalink / raw)
  To: Emeltchenko Andrei, linux-bluetooth

* Emeltchenko Andrei <Andrei.Emeltchenko.news@gmail.com> [2011-11-02 09:51:28 +0200]:

> Hi Gustavo,
> 
> On Mon, Oct 17, 2011 at 06:10:08PM -0200, Gustavo Padovan wrote:
> > Hi Andrei,
> > 
> > * Emeltchenko Andrei <Andrei.Emeltchenko.news@gmail.com> [2011-10-17 14:35:31 +0300]:
> > 
> > > From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
> > > 
> > > Add parsing Extended Flow Specification in L2CAP Config Response.
> > > Based upon haijun.liu <haijun.liu@atheros.com> series of patches
> > > (sent Sun, 22 Aug 2010)
> > > 
> > > Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
> > > ---
> > >  net/bluetooth/l2cap_core.c |   24 ++++++++++++++++++++++++
> > >  1 files changed, 24 insertions(+), 0 deletions(-)
> > 
> > Applied, thanks.
> 
> Was this patch actually applied?

Actually not, I did something wrong. I tried now and it doesn't apply anymore,
could you please rebase? Thanks.

	Gustavo

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCHv4 2/3] Bluetooth: EFS: parse L2CAP config response
  2011-11-03 14:10       ` Gustavo Padovan
@ 2011-11-07 12:23         ` Emeltchenko Andrei
  0 siblings, 0 replies; 10+ messages in thread
From: Emeltchenko Andrei @ 2011-11-07 12:23 UTC (permalink / raw)
  To: linux-bluetooth

Hi Gustavo,

On Thu, Nov 03, 2011 at 12:10:31PM -0200, Gustavo Padovan wrote:
> * Emeltchenko Andrei <Andrei.Emeltchenko.news@gmail.com> [2011-11-02 09:51:28 +0200]:
> 
> > Hi Gustavo,
> > 
> > On Mon, Oct 17, 2011 at 06:10:08PM -0200, Gustavo Padovan wrote:
> > > Hi Andrei,
> > > 
> > > * Emeltchenko Andrei <Andrei.Emeltchenko.news@gmail.com> [2011-10-17 14:35:31 +0300]:
> > > 
> > > > From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
> > > > 
> > > > Add parsing Extended Flow Specification in L2CAP Config Response.
> > > > Based upon haijun.liu <haijun.liu@atheros.com> series of patches
> > > > (sent Sun, 22 Aug 2010)
> > > > 
> > > > Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
> > > > ---
> > > >  net/bluetooth/l2cap_core.c |   24 ++++++++++++++++++++++++
> > > >  1 files changed, 24 insertions(+), 0 deletions(-)
> > > 
> > > Applied, thanks.
> > 
> > Was this patch actually applied?
> 
> Actually not, I did something wrong. I tried now and it doesn't apply anymore,
> could you please rebase? Thanks.

Sent. BTW: old patch has applied cleanly to bluetooth-next (with
cherry-pick).

Best regards 
Andrei Emeltchenko 

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2011-11-07 12:23 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-10-17 11:35 [PATCHv4 0/3] EFS: last chunks Emeltchenko Andrei
2011-10-17 11:35 ` [PATCHv4 1/3] Bluetooth: EFS: parse L2CAP config request Emeltchenko Andrei
2011-10-17 20:09   ` Gustavo Padovan
2011-10-17 11:35 ` [PATCHv4 2/3] Bluetooth: EFS: parse L2CAP config response Emeltchenko Andrei
2011-10-17 20:10   ` Gustavo Padovan
2011-11-02  7:51     ` Emeltchenko Andrei
2011-11-03 14:10       ` Gustavo Padovan
2011-11-07 12:23         ` Emeltchenko Andrei
2011-10-17 11:35 ` [PATCHv4 3/3] Bluetooth: EFS: implement L2CAP config pending state Emeltchenko Andrei
2011-11-01 16:07   ` Gustavo Padovan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).