Messages in this thread Patch in this message | | | Date | Wed, 19 Sep 2012 22:38:25 +0200 | From | Jiri Pirko <> | Subject | Re: [patch net] sky2: fix rx filter setup on link up |
| |
Wed, Sep 19, 2012 at 10:22:48PM CEST, shemminger@vyatta.com wrote: >Rather than saving and restoring values, why not just redo the >full setup? This would also determine if the change was a result >of something outside the driver.
You cannot call sky2_set_multicast() directly here. It is called from __dev_set_rx_mode(). You would have to take at lease netif_addr_lock() here. I think that clearer is to remember computed value....
> > >--- a/drivers/net/ethernet/marvell/sky2.c 2012-09-18 21:12:01.156438131 -0700 >+++ b/drivers/net/ethernet/marvell/sky2.c 2012-09-19 13:20:40.373620276 -0700 >@@ -2201,6 +2201,8 @@ static void sky2_link_up(struct sky2_por > > sky2_enable_rx_tx(sky2); > >+ sky2_set_multicast(sky2->netdev); >+ > gm_phy_write(hw, port, PHY_MARV_INT_MASK, PHY_M_DEF_MSK); > > netif_carrier_on(sky2->netdev);
| |