Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts: drivers/net/tg3.c drivers/net/wireless/rt2x00/rt2x00dev.c net/mac80211/ieee80211_i.h
This commit is contained in:
@@ -1206,6 +1206,9 @@ void sctp_assoc_update_retran_path(struct sctp_association *asoc)
|
||||
struct list_head *head = &asoc->peer.transport_addr_list;
|
||||
struct list_head *pos;
|
||||
|
||||
if (asoc->peer.transport_count == 1)
|
||||
return;
|
||||
|
||||
/* Find the next transport in a round-robin fashion. */
|
||||
t = asoc->peer.retran_path;
|
||||
pos = &t->transports;
|
||||
@@ -1220,6 +1223,15 @@ void sctp_assoc_update_retran_path(struct sctp_association *asoc)
|
||||
|
||||
t = list_entry(pos, struct sctp_transport, transports);
|
||||
|
||||
/* We have exhausted the list, but didn't find any
|
||||
* other active transports. If so, use the next
|
||||
* transport.
|
||||
*/
|
||||
if (t == asoc->peer.retran_path) {
|
||||
t = next;
|
||||
break;
|
||||
}
|
||||
|
||||
/* Try to find an active transport. */
|
||||
|
||||
if ((t->state == SCTP_ACTIVE) ||
|
||||
@@ -1232,15 +1244,6 @@ void sctp_assoc_update_retran_path(struct sctp_association *asoc)
|
||||
if (!next)
|
||||
next = t;
|
||||
}
|
||||
|
||||
/* We have exhausted the list, but didn't find any
|
||||
* other active transports. If so, use the next
|
||||
* transport.
|
||||
*/
|
||||
if (t == asoc->peer.retran_path) {
|
||||
t = next;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
asoc->peer.retran_path = t;
|
||||
|
Reference in New Issue
Block a user