diff --git a/[refs] b/[refs] index 6bb7a9c8a123..da23604913bb 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f9c67811ebc00a42f62f5d542d3abd36bd49ae35 +refs/heads/master: a78102e74e782914039cd8a6939532649825a2e3 diff --git a/trunk/net/sctp/transport.c b/trunk/net/sctp/transport.c index c256e4839316..3b141bb32faf 100644 --- a/trunk/net/sctp/transport.c +++ b/trunk/net/sctp/transport.c @@ -308,7 +308,8 @@ void sctp_transport_route(struct sctp_transport *transport, /* Initialize sk->sk_rcv_saddr, if the transport is the * association's active path for getsockname(). */ - if (asoc && (transport == asoc->peer.active_path)) + if (asoc && (!asoc->peer.primary_path || + (transport == asoc->peer.active_path))) opt->pf->af->to_sk_saddr(&transport->saddr, asoc->base.sk); } else