diff options
author | Florian Westphal <fw@strlen.de> | 2015-02-28 11:51:36 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-03-01 19:40:23 +0100 |
commit | c03ae533a9c4de83a35105f9bfd7152d916b4680 (patch) | |
tree | b97d7444f8de87b82d94d24d81153c496678fe77 /net | |
parent | net/hsr: Fix NULL pointer dereference and refcnt bugs when deleting a HSR int... (diff) | |
download | linux-c03ae533a9c4de83a35105f9bfd7152d916b4680.tar.xz linux-c03ae533a9c4de83a35105f9bfd7152d916b4680.zip |
rxrpc: terminate retrans loop when sending of skb fails
Typo, 'stop' is never set to true.
Seems intent is to not attempt to retransmit more packets after sendmsg
returns an error.
This change is based on code inspection only.
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/rxrpc/ar-ack.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/net/rxrpc/ar-ack.c b/net/rxrpc/ar-ack.c index c6be17a959a6..40404183a5da 100644 --- a/net/rxrpc/ar-ack.c +++ b/net/rxrpc/ar-ack.c @@ -218,7 +218,8 @@ static void rxrpc_resend(struct rxrpc_call *call) struct rxrpc_header *hdr; struct sk_buff *txb; unsigned long *p_txb, resend_at; - int loop, stop; + bool stop; + int loop; u8 resend; _enter("{%d,%d,%d,%d},", @@ -226,7 +227,7 @@ static void rxrpc_resend(struct rxrpc_call *call) atomic_read(&call->sequence), CIRC_CNT(call->acks_head, call->acks_tail, call->acks_winsz)); - stop = 0; + stop = false; resend = 0; resend_at = 0; @@ -255,7 +256,7 @@ static void rxrpc_resend(struct rxrpc_call *call) _proto("Tx DATA %%%u { #%d }", ntohl(sp->hdr.serial), ntohl(sp->hdr.seq)); if (rxrpc_send_packet(call->conn->trans, txb) < 0) { - stop = 0; + stop = true; sp->resend_at = jiffies + 3; } else { sp->resend_at = |