|
@@ -2122,7 +2122,7 @@ static sctp_disposition_t sctp_sf_do_5_2_6_stale(const struct sctp_endpoint *ep,
|
|
|
struct sctp_bind_addr *bp;
|
|
|
int attempts = asoc->init_err_counter + 1;
|
|
|
|
|
|
- if (attempts >= asoc->max_init_attempts) {
|
|
|
+ if (attempts > asoc->max_init_attempts) {
|
|
|
sctp_add_cmd_sf(commands, SCTP_CMD_INIT_FAILED,
|
|
|
SCTP_U32(SCTP_ERROR_STALE_COOKIE));
|
|
|
return SCTP_DISPOSITION_DELETE_TCB;
|
|
@@ -4640,7 +4640,7 @@ sctp_disposition_t sctp_sf_t1_init_timer_expire(const struct sctp_endpoint *ep,
|
|
|
|
|
|
SCTP_DEBUG_PRINTK("Timer T1 expired (INIT).\n");
|
|
|
|
|
|
- if (attempts < asoc->max_init_attempts) {
|
|
|
+ if (attempts <= asoc->max_init_attempts) {
|
|
|
bp = (struct sctp_bind_addr *) &asoc->base.bind_addr;
|
|
|
repl = sctp_make_init(asoc, bp, GFP_ATOMIC, 0);
|
|
|
if (!repl)
|
|
@@ -4697,7 +4697,7 @@ sctp_disposition_t sctp_sf_t1_cookie_timer_expire(const struct sctp_endpoint *ep
|
|
|
|
|
|
SCTP_DEBUG_PRINTK("Timer T1 expired (COOKIE-ECHO).\n");
|
|
|
|
|
|
- if (attempts < asoc->max_init_attempts) {
|
|
|
+ if (attempts <= asoc->max_init_attempts) {
|
|
|
repl = sctp_make_cookie_echo(asoc, NULL);
|
|
|
if (!repl)
|
|
|
return SCTP_DISPOSITION_NOMEM;
|