Re: [PATCH] Bluetooth: Fix not clearing ack timer when sending an i-frame

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

 



Hi Luiz,

On Mon, Feb 6, 2012 at 12:38 PM, Luiz Augusto von Dentz
<luiz.dentz@xxxxxxxxx> wrote:
> From: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx>
>
> When sending an i-frame the first time unacked_frames is incremented
> which means we are waiting an ack and there is no need to send an ack
> since the i-frame itself already serve that purpose.

I'm not sure this message is correct even though the patch makes
sense. We _might_ be acking received unacked frames by sending an
i-frame so it makes sense to clear the ack timer. However,
unacked_frames means our frames which weren't acked yet by the remote
side. Right?

> Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx>
> ---
>  net/bluetooth/l2cap_core.c |    8 +++++++-
>  1 files changed, 7 insertions(+), 1 deletions(-)
>
> diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c
> index 09cd860..e969677 100644
> --- a/net/bluetooth/l2cap_core.c
> +++ b/net/bluetooth/l2cap_core.c
> @@ -1448,8 +1448,10 @@ static int l2cap_ertm_send(struct l2cap_chan *chan)
>
>                chan->next_tx_seq = __next_seq(chan, chan->next_tx_seq);
>
> -               if (bt_cb(skb)->retries == 1)
> +               if (bt_cb(skb)->retries == 1) {
>                        chan->unacked_frames++;
> +                       __clear_ack_timer(chan);
> +               }
>
>                chan->frames_sent++;

Hmm, maybe we can clear ack timer only once if we check nsent in the
end of l2cap_ertm_send() instead of potentially call it several times?
Not sure if it's worth it or not, though.

Regards,

-- Ulisses
--
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