diff options
author | David S. Miller <davem@davemloft.net> | 2008-07-08 16:30:17 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-07-08 16:30:17 -0700 |
commit | 7c3ceb4a409e2b838700edf081d61a8a4c921e79 (patch) | |
tree | 4dbf54cc23d2796b278e22fc6f5460b9b451c956 /net/sctp/sm_statefuns.c | |
parent | 54dceb008ffcbe003bea9017cad1227a83b6fc3f (diff) | |
parent | b2238566401f01eb796e75750213c7b0fce396b2 (diff) |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts:
drivers/net/wireless/iwlwifi/iwl-3945.c
net/mac80211/mlme.c
Diffstat (limited to 'net/sctp/sm_statefuns.c')
-rw-r--r-- | net/sctp/sm_statefuns.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/net/sctp/sm_statefuns.c b/net/sctp/sm_statefuns.c index b66a41d03c0..8848d329aa2 100644 --- a/net/sctp/sm_statefuns.c +++ b/net/sctp/sm_statefuns.c @@ -5893,12 +5893,6 @@ static int sctp_eat_data(const struct sctp_association *asoc, return SCTP_IERROR_NO_DATA; } - /* If definately accepting the DATA chunk, record its TSN, otherwise - * wait for renege processing. - */ - if (SCTP_CMD_CHUNK_ULP == deliver) - sctp_add_cmd_sf(commands, SCTP_CMD_REPORT_TSN, SCTP_U32(tsn)); - chunk->data_accepted = 1; /* Note: Some chunks may get overcounted (if we drop) or overcounted @@ -5918,6 +5912,9 @@ static int sctp_eat_data(const struct sctp_association *asoc, * and discard the DATA chunk. */ if (ntohs(data_hdr->stream) >= asoc->c.sinit_max_instreams) { + /* Mark tsn as received even though we drop it */ + sctp_add_cmd_sf(commands, SCTP_CMD_REPORT_TSN, SCTP_U32(tsn)); + err = sctp_make_op_error(asoc, chunk, SCTP_ERROR_INV_STRM, &data_hdr->stream, sizeof(data_hdr->stream)); |