diff options
Diffstat (limited to 'net/sctp/outqueue.c')
| -rw-r--r-- | net/sctp/outqueue.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/net/sctp/outqueue.c b/net/sctp/outqueue.c index 1b2d4adc4ddb..4eb81a1407b7 100644 --- a/net/sctp/outqueue.c +++ b/net/sctp/outqueue.c | |||
| @@ -682,9 +682,9 @@ int sctp_outq_flush(struct sctp_outq *q, int rtx_timeout) | |||
| 682 | 682 | ||
| 683 | if (!new_transport) { | 683 | if (!new_transport) { |
| 684 | new_transport = asoc->peer.active_path; | 684 | new_transport = asoc->peer.active_path; |
| 685 | } else if (!new_transport->active) { | 685 | } else if (new_transport->state == SCTP_INACTIVE) { |
| 686 | /* If the chunk is Heartbeat or Heartbeat Ack, | 686 | /* If the chunk is Heartbeat or Heartbeat Ack, |
| 687 | * send it to chunk->transport, even if it's | 687 | * send it to chunk->transport, even if it's |
| 688 | * inactive. | 688 | * inactive. |
| 689 | * | 689 | * |
| 690 | * 3.3.6 Heartbeat Acknowledgement: | 690 | * 3.3.6 Heartbeat Acknowledgement: |
| @@ -840,7 +840,8 @@ int sctp_outq_flush(struct sctp_outq *q, int rtx_timeout) | |||
| 840 | * Otherwise, we want to use the active path. | 840 | * Otherwise, we want to use the active path. |
| 841 | */ | 841 | */ |
| 842 | new_transport = chunk->transport; | 842 | new_transport = chunk->transport; |
| 843 | if (!new_transport || !new_transport->active) | 843 | if (!new_transport || |
| 844 | new_transport->state == SCTP_INACTIVE) | ||
| 844 | new_transport = asoc->peer.active_path; | 845 | new_transport = asoc->peer.active_path; |
| 845 | 846 | ||
| 846 | /* Change packets if necessary. */ | 847 | /* Change packets if necessary. */ |
| @@ -1454,7 +1455,7 @@ static void sctp_check_transmitted(struct sctp_outq *q, | |||
| 1454 | /* Mark the destination transport address as | 1455 | /* Mark the destination transport address as |
| 1455 | * active if it is not so marked. | 1456 | * active if it is not so marked. |
| 1456 | */ | 1457 | */ |
| 1457 | if (!transport->active) { | 1458 | if (transport->state == SCTP_INACTIVE) { |
| 1458 | sctp_assoc_control_transport( | 1459 | sctp_assoc_control_transport( |
| 1459 | transport->asoc, | 1460 | transport->asoc, |
| 1460 | transport, | 1461 | transport, |
