Subject: Re: [PATCH] skge: restore multicast rx filter on resume

From: Stephen Hemminger <[email-masked]>
Date: Wed, 28 Dec 2011 09:27:14 -0800

On Wed, 28 Dec 2011 08:41:43 +0100
Florian Zumbiehl <[email-masked]> wrote:

> Hi,
> 
> > > > diff --git a/drivers/net/skge.c b/drivers/net/skge.c
> > > > index f4be5c7..cd968e5 100644
> > > > --- a/drivers/net/skge.c
> > > > +++ b/drivers/net/skge.c
> > > > @@ -4046,6 +4046,7 @@ static int skge_resume(struct device *dev)
> > > >  				dev_close(dev);
> > > >  				goto out;
> > > >  			}
> > > > +			skge_set_multicast(dev);
> > > >  		}
> > > >  	}
> > > >  out:
> > 
> > Right idea, but it needs to be done in a different spot to catch
> > all the other device restart cases like changing settings.
> 
> Roughly like this maybe? (Successfully tested with an MTU change ...)
> 
> Florian
> 
> ---------------------------------------------------------------------------
> skge: restore rx multicast filter on resume
> 
> Signed-off-by: Florian Zumbiehl <[email-masked]>
> 
> diff --git a/drivers/net/skge.c b/drivers/net/skge.c
> index f4be5c7..8f985a8 100644
> --- a/drivers/net/skge.c
> +++ b/drivers/net/skge.c
> @@ -2587,6 +2587,9 @@ static int skge_up(struct net_device *dev)
>  	spin_unlock_irq(&hw->hw_lock);
>  
>  	napi_enable(&skge->napi);
> +
> +	skge_set_multicast(dev);
> +
>  	return 0;
>  
>   free_rx_ring:

Looks good. That is (basically) the same as the patch I was testing.

Acked-by: Stephen Hemminger <[email-masked]>