Hi Marcel, On Fri, Feb 3, 2012 at 2:03 PM, Marcel Holtmann <marcel@xxxxxxxxxxxx> wrote: > Hi Andrei, > >> Use __check_timout helper to remove duplicated code >> >> Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@xxxxxxxxx> >> --- >> 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; cnt is initialized here. >> + 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; And cnt is initialized here, for block count. >> 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. And yes, the patch itself looks confusing but it was because of how git created the changes. I think the patch looks good. >> + __check_timeout(hdev, cnt); >> >> while (hdev->block_cnt > 0 && >> (chan = hci_chan_sent(hdev, ACL_LINK, "e))) { > > Regards > > Marcel Regards, -- Ulisses Furquim ProFUSION embedded systems http://profusion.mobi Mobile: +55 19 9250 0942 Skype: ulissesffs -- 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