diff options
Diffstat (limited to 'net/sctp/outqueue.c')
-rw-r--r-- | net/sctp/outqueue.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/net/sctp/outqueue.c b/net/sctp/outqueue.c index a0fa19f5650c..e7aa177c9522 100644 --- a/net/sctp/outqueue.c +++ b/net/sctp/outqueue.c | |||
@@ -792,7 +792,8 @@ static int sctp_outq_flush(struct sctp_outq *q, int rtx_timeout) | |||
792 | if (!new_transport) | 792 | if (!new_transport) |
793 | new_transport = asoc->peer.active_path; | 793 | new_transport = asoc->peer.active_path; |
794 | } else if ((new_transport->state == SCTP_INACTIVE) || | 794 | } else if ((new_transport->state == SCTP_INACTIVE) || |
795 | (new_transport->state == SCTP_UNCONFIRMED)) { | 795 | (new_transport->state == SCTP_UNCONFIRMED) || |
796 | (new_transport->state == SCTP_PF)) { | ||
796 | /* If the chunk is Heartbeat or Heartbeat Ack, | 797 | /* If the chunk is Heartbeat or Heartbeat Ack, |
797 | * send it to chunk->transport, even if it's | 798 | * send it to chunk->transport, even if it's |
798 | * inactive. | 799 | * inactive. |
@@ -987,7 +988,8 @@ static int sctp_outq_flush(struct sctp_outq *q, int rtx_timeout) | |||
987 | new_transport = chunk->transport; | 988 | new_transport = chunk->transport; |
988 | if (!new_transport || | 989 | if (!new_transport || |
989 | ((new_transport->state == SCTP_INACTIVE) || | 990 | ((new_transport->state == SCTP_INACTIVE) || |
990 | (new_transport->state == SCTP_UNCONFIRMED))) | 991 | (new_transport->state == SCTP_UNCONFIRMED) || |
992 | (new_transport->state == SCTP_PF))) | ||
991 | new_transport = asoc->peer.active_path; | 993 | new_transport = asoc->peer.active_path; |
992 | if (new_transport->state == SCTP_UNCONFIRMED) | 994 | if (new_transport->state == SCTP_UNCONFIRMED) |
993 | continue; | 995 | continue; |