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

2012-10-08 Thread Mirko Lindner
On Thu, 2012-10-04 at 00:40 -0700, Jiri Pirko wrote: > Tue, Sep 18, 2012 at 02:38:52AM CEST, mlind...@marvell.com wrote: > >>Mon, Sep 17, 2012 at 06:12:14PM CEST, shemmin...@vyatta.com wrote: > >>>On Mon, 17 Sep 2012 17:10:17 +0200 > >>>Jiri Pirko wrote: > >>> > In my case I have following pr

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

2012-10-04 Thread Jiri Pirko
Tue, Sep 18, 2012 at 02:38:52AM CEST, mlind...@marvell.com wrote: >>Mon, Sep 17, 2012 at 06:12:14PM CEST, shemmin...@vyatta.com wrote: >>>On Mon, 17 Sep 2012 17:10:17 +0200 >>>Jiri Pirko wrote: >>> In my case I have following problem. sky2_set_multicast() sets registers GM_MC_ADDR_H[1-4]

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

2012-09-22 Thread Stephen Hemminger
On Mon, 17 Sep 2012 17:10:17 +0200 Jiri Pirko wrote: > + sky2_write_rx_filter(sky2, filter); > + memcpy(sky2->rx_filter, filter, sizeof(sky2->rx_filter)); This isn't safe since rx_filter might be referred to from interrupt context (ie link up PHY interrupt). Maybe using atomic64 would be

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

2012-09-19 Thread Stephen Hemminger
On Wed, 19 Sep 2012 22:38:25 +0200 Jiri Pirko wrote: > 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 Ugh, it would mean changing link_up

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

2012-09-19 Thread Jiri Pirko
Wed, Sep 19, 2012 at 10:22:48PM CEST, shemmin...@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 fr

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

2012-09-19 Thread Stephen Hemminger
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. --- a/drivers/net/ethernet/marvell/sky2.c 2012-09-18 21:12:01.156438131 -0700 +++ b/drivers/net/ethernet/marvell/sky2.c 201

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

2012-09-18 Thread David Miller
From: Stephen Hemminger Date: Mon, 17 Sep 2012 14:15:07 -0700 > Are you sure it isn't IPv6 or something else setting additional mulitcast > addresses. You may need to instrument the set_multicast call. I'm confident in Jiri's analysis and patch and it's clear the hardware is doing this on it's o

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

2012-09-17 Thread Jiri Pirko
Tue, Sep 18, 2012 at 02:38:52AM CEST, mlind...@marvell.com wrote: >>Mon, Sep 17, 2012 at 06:12:14PM CEST, shemmin...@vyatta.com wrote: >>>On Mon, 17 Sep 2012 17:10:17 +0200 >>>Jiri Pirko wrote: >>> In my case I have following problem. sky2_set_multicast() sets registers GM_MC_ADDR_H[1-4]

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

2012-09-17 Thread Jiri Pirko
Mon, Sep 17, 2012 at 11:15:07PM CEST, shemmin...@vyatta.com wrote: >On Mon, 17 Sep 2012 22:47:24 +0200 >Jiri Pirko wrote: > >> Mon, Sep 17, 2012 at 06:12:14PM CEST, shemmin...@vyatta.com wrote: >> >On Mon, 17 Sep 2012 17:10:17 +0200 >> >Jiri Pirko wrote: >> > >> >> In my case I have following pro

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

2012-09-17 Thread Mirko Lindner
>Mon, Sep 17, 2012 at 06:12:14PM CEST, shemmin...@vyatta.com wrote: >>On Mon, 17 Sep 2012 17:10:17 +0200 >>Jiri Pirko wrote: >> >>> In my case I have following problem. sky2_set_multicast() sets registers >>> GM_MC_ADDR_H[1-4] correctly to: >>> 0800 0001 0410 >>> However, when adapter gets li

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

2012-09-17 Thread Stephen Hemminger
On Mon, 17 Sep 2012 22:47:24 +0200 Jiri Pirko wrote: > Mon, Sep 17, 2012 at 06:12:14PM CEST, shemmin...@vyatta.com wrote: > >On Mon, 17 Sep 2012 17:10:17 +0200 > >Jiri Pirko wrote: > > > >> In my case I have following problem. sky2_set_multicast() sets registers > >> GM_MC_ADDR_H[1-4] correctly

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

2012-09-17 Thread Jiri Pirko
Mon, Sep 17, 2012 at 06:12:14PM CEST, shemmin...@vyatta.com wrote: >On Mon, 17 Sep 2012 17:10:17 +0200 >Jiri Pirko wrote: > >> In my case I have following problem. sky2_set_multicast() sets registers >> GM_MC_ADDR_H[1-4] correctly to: >> 0800 0001 0410 >> However, when adapter gets link and s

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

2012-09-17 Thread Stephen Hemminger
On Mon, 17 Sep 2012 17:10:17 +0200 Jiri Pirko wrote: > In my case I have following problem. sky2_set_multicast() sets registers > GM_MC_ADDR_H[1-4] correctly to: > 0800 0001 0410 > However, when adapter gets link and sky2_link_up() is called, the values > are for some reason different: > 000

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

2012-09-17 Thread Jiri Pirko
In my case I have following problem. sky2_set_multicast() sets registers GM_MC_ADDR_H[1-4] correctly to: 0800 0001 0410 However, when adapter gets link and sky2_link_up() is called, the values are for some reason different: 0800 0016 0410 This in my case prevents iface to be able to recei