Stephen Hemminger wrote:
When bonding does fail over it calls set_mac_address. When this happens
as the result of another port going down, the phy_mutex that is common to
both ports is held, so it deadlocks. Setting the address doesn't need to do
anything that needs the phy_mutex, it already has the RTNL to protect against
other admin actions.
This change just disables the receiver to avoid any hardware confusion
while address is changing.
Signed-off-by: Stephen Hemminger <[EMAIL PROTECTED]>
applied, because:
Rather than guessing about whether hardware confusion would occur, it is
best to disable the receiver (for any hardware) unless we are CERTAIN
that the hardware RX filter can be updated without stopping RX.
Motivated people should check this on other hardware too.
Jeff
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html