Subject: Re: [PATCH] ucc_geth: Add 8 bytes to max TX frame for VLANs

From: Jeff Garzik <[email-masked]>
Date: Sun, 02 Nov 2008 08:18:45 -0500

Andy Fleming wrote:
> From: Joakim Tjernlund <[email-masked]>
> 
> Creating a VLAN interface on top of ucc_geth adds 4 bytes
> to the frame and the HW controller is not prepared to
> TX a frame bigger than 1518 bytes which is 4 bytes too
> small for a full VLAN frame. Also add 4 extra bytes for future
> expansion.
> 
> Signed-off-by: Joakim Tjernlund <[email-masked]>
> ---
>  drivers/net/ucc_geth.c |    6 +++---
>  1 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/net/ucc_geth.c b/drivers/net/ucc_geth.c
> index 8f944e5..8fed4bb 100644
> --- a/drivers/net/ucc_geth.c
> +++ b/drivers/net/ucc_geth.c
> @@ -113,10 +113,10 @@ static struct ucc_geth_info ugeth_primary_info = {
>  	.maxGroupAddrInHash = 4,
>  	.maxIndAddrInHash = 4,
>  	.prel = 7,
> -	.maxFrameLength = 1518,
> +	.maxFrameLength = 1518+8, /* Add 4 bytes for VLAN tags and 4 extra bytes */
>  	.minFrameLength = 64,
> -	.maxD1Length = 1520,
> -	.maxD2Length = 1520,
> +	.maxD1Length = 1520+8,
> +	.maxD2Length = 1520+8,
>  	.vlantype = 0x8100,

Is this still needed?

I found this buried in my inbox.

If so, please resend with the "+8" converted into a named constant. 
Hardcoding lengths like this without named constants (or comments, on 
the other lines) tends to be an error-prone practice.

	Jeff