Re: [patch net] sky2: fix rx filter setup on link up
From: Jiri Pirko <jiri@resnulli.us>
Date: 2012-09-17 20:47:31
Also in:
lkml
Mon, Sep 17, 2012 at 06:12:14PM CEST, shemminger@vyatta.com wrote:
On Mon, 17 Sep 2012 17:10:17 +0200 Jiri Pirko [off-list ref] wrote:quoted
In my case I have following problem. sky2_set_multicast() sets registers GM_MC_ADDR_H[1-4] correctly to: 0000 0800 0001 0410 However, when adapter gets link and sky2_link_up() is called, the values are for some reason different: 0000 0800 0016 0410Rather than papering over the problem, it would be better to trace back what is setting those registers and fix that code.
Yes, I did that. No code at sky2.[ch] is writing to this registers other than sky2_set_multicast() and sky2_gmac_reset() (I hooked on sky2_write*()). So I strongly believe this is a HW issue (maybe only issue of my revision "Yukon-2 EC chip revision 2")
quoted
This in my case prevents iface to be able to receive packets with dst mac 01:80:C2:00:00:02 (LACPDU dst mac), which I set up previously by SIOCADDMULTI. So remember computed rx_filter data and write it to GM_MC_ADDR_H[1-4] on link_up.Please do some more root cause analysis. Just save/restoring the registers is just a temporary workaround.