Re: [patch net] sky2: fix rx filter setup on link up

From: Jiri Pirko
Date: Wed Sep 19 2012 - 16:38:28 EST


Wed, Sep 19, 2012 at 10:22:48PM CEST, shemminger@xxxxxxxxxx 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);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/