diff options
-rw-r--r-- | include/linux/sctp.h | 6 | ||||
-rw-r--r-- | net/sctp/outqueue.c | 10 |
2 files changed, 8 insertions, 8 deletions
diff --git a/include/linux/sctp.h b/include/linux/sctp.h index 8faf74eff63d..8df6ac53f05b 100644 --- a/include/linux/sctp.h +++ b/include/linux/sctp.h | |||
@@ -368,17 +368,17 @@ struct sctp_gap_ack_block { | |||
368 | __be16 end; | 368 | __be16 end; |
369 | }; | 369 | }; |
370 | 370 | ||
371 | typedef union { | 371 | union sctp_sack_variable { |
372 | struct sctp_gap_ack_block gab; | 372 | struct sctp_gap_ack_block gab; |
373 | __be32 dup; | 373 | __be32 dup; |
374 | } sctp_sack_variable_t; | 374 | }; |
375 | 375 | ||
376 | typedef struct sctp_sackhdr { | 376 | typedef struct sctp_sackhdr { |
377 | __be32 cum_tsn_ack; | 377 | __be32 cum_tsn_ack; |
378 | __be32 a_rwnd; | 378 | __be32 a_rwnd; |
379 | __be16 num_gap_ack_blocks; | 379 | __be16 num_gap_ack_blocks; |
380 | __be16 num_dup_tsns; | 380 | __be16 num_dup_tsns; |
381 | sctp_sack_variable_t variable[0]; | 381 | union sctp_sack_variable variable[0]; |
382 | } sctp_sackhdr_t; | 382 | } sctp_sackhdr_t; |
383 | 383 | ||
384 | typedef struct sctp_sack_chunk { | 384 | typedef struct sctp_sack_chunk { |
diff --git a/net/sctp/outqueue.c b/net/sctp/outqueue.c index e8762702a313..d2a8adfd4a6f 100644 --- a/net/sctp/outqueue.c +++ b/net/sctp/outqueue.c | |||
@@ -1197,7 +1197,7 @@ sctp_flush_out: | |||
1197 | static void sctp_sack_update_unack_data(struct sctp_association *assoc, | 1197 | static void sctp_sack_update_unack_data(struct sctp_association *assoc, |
1198 | struct sctp_sackhdr *sack) | 1198 | struct sctp_sackhdr *sack) |
1199 | { | 1199 | { |
1200 | sctp_sack_variable_t *frags; | 1200 | union sctp_sack_variable *frags; |
1201 | __u16 unack_data; | 1201 | __u16 unack_data; |
1202 | int i; | 1202 | int i; |
1203 | 1203 | ||
@@ -1224,7 +1224,7 @@ int sctp_outq_sack(struct sctp_outq *q, struct sctp_chunk *chunk) | |||
1224 | struct sctp_transport *transport; | 1224 | struct sctp_transport *transport; |
1225 | struct sctp_chunk *tchunk = NULL; | 1225 | struct sctp_chunk *tchunk = NULL; |
1226 | struct list_head *lchunk, *transport_list, *temp; | 1226 | struct list_head *lchunk, *transport_list, *temp; |
1227 | sctp_sack_variable_t *frags = sack->variable; | 1227 | union sctp_sack_variable *frags = sack->variable; |
1228 | __u32 sack_ctsn, ctsn, tsn; | 1228 | __u32 sack_ctsn, ctsn, tsn; |
1229 | __u32 highest_tsn, highest_new_tsn; | 1229 | __u32 highest_tsn, highest_new_tsn; |
1230 | __u32 sack_a_rwnd; | 1230 | __u32 sack_a_rwnd; |
@@ -1736,10 +1736,10 @@ static void sctp_mark_missing(struct sctp_outq *q, | |||
1736 | /* Is the given TSN acked by this packet? */ | 1736 | /* Is the given TSN acked by this packet? */ |
1737 | static int sctp_acked(struct sctp_sackhdr *sack, __u32 tsn) | 1737 | static int sctp_acked(struct sctp_sackhdr *sack, __u32 tsn) |
1738 | { | 1738 | { |
1739 | int i; | ||
1740 | sctp_sack_variable_t *frags; | ||
1741 | __u16 tsn_offset, blocks; | ||
1742 | __u32 ctsn = ntohl(sack->cum_tsn_ack); | 1739 | __u32 ctsn = ntohl(sack->cum_tsn_ack); |
1740 | union sctp_sack_variable *frags; | ||
1741 | __u16 tsn_offset, blocks; | ||
1742 | int i; | ||
1743 | 1743 | ||
1744 | if (TSN_lte(tsn, ctsn)) | 1744 | if (TSN_lte(tsn, ctsn)) |
1745 | goto pass; | 1745 | goto pass; |