summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorVlad Yasevich <vladislav.yasevich@hp.com>2007-11-15 12:13:32 -0500
committerVlad Yasevich <vladislav.yasevich@hp.com>2007-11-29 10:17:41 -0500
commitfd10279bc7405c4f1e47a008686d3d9ad71d7f6d (patch)
tree8b7c4b6b110fe3c439e57a393276ef21baa20056 /net
parenta357dde9df33f28611e6a3d4f88265e39bcc8880 (diff)
downloadlinux-fd10279bc7405c4f1e47a008686d3d9ad71d7f6d.tar.gz
linux-fd10279bc7405c4f1e47a008686d3d9ad71d7f6d.tar.bz2
linux-fd10279bc7405c4f1e47a008686d3d9ad71d7f6d.zip
SCTP: Fix the number of HB transmissions.
Our treatment of Heartbeats is special in that the inital HB chunk counts against the error count for the association, where as for other chunks, only retransmissions or timeouts count against us. As a result, we had an off-by-1 situation with a number of Heartbeats we could send. Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Diffstat (limited to 'net')
-rw-r--r--net/sctp/sm_statefuns.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/sctp/sm_statefuns.c b/net/sctp/sm_statefuns.c
index b8bbb960723c..5fb84778846d 100644
--- a/net/sctp/sm_statefuns.c
+++ b/net/sctp/sm_statefuns.c
@@ -959,7 +959,7 @@ sctp_disposition_t sctp_sf_sendbeat_8_3(const struct sctp_endpoint *ep,
{
struct sctp_transport *transport = (struct sctp_transport *) arg;
- if (asoc->overall_error_count >= asoc->max_retrans) {
+ if (asoc->overall_error_count > asoc->max_retrans) {
sctp_add_cmd_sf(commands, SCTP_CMD_SET_SK_ERR,
SCTP_ERROR(ETIMEDOUT));
/* CMD_ASSOC_FAILED calls CMD_DELETE_TCB. */