summaryrefslogtreecommitdiff
path: root/net/sctp/tsnmap.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2012-07-05 10:44:25 (GMT)
committerDavid S. Miller <davem@davemloft.net>2012-07-05 10:44:25 (GMT)
commitc90a9bb9073a4096596360f02ea711c619663494 (patch)
treedc85d9f4c0d423e6b523e81c41a5b68e267de14f /net/sctp/tsnmap.c
parent23c342153ef2a4ad8bd4f2d6515126449658d2b3 (diff)
parent9e85a6f9dc231f3ed3c1dc1b12217505d970142a (diff)
downloadlinux-fsl-qoriq-c90a9bb9073a4096596360f02ea711c619663494.tar.xz
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Diffstat (limited to 'net/sctp/tsnmap.c')
-rw-r--r--net/sctp/tsnmap.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/net/sctp/tsnmap.c b/net/sctp/tsnmap.c
index f1e40ceb..b5fb7c4 100644
--- a/net/sctp/tsnmap.c
+++ b/net/sctp/tsnmap.c
@@ -114,7 +114,8 @@ int sctp_tsnmap_check(const struct sctp_tsnmap *map, __u32 tsn)
/* Mark this TSN as seen. */
-int sctp_tsnmap_mark(struct sctp_tsnmap *map, __u32 tsn)
+int sctp_tsnmap_mark(struct sctp_tsnmap *map, __u32 tsn,
+ struct sctp_transport *trans)
{
u16 gap;
@@ -133,6 +134,9 @@ int sctp_tsnmap_mark(struct sctp_tsnmap *map, __u32 tsn)
*/
map->max_tsn_seen++;
map->cumulative_tsn_ack_point++;
+ if (trans)
+ trans->sack_generation =
+ trans->asoc->peer.sack_generation;
map->base_tsn++;
} else {
/* Either we already have a gap, or about to record a gap, so