* [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, "e))) {
+ 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, "e))) {
@@ -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, "e))) {
--
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, "e))) {
> @@ -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, "e))) {
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, "e))) {
>> @@ -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, "e))) {
>
> 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.