Re: [PATCH v2] gianfar: Fall back to software tcp/udp checksum on oldercontrollers
From: Scott Wood <hidden>
Date: 2011-01-28 16:57:28
Also in:
netdev
From: Scott Wood <hidden>
Date: 2011-01-28 16:57:28
Also in:
netdev
On Fri, 28 Jan 2011 09:10:46 +0000 David Laight [off-list ref] wrote:
quoted
+ if (unlikely(gfar_has_errata(priv, GFAR_ERRATA_12) + && ((unsigned long)fcb % 0x20) > 0x18)) {You need to check the generated code, but I think you need: if (unlikely(gfar_has_errata(priv, GFAR_ERRATA_12)) && unlikely(((unsigned long)fcb % 0x20) > 0x18)) ie unlikely() around both the primitive comparisons.
Is the first condition actually unlikely? If you've got affected hardware, you'll hit it every time. If packets with the problematic alignment are rare, seems like it'd be better to check that first. -Scott