diff options
Diffstat (limited to 'net/sctp')
-rw-r--r-- | net/sctp/sm_make_chunk.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/net/sctp/sm_make_chunk.c b/net/sctp/sm_make_chunk.c index 844adfdeb463..f87ccb11a520 100644 --- a/net/sctp/sm_make_chunk.c +++ b/net/sctp/sm_make_chunk.c | |||
@@ -3193,11 +3193,8 @@ static void sctp_asconf_param_success(struct sctp_association *asoc, | |||
3193 | local_bh_enable(); | 3193 | local_bh_enable(); |
3194 | list_for_each_entry(transport, &asoc->peer.transport_addr_list, | 3194 | list_for_each_entry(transport, &asoc->peer.transport_addr_list, |
3195 | transports) { | 3195 | transports) { |
3196 | if (transport->state == SCTP_ACTIVE) | ||
3197 | continue; | ||
3198 | dst_release(transport->dst); | 3196 | dst_release(transport->dst); |
3199 | sctp_transport_route(transport, NULL, | 3197 | transport->dst = NULL; |
3200 | sctp_sk(asoc->base.sk)); | ||
3201 | } | 3198 | } |
3202 | break; | 3199 | break; |
3203 | case SCTP_PARAM_DEL_IP: | 3200 | case SCTP_PARAM_DEL_IP: |
@@ -3207,8 +3204,7 @@ static void sctp_asconf_param_success(struct sctp_association *asoc, | |||
3207 | list_for_each_entry(transport, &asoc->peer.transport_addr_list, | 3204 | list_for_each_entry(transport, &asoc->peer.transport_addr_list, |
3208 | transports) { | 3205 | transports) { |
3209 | dst_release(transport->dst); | 3206 | dst_release(transport->dst); |
3210 | sctp_transport_route(transport, NULL, | 3207 | transport->dst = NULL; |
3211 | sctp_sk(asoc->base.sk)); | ||
3212 | } | 3208 | } |
3213 | break; | 3209 | break; |
3214 | default: | 3210 | default: |