Yukon hardware will lose multicast membership data and promiscuous mode 
information if a link is disconnected and reconnected without taking the
interface down.  A call to yukon_reset in yukon_link_down will clear the
hardware's multicast list, so it needs to be added back on link_up.

It does not appear that Genesis hardware needs a similar patch is needed
since it does not seem to clear multicast membership when taking the
link down.

Signed-off-by: Andy Gospodarek <[EMAIL PROTECTED]>
---

 skge.c |    4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/net/skge.c b/drivers/net/skge.c
index 3f1b72e..c02e1f1 100644
--- a/drivers/net/skge.c
+++ b/drivers/net/skge.c
@@ -1922,6 +1922,10 @@ static void yukon_link_up(struct skge_po
        gma_write16(hw, port, GM_GP_CTRL, reg);
 
        gm_phy_write(hw, port, PHY_MARV_INT_MASK, PHY_M_IS_DEF_MSK);
+
+       /* reset multicast list */
+       yukon_set_multicast(skge->netdev);
+
        skge_link_up(skge);
 }
 
-
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

Reply via email to