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

From: Jiri Pirko
Date: Mon Sep 17 2012 - 16:47:21 EST


Mon, Sep 17, 2012 at 06:12:14PM CEST, shemminger@xxxxxxxxxx wrote:
>On Mon, 17 Sep 2012 17:10:17 +0200
>Jiri Pirko <jiri@xxxxxxxxxxx> wrote:
>
>> 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 0410
>
>Rather 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")

>
>> 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.
--
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/