* [PATCH] skge: restore device multicast membership after link down/up @ 2006-11-30 16:35 Andy Gospodarek 2006-12-01 19:41 ` [PATCH] skge: don't clear MC state on link down Stephen Hemminger 0 siblings, 1 reply; 3+ messages in thread From: Andy Gospodarek @ 2006-11-30 16:35 UTC (permalink / raw) To: netdev, shemminger 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 <andy@greyhouse•net> --- 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); } ^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH] skge: don't clear MC state on link down 2006-11-30 16:35 [PATCH] skge: restore device multicast membership after link down/up Andy Gospodarek @ 2006-12-01 19:41 ` Stephen Hemminger 2006-12-01 21:03 ` Andy Gospodarek 0 siblings, 1 reply; 3+ messages in thread From: Stephen Hemminger @ 2006-12-01 19:41 UTC (permalink / raw) To: Andy Gospodarek, Jeff Garzik; +Cc: netdev I would rather fix Andy's problem by not clearing multicast information on link down. Also, add code to restore multicast state after ethtool phy reset. Signed-off-by: Stephen Hemminger <shemminger@osdl•org> --- drivers/net/skge.c | 5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/net/skge.c b/drivers/net/skge.c index b294903..010fc65 100644 --- a/drivers/net/skge.c +++ b/drivers/net/skge.c @@ -2154,8 +2154,6 @@ static void yukon_link_down(struct skge_ int port = skge->port; u16 ctrl; - gm_phy_write(hw, port, PHY_MARV_INT_MASK, 0); - ctrl = gma_read16(hw, port, GM_GP_CTRL); ctrl &= ~(GM_GPCR_RX_ENA | GM_GPCR_TX_ENA); gma_write16(hw, port, GM_GP_CTRL, ctrl); @@ -2167,7 +2165,6 @@ static void yukon_link_down(struct skge_ gm_phy_write(hw, port, PHY_MARV_AUNE_ADV, ctrl); } - yukon_reset(hw, port); skge_link_down(skge); yukon_init(hw, port); @@ -2268,6 +2265,8 @@ static void skge_phy_reset(struct skge_p yukon_init(hw, port); } mutex_unlock(&hw->phy_mutex); + + dev->set_multicast_list(dev); } /* Basic MII support */ -- 1.4.1 ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] skge: don't clear MC state on link down 2006-12-01 19:41 ` [PATCH] skge: don't clear MC state on link down Stephen Hemminger @ 2006-12-01 21:03 ` Andy Gospodarek 0 siblings, 0 replies; 3+ messages in thread From: Andy Gospodarek @ 2006-12-01 21:03 UTC (permalink / raw) To: Stephen Hemminger; +Cc: Jeff Garzik, netdev On 12/1/06, Stephen Hemminger <shemminger@osdl•org> wrote: > I would rather fix Andy's problem by not clearing > multicast information on link down. > > Also, add code to restore multicast state after ethtool phy reset. > Stephen, I'll ACK that change instead as long as we can be sure that this isn't needed for hardware reasons. -andy ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2006-12-01 21:03 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2006-11-30 16:35 [PATCH] skge: restore device multicast membership after link down/up Andy Gospodarek 2006-12-01 19:41 ` [PATCH] skge: don't clear MC state on link down Stephen Hemminger 2006-12-01 21:03 ` Andy Gospodarek
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox