--- /dev/null
+From: Divy Le Ray <divy@chelsio.com>
+Date: Thu, 5 Feb 2009 00:31:39 +0000 (-0800)
+Subject: cxgb3: Fix lro switch
+X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Fdavem%2Fnet-2.6.git;a=commitdiff_plain;h=65ab8385b67854792e89267907f9fcb27e779f95
+
+cxgb3: Fix lro switch
+
+The LRO switch is always set to 1 in the rx processing loop.
+It breaks the accelerated iSCSI receive traffic.
+Fix its computation.
+
+Signed-off-by: Divy Le Ray <divy@chelsio.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Acked-by: John Jolly <jjolly@suse.de>
+---
+
+---
+ drivers/net/cxgb3/sge.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+--- a/drivers/net/cxgb3/sge.c
++++ b/drivers/net/cxgb3/sge.c
+@@ -2270,8 +2270,7 @@ no_mem:
+ } else if ((len = ntohl(r->len_cq)) != 0) {
+ struct sge_fl *fl;
+
+- if (eth)
+- lro = qs->lro_enabled && is_eth_tcp(rss_hi);
++ lro &= eth && is_eth_tcp(rss_hi);
+
+ fl = (len & F_RSPD_FLQ) ? &qs->fl[1] : &qs->fl[0];
+ if (fl->use_pages) {