All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCHv1 0/2] Adds support for block based flow ctrl
@ 2012-02-03 14:27 Emeltchenko Andrei
  2012-02-03 14:27 ` [PATCHv1 1/2] Bluetooth: Recalculate sched HCI blk/pkt " Emeltchenko Andrei
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Emeltchenko Andrei @ 2012-02-03 14:27 UTC (permalink / raw)
  To: linux-bluetooth

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

Split HCI scheduling for block and packet flow control.

Changes:
	No change from RFC I've sent some time ago since I've got
	no comments.

Andrei Emeltchenko (2):
  Bluetooth: Recalculate sched HCI blk/pkt flow ctrl
  Bluetooth: Helper removes duplicated code

 net/bluetooth/hci_core.c |   92 ++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 80 insertions(+), 12 deletions(-)

-- 
1.7.8.3


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

* [PATCHv1 1/2] Bluetooth: Recalculate sched HCI blk/pkt flow ctrl
  2012-02-03 14:27 [PATCHv1 0/2] Adds support for block based flow ctrl Emeltchenko Andrei
@ 2012-02-03 14:27 ` Emeltchenko Andrei
  2012-02-03 16:01   ` Marcel Holtmann
  2012-02-03 14:27 ` [PATCHv1 2/2] Bluetooth: Helper removes duplicated code Emeltchenko Andrei
  2012-02-03 18:52 ` [PATCHv1 0/2] Adds support for block based flow ctrl Johan Hedberg
  2 siblings, 1 reply; 9+ messages in thread
From: Emeltchenko Andrei @ 2012-02-03 14:27 UTC (permalink / raw)
  To: linux-bluetooth

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

Split HCI scheduling for block and packet flow control.

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

diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c
index 76dc153..9a56a40 100644
--- a/net/bluetooth/hci_core.c
+++ b/net/bluetooth/hci_core.c
@@ -2384,18 +2384,19 @@ static void hci_prio_recalculate(struct hci_dev *hdev, __u8 type)
 
 }
 
-static inline void hci_sched_acl(struct hci_dev *hdev)
+static inline int __get_blocks(struct hci_dev *hdev, struct sk_buff *skb)
+{
+	/* Calculate count of blocks used by this packet */
+	return DIV_ROUND_UP(skb->len - HCI_ACL_HDR_SIZE, hdev->block_len);
+}
+
+static inline void hci_sched_acl_pkt(struct hci_dev *hdev)
 {
 	struct hci_chan *chan;
 	struct sk_buff *skb;
 	int quote;
 	unsigned int cnt;
 
-	BT_DBG("%s", hdev->name);
-
-	if (!hci_conn_num(hdev, ACL_LINK))
-		return;
-
 	if (!test_bit(HCI_RAW, &hdev->flags)) {
 		/* ACL tx timeout must be longer than maximum
 		 * link supervision timeout (40.9 seconds) */
@@ -2435,6 +2436,78 @@ static inline void hci_sched_acl(struct hci_dev *hdev)
 		hci_prio_recalculate(hdev, ACL_LINK);
 }
 
+static inline void hci_sched_acl_blk(struct hci_dev *hdev)
+{
+	struct hci_chan *chan;
+	struct sk_buff *skb;
+	int quote;
+	unsigned int cnt;
+
+	if (!test_bit(HCI_RAW, &hdev->flags)) {
+		/* ACL tx timeout must be longer than maximum
+		 * link supervision timeout (40.9 seconds) */
+		if (!hdev->block_cnt && time_after(jiffies, hdev->acl_last_tx +
+					msecs_to_jiffies(HCI_ACL_TX_TIMEOUT)))
+			hci_link_tx_to(hdev, ACL_LINK);
+	}
+
+	cnt = hdev->block_cnt;
+
+	while (hdev->block_cnt > 0 &&
+			(chan = hci_chan_sent(hdev, ACL_LINK, &quote))) {
+		u32 priority = (skb_peek(&chan->data_q))->priority;
+		while (quote > 0 && (skb = skb_peek(&chan->data_q))) {
+			int blocks;
+
+			BT_DBG("chan %p skb %p len %d priority %u", chan, skb,
+						skb->len, skb->priority);
+
+			/* Stop if priority has changed */
+			if (skb->priority < priority)
+				break;
+
+			skb = skb_dequeue(&chan->data_q);
+
+			blocks = __get_blocks(hdev, skb);
+			if (blocks > hdev->block_cnt)
+				return;
+
+			hci_conn_enter_active_mode(chan->conn,
+						bt_cb(skb)->force_active);
+
+			hci_send_frame(skb);
+			hdev->acl_last_tx = jiffies;
+
+			hdev->block_cnt -= blocks;
+			quote -= blocks;
+
+			chan->sent += blocks;
+			chan->conn->sent += blocks;
+		}
+	}
+
+	if (cnt != hdev->block_cnt)
+		hci_prio_recalculate(hdev, ACL_LINK);
+}
+
+static inline void hci_sched_acl(struct hci_dev *hdev)
+{
+	BT_DBG("%s", hdev->name);
+
+	if (!hci_conn_num(hdev, ACL_LINK))
+		return;
+
+	switch (hdev->flow_ctl_mode) {
+	case HCI_FLOW_CTL_MODE_PACKET_BASED:
+		hci_sched_acl_pkt(hdev);
+		break;
+
+	case HCI_FLOW_CTL_MODE_BLOCK_BASED:
+		hci_sched_acl_blk(hdev);
+		break;
+	}
+}
+
 /* Schedule SCO */
 static inline void hci_sched_sco(struct hci_dev *hdev)
 {
-- 
1.7.8.3


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

* [PATCHv1 2/2] Bluetooth: Helper removes duplicated code
  2012-02-03 14:27 [PATCHv1 0/2] Adds support for block based flow ctrl Emeltchenko Andrei
  2012-02-03 14:27 ` [PATCHv1 1/2] Bluetooth: Recalculate sched HCI blk/pkt " Emeltchenko Andrei
