[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20120520.165546.1211013675964130504.davem@davemloft.net>
Date: Sun, 20 May 2012 16:55:46 -0400 (EDT)
From: David Miller <davem@...emloft.net>
To: cmetcalf@...era.com
Cc: bhutchings@...arflare.com, arnd@...db.de,
linux-kernel@...r.kernel.org, netdev@...r.kernel.org
Subject: Re: [PATCH v6] tilegx network driver: initial support
From: Chris Metcalf <cmetcalf@...era.com>
Date: Sun, 20 May 2012 00:42:03 -0400
> +static int tile_net_tx_tso(struct sk_buff *skb, struct net_device *dev)
This function has 80 lines of local variable declarations,
that's absolutely rediculous.
A comment and an empty line interspacing many of these local
variable declarations, also rediculous, and part of why it
is 80 lines long.
This function is completely unreadable, if I have to scan
multiple pages before I get to real code, the function is
broken.
You either need to compartmentalize these variable declarations
and/or write helper functions to spread it out.
This is some of the most unpleasant code I've had to review in quite
some time. Look at other networking drivers in the tree, such as
drivers/net/ethernet/broadcom/tg3.c, and try to mimick their style and
layout. Anything in your driver that is different is likely to get
you into trouble and make your driver hard to review.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists