X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=net%2Fsctp%2Fsm_statefuns.c;h=b7c1f7f3c8388400e51e3fbdbe099bc354559913;hb=e7487c86dc5c4a528a7dbd9dc14f453a0de61a84;hp=f1f08c8f277bd8719299d1ed21eb23e36d55f7e2;hpb=ab96d9d60367d614818692cfb8903f2afcfef214;p=cascardo%2Flinux.git diff --git a/net/sctp/sm_statefuns.c b/net/sctp/sm_statefuns.c index f1f08c8f277b..b7c1f7f3c838 100644 --- a/net/sctp/sm_statefuns.c +++ b/net/sctp/sm_statefuns.c @@ -6119,13 +6119,11 @@ static int sctp_eat_data(const struct sctp_association *asoc, */ if (!chunk->ecn_ce_done) { - struct sctp_af *af; + struct sctp_af *af = SCTP_INPUT_CB(chunk->skb)->af; chunk->ecn_ce_done = 1; - af = sctp_get_af_specific( - ipver2af(ip_hdr(chunk->skb)->version)); - - if (af && af->is_ce(chunk->skb) && asoc->peer.ecn_capable) { + if (af->is_ce(sctp_gso_headskb(chunk->skb)) && + asoc->peer.ecn_capable) { /* Do real work as sideffect. */ sctp_add_cmd_sf(commands, SCTP_CMD_ECN_CE, SCTP_U32(tsn));