@ 2012-02-03 14:27 ` Emeltchenko Andrei
  2012-02-03 16:03   ` Marcel Holtmann
                     ` (2 more replies)
  2012-02-03 18:52 ` [PATCHv1 0/2] Adds support for block based flow ctrl Johan Hedberg
  2 siblings, 3 replies; 9+ messages in thread
From: Emeltchenko Andrei @ 2012-02-03 14:27 UTC (permalink / raw)
  To: linux-bluetooth

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

Use __check_timout helper to remove duplicated code

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

diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c
index 9a56a40..95eeae5 100644
--- a/net/bluetooth/hci_core.c
+++ b/net/bluetooth/hci_core.c
@@ -2390,22 +2390,25 @@ static inline int __get_blocks(struct hci_dev *hdev, struct sk_buff *skb)
 	return DIV_ROUND_UP(skb->len - HCI_ACL_HDR_SIZE, hdev->block_len);
 }
 
-static inline void hci_sched_acl_pkt(struct hci_dev *hdev)
+static inline void __check_timeout(struct hci_dev *hdev, unsigned int cnt)
 {
-	struct hci_chan *chan;
-	struct sk_buff *skb;
-	int quote;
-	unsigned int cnt;
-
 	if (!test_bit(HCI_RAW, &hdev->flags)) {
 		/* ACL tx timeout must be longer than maximum
 		 * link supervision timeout (40.9 seconds) */
-		if (!hdev->acl_cnt && time_after(jiffies, hdev->acl_last_tx +
+		if (!cnt && time_after(jiffies, hdev->acl_last_tx +
 					msecs_to_jiffies(HCI_ACL_TX_TIMEOUT)))
 			hci_link_tx_to(hdev, ACL_LINK);
 	}
+}
 
-	cnt = hdev->acl_cnt;
+static inline void hci_sched_acl_pkt(struct hci_dev *hdev)
+{
+	unsigned int cnt = hdev->acl_cnt;
+	struct hci_chan *chan;
+	struct sk_buff *skb;
+	int quote;
+
+	__check_timeout(hdev, cnt);
 
 	while (hdev->acl_cnt &&
 			(chan = hci_chan_sent(hdev, ACL_LINK, &quote))) {
@@ -2438,20 +2441,12 @@ static inline void hci_sched_acl_pkt(struct hci_dev *hdev)
 
 static inline void hci_sched_acl_blk(struct hci_dev *hdev)
 {
+	unsigned int cnt = hdev->block_cnt;
 	struct hci_chan *chan;
 	struct sk_buff *skb;
 	int quote;
-	unsigned int cnt;
-
-	if (!test_bit(HCI_RAW, &hdev->flags)) {
-		/* ACL tx timeout must be longer than maximum
-		 * link supervision timeout (40.9 seconds) */
-		if (!hdev->block_cnt && time_after(jiffies, hdev->acl_last_tx +
-					msecs_to_jiffies(HCI_ACL_TX_TIMEOUT)))
-			hci_link_tx_to(hdev, ACL_LINK);
-	}
 
-	cnt = hdev->block_cnt;
+	__check_timeout(hdev, cnt);
 
 	while (hdev->block_cnt > 0 &&
 			(chan = hci_chan_sent(hdev, ACL_LINK, &quote))) {
-- 
1.7.8.3


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

* Re: [PATCHv1 1/2] Bluetooth: Recalculate sched HCI blk/pkt flow ctrl
  2012-02-03 14:27 ` [PATCHv1 1/2] Bluetooth: Recalculate sched HCI blk/pkt " Emeltchenko Andrei
@ 2012-02-03 16:01   ` Marcel Holtmann
  0 siblings, 0 replies; 9+ messages in thread
From: Marcel Holtmann @ 2012-02-03 16:01 UTC (permalink / raw)
  To: Emeltchenko Andrei; +Cc: linux-bluetooth

Hi Andrei,

> Split HCI scheduling for block and packet flow control.
> 
> Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
> ---
>  net/bluetooth/hci_core.c |   85 ++++++++++++++++++++++++++++++++++++++++++---
>  1 files changed, 79 insertions(+), 6 deletions(-)

Acked-by: Marcel Holtmann <marcel@holtmann.org>

Regards

Marcel



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

* Re: [PATCHv1 2/2] Bluetooth: Helper removes duplicated code
  2012-02-03 14:27 ` [PATCHv1 2/2] Bluetooth: Helper removes duplicated code Emeltchenko Andrei
@ 2012-02-03 16:03   ` Marcel Holtmann
  2012-02-03 17:00     ` Ulisses Furquim
  2012-02-03 16:52   ` Vinicius Costa Gomes
  2012-02-03 17:02   ` Marcel Holtmann
  2 siblings, 1 reply; 9+ messages in thread
From: Marcel Holtmann @ 2012-02-03 16:03 UTC (permalink / raw)
  To: Emeltchenko Andrei; +Cc: linux-bluetooth

Hi Andrei,

> Use __check_timout helper to remove duplicated code
> 
> Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
> ---
>  net/bluetooth/hci_core.c |   31 +++++++++++++------------------
>  1 files changed, 13 insertions(+), 18 deletions(-)
> 
> diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c
> index 9a56a40..95eeae5 100644
> --- a/net/bluetooth/hci_core.c
> +++ b/net/bluetooth/hci_core.c
> @@ -2390,22 +2390,25 @@ static inline int __get_blocks(struct hci_dev *hdev, struct sk_buff *skb)
>  	return DIV_ROUND_UP(skb->len - HCI_ACL_HDR_SIZE, hdev->block_len);
>  }
>  
> -static inline void hci_sched_acl_pkt(struct hci_dev *hdev)
> +static inline void __check_timeout(struct hci_dev *hdev, unsigned int cnt)
>  {
> -	struct hci_chan *chan;
> -	struct sk_buff *skb;
> -	int quote;
> -	unsigned int cnt;
> -
>  	if (!test_bit(HCI_RAW, &hdev->flags)) {
>  		/* ACL tx timeout must be longer than maximum
>  		 * link supervision timeout (40.9 seconds) */
> -		if (!hdev->acl_cnt && time_after(jiffies, hdev->acl_last_tx +
> +		if (!cnt && time_after(jiffies, hdev->acl_last_tx +
>  					msecs_to_jiffies(HCI_ACL_TX_TIMEOUT)))
>  			hci_link_tx_to(hdev, ACL_LINK);
>  	}
> +}
>  
> -	cnt = hdev->acl_cnt;
> +static inline void hci_sched_acl_pkt(struct hci_dev *hdev)
> +{
> +	unsigned int cnt = hdev->acl_cnt;
> +	struct hci_chan *chan;
> +	struct sk_buff *skb;
> +	int quote;
> +
> +	__check_timeout(hdev, cnt);
>  
>  	while (hdev->acl_cnt &&
>  			(chan = hci_chan_sent(hdev, ACL_LINK, &quote))) {
> @@ -2438,20 +2441,12 @@ static inline void hci_sched_acl_pkt(struct hci_dev *hdev)
>  
>  static inline void hci_sched_acl_blk(struct hci_dev *hdev)
>  {
> +	unsigned int cnt = hdev->block_cnt;
>  	struct hci_chan *chan;
>  	struct sk_buff *skb;
>  	int quote;
> -	unsigned int cnt;
> -
> -	if (!test_bit(HCI_RAW, &hdev->flags)) {
> -		/* ACL tx timeout must be longer than maximum
> -		 * link supervision timeout (40.9 seconds) */
> -		if (!hdev->block_cnt && time_after(jiffies, hdev->acl_last_tx +
> -					msecs_to_jiffies(HCI_ACL_TX_TIMEOUT)))
> -			hci_link_tx_to(hdev, ACL_LINK);
> -	}
>  
> -	cnt = hdev->block_cnt;

maybe the patch is just funnily trying to be too smart, but I am missing
the cnt init here.

> +	__check_timeout(hdev, cnt);
>  
>  	while (hdev->block_cnt > 0 &&
>  			(chan = hci_chan_sent(hdev, ACL_LINK, &quote))) {

Regards

Marcel



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

* Re: [PATCHv1 2/2] Bluetooth: Helper removes duplicated code
  2012-02-03 14:27 ` [PATCHv1 2/2] Bluetooth: Helper removes duplicated code Emeltchenko Andrei
  2012-02-03 16:03   ` Marcel Holtmann
@ 2012-02-03 16:52   ` Vinicius Costa Gomes
  2012-02-03 17:02   ` Marcel Holtmann
  2 siblings, 0 replies; 9+ messages in thread
From: Vinicius Costa Gomes @ 2012-02-03 16:52 UTC (permalink / raw)
  To: Emeltchenko Andrei; +Cc: linux-bluetooth

Hi Andrei,

On 16:27 Fri 03 Feb, Emeltchenko Andrei wrote:
> From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
> 
> Use __check_timout helper to remove duplicated code

Typo here: __check_timeout

> 
> Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
> ---
>  net/bluetooth/hci_core.c |   31 +++++++++++++------------------
>  1 files changed, 13 insertions(+), 18 deletions(-)
> 
> diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c
> index 9a56a40..95eeae5 100644
> --- a/net/bluetooth/hci_core.c
> +++ b/net/bluetooth/hci_core.c
> @@ -2390,22 +2390,25 @@ static inline int __get_blocks(struct hci_dev *hdev, struct sk_buff *skb)
>  	return DIV_ROUND_UP(skb->len - HCI_ACL_HDR_SIZE, hdev->block_len);


[ snip ]


Cheers,
-- 
Vinicius

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

* Re: [PATCHv1 2/2] Bluetooth: Helper removes duplicated code
  2012-02-03 16:03   ` Marcel Holtmann
@ 2012-02-03 17:00     ` Ulisses Furquim
  0 siblings, 0 replies; 9+ messages in thread
From: Ulisses Furquim @ 2012-02-03 17:00 UTC (permalink / raw)
  To: Marcel Holtmann; +Cc: Emeltchenko Andrei, linux-bluetooth

Hi Marcel,

On Fri, Feb 3, 2012 at 2:03 PM, Marcel Holtmann <marcel@holtmann.org> wrote=
:
> Hi Andrei,
>
>> Use __check_timout helper to remove duplicated code
>>
>> Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
>> ---
>> =A0net/bluetooth/hci_core.c | =A0 31 +++++++++++++------------------
>> =A01 files changed, 13 insertions(+), 18 deletions(-)
>>
>> diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c
>> index 9a56a40..95eeae5 100644
>> --- a/net/bluetooth/hci_core.c
>> +++ b/net/bluetooth/hci_core.c
>> @@ -2390,22 +2390,25 @@ static inline int __get_blocks(struct hci_dev *h=
dev, struct sk_buff *skb)
>> =A0 =A0 =A0 return DIV_ROUND_UP(skb->len - HCI_ACL_HDR_SIZE, hdev->block=
_len);
>> =A0}
>>
>> -static inline void hci_sched_acl_pkt(struct hci_dev *hdev)
>> +static inline void __check_timeout(struct hci_dev *hdev, unsigned int c=
nt)
>> =A0{
>> - =A0 =A0 struct hci_chan *chan;
>> - =A0 =A0 struct sk_buff *skb;
>> - =A0 =A0 int quote;
>> - =A0 =A0 unsigned int cnt;
>> -
>> =A0 =A0 =A0 if (!test_bit(HCI_RAW, &hdev->flags)) {
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 /* ACL tx timeout must be longer than maximu=
m
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0* link supervision timeout (40.9 seconds)=
 */
>> - =A0 =A0 =A0 =A0 =A0 =A0 if (!hdev->acl_cnt && time_after(jiffies, hdev=
->acl_last_tx +
>> + =A0 =A0 =A0 =A0 =A0 =A0 if (!cnt && time_after(jiffies, hdev->acl_last=
_tx +
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 msecs_to_jiffies(HCI_ACL_TX_TIMEOUT)))
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 hci_link_tx_to(hdev, ACL_LIN=
K);
>> =A0 =A0 =A0 }
>> +}
>>
>> - =A0 =A0 cnt =3D hdev->acl_cnt;
>> +static inline void hci_sched_acl_pkt(struct hci_dev *hdev)
>> +{
>> + =A0 =A0 unsigned int cnt =3D hdev->acl_cnt;

cnt is initialized here.

>> + =A0 =A0 struct hci_chan *chan;
>> + =A0 =A0 struct sk_buff *skb;
>> + =A0 =A0 int quote;
>> +
>> + =A0 =A0 __check_timeout(hdev, cnt);
>>
>> =A0 =A0 =A0 while (hdev->acl_cnt &&
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 (chan =3D hci_chan_sent(hdev=
, ACL_LINK, &quote))) {
>> @@ -2438,20 +2441,12 @@ static inline void hci_sched_acl_pkt(struct hci_=
dev *hdev)
>>
>> =A0static inline void hci_sched_acl_blk(struct hci_dev *hdev)
>> =A0{
>> + =A0 =A0 unsigned int cnt =3D hdev->block_cnt;

And cnt is initialized here, for block count.

>> =A0 =A0 =A0 struct hci_chan *chan;
>> =A0 =A0 =A0 struct sk_buff *skb;
>> =A0 =A0 =A0 int quote;
>> - =A0 =A0 unsigned int cnt;
>> -
>> - =A0 =A0 if (!test_bit(HCI_RAW, &hdev->flags)) {
>> - =A0 =A0 =A0 =A0 =A0 =A0 /* ACL tx timeout must be longer than maximum
>> - =A0 =A0 =A0 =A0 =A0 =A0 =A0* link supervision timeout (40.9 seconds) *=
/
>> - =A0 =A0 =A0 =A0 =A0 =A0 if (!hdev->block_cnt && time_after(jiffies, hd=
ev->acl_last_tx +
>> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 msecs_to_jiffies(HCI_ACL_TX_TIMEOUT)))
>> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 hci_link_tx_to(hdev, ACL_LINK)=
;
>> - =A0 =A0 }
>>
>> - =A0 =A0 cnt =3D hdev->block_cnt;
>
> maybe the patch is just funnily trying to be too smart, but I am missing
> the cnt init here.

And yes, the patch itself looks confusing but it was because of how
git created the changes. I think the patch looks good.

>> + =A0 =A0 __check_timeout(hdev, cnt);
>>
>> =A0 =A0 =A0 while (hdev->block_cnt > 0 &&
>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 (chan =3D hci_chan_sent(hdev=
, ACL_LINK, &quote))) {
>
> Regards
>
> Marcel

Regards,

--=20
Ulisses Furquim
ProFUSION embedded systems
http://profusion.mobi
Mobile: +55 19 9250 0942
Skype: ulissesffs

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

* Re: [PATCHv1 2/2] Bluetooth: Helper removes duplicated code
  2012-02-03 14:27 ` [PATCHv1 2/2] Bluetooth: Helper removes duplicated code Emeltchenko Andrei
  2012-02-03 16:03   ` Marcel Holtmann
  2012-02-03 16:52   ` Vinicius Costa Gomes
@ 2012-02-03 17:02   ` Marcel Holtmann
  2 siblings, 0 replies; 9+ messages in thread
From: Marcel Holtmann @ 2012-02-03 17:02 UTC (permalink / raw)
  To: Emeltchenko Andrei; +Cc: linux-bluetooth

Hi Andrei,

> Use __check_timout helper to remove duplicated code
> 
> Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
> ---
>  net/bluetooth/hci_core.c |   31 +++++++++++++------------------
>  1 files changed, 13 insertions(+), 18 deletions(-)

Reviewed-by: Ulisses Furquim <ulisses@profusion.mobi>
Acked-by: Marcel Holtmann <marcel@holtmann.org>

Regards

Marcel



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

* Re: [PATCHv1 0/2] Adds support for block based flow ctrl
  2012-02-03 14:27 [PATCHv1 0/2] Adds support for block based flow ctrl Emeltchenko Andrei
  2012-02-03 14:27 ` [PATCHv1 1/2] Bluetooth: Recalculate sched HCI blk/pkt " Emeltchenko Andrei
  2012-02-03 14:27 ` [PATCHv1 2/2] Bluetooth: Helper removes duplicated code Emeltchenko Andrei
@ 2012-02-03 18:52 ` Johan Hedberg
  2 siblings, 0 replies; 9+ messages in thread
From: Johan Hedberg @ 2012-02-03 18:52 UTC (permalink / raw)
  To: Emeltchenko Andrei; +Cc: linux-bluetooth

Hi Andrei,

On Fri, Feb 03, 2012, Emeltchenko Andrei wrote:
> From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
> 
> Split HCI scheduling for block and packet flow control.
> 
> Changes:
> 	No change from RFC I've sent some time ago since I've got
> 	no comments.
> 
> Andrei Emeltchenko (2):
>   Bluetooth: Recalculate sched HCI blk/pkt flow ctrl
>   Bluetooth: Helper removes duplicated code
> 
>  net/bluetooth/hci_core.c |   92 ++++++++++++++++++++++++++++++++++++++++------
>  1 files changed, 80 insertions(+), 12 deletions(-)

Both patches have been applied to my bluetooth-next tree. Thanks.

Johan

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

end of thread, other threads:[~2012-02-03 18:52 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-02-03 14:27 [PATCHv1 0/2] Adds support for block based flow ctrl Emeltchenko Andrei
2012-02-03 14:27 ` [PATCHv1 1/2] Bluetooth: Recalculate sched HCI blk/pkt " Emeltchenko Andrei
2012-02-03 16:01   ` Marcel Holtmann
2012-02-03 14:27 ` [PATCHv1 2/2] Bluetooth: Helper removes duplicated code Emeltchenko Andrei
2012-02-03 16:03   ` Marcel Holtmann
2012-02-03 17:00     ` Ulisses Furquim
2012-02-03 16:52   ` Vinicius Costa Gomes
2012-02-03 17:02   ` Marcel Holtmann
2012-02-03 18:52 ` [PATCHv1 0/2] Adds support for block based flow ctrl Johan Hedberg

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.