cxgb3: Fix lro switch
authorDivy Le Ray <divy@chelsio.com>
Thu, 5 Feb 2009 00:31:39 +0000 (16:31 -0800)
committerDavid S. Miller <davem@davemloft.net>
Thu, 5 Feb 2009 00:31:39 +0000 (16:31 -0800)
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>
drivers/net/cxgb3/sge.c

index 379a132..d31791f 100644 (file)
@@ -2276,8 +2276,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) {