return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
        }
 
+       if (!asoc->peer.prsctp_capable)
+               return sctp_sf_unk_chunk(net, ep, asoc, type, arg, commands);
+
        /* Make sure that the FORWARD_TSN chunk has valid length.  */
        if (!sctp_chunk_length_valid(chunk, sizeof(struct sctp_fwdtsn_chunk)))
                return sctp_sf_violation_chunklen(net, ep, asoc, type, arg,
                return sctp_sf_pdiscard(net, ep, asoc, type, arg, commands);
        }
 
+       if (!asoc->peer.prsctp_capable)
+               return sctp_sf_unk_chunk(net, ep, asoc, type, arg, commands);
+
        /* Make sure that the FORWARD_TSN chunk has a valid length.  */
        if (!sctp_chunk_length_valid(chunk, sizeof(struct sctp_fwdtsn_chunk)))
                return sctp_sf_violation_chunklen(net, ep, asoc, type, arg,