[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5BF78BCE8D9BF14A83F836BD9E3916BA23C9E7@blrms.slti.sanyo.co.in>
Date: Mon, 27 Oct 2008 05:46:00 +0530
From: "Gururaja Hebbar K R" <gururajakr@...yo.co.in>
To: "Leonid Slobodchikov" <curvex@...il.com>, <netdev@...r.kernel.org>
Cc: <linux-arm-kernel@...ts.arm.linux.org.uk>
Subject: RE: [PATCH] at91_ether: multicast packet are not received due toincorrect setting of the multicast hashtable, kernel linux-2.6.17.3
Hi,
Looking at AT91RM9200 preliminary in page 605 & 619, the ETH_HSL & ETH_HSH registers are 32 bit in length. Together they give 64 bit Hash Address.
Kindly correct me if i am wrong.
TIA
Regards
Gururaja
> -----Original Message-----
> From: linux-arm-kernel-bounces@...ts.arm.linux.org.uk
> [mailto:linux-arm-kernel-bounces@...ts.arm.linux.org.uk] On
> Behalf Of Leonid Slobodchikov
> Sent: Sunday, October 26, 2008 10:31 AM
> To: netdev@...r.kernel.org
> Cc: linux-arm-kernel@...ts.arm.linux.org.uk
> Subject: [PATCH] at91_ether: multicast packet are not
> received due toincorrect setting of the multicast hashtable,
> kernel linux-2.6.17.3
>
> Hello,
>
> Multicast packets are not received by the Ethernet driver for
> the Atmel AT91RM9200. This is due to incorrect mc_filter
> array index evaluation in the at91ether_sethashtable
> function. The point is that AT91_EMAC_HSH and AT91_EMAC_HSL
> registers are 64-bit length. So when evaluating the index the
> bit number must be diveded at 64, which is 2^6, not 2^5.
> The below is a fix for that issue.
>
>
> --- drivers/net/arm/at91_ether.c.orig 2006-06-30
> 20:37:38.000000000 +0300
> +++ drivers/net/arm/at91_ether.c 2008-10-26
> 17:35:50.000000000 +0200
> @@ -520,7 +520,7 @@ static void at91ether_sethashtable(struc
> if (!curr) break; /* unexpected end of list */
>
> bitnr = hash_get_index(curr->dmi_addr);
> - mc_filter[bitnr >> 5] |= 1 << (bitnr & 31);
> + mc_filter[bitnr >> 6] |= 1 << (bitnr & 31);
> }
>
> at91_emac_write(AT91_EMAC_HSH, mc_filter[0]);
>
> Signed-off-by: Leonid V. Slobodchikov <curvex@...il.com>
>
> Best regards,
> Leonid Slobodchikov
>
Powered by blists - more mailing lists