The MSS in the transmit engine only has to change if TSO mtu changes. This
means less commands to the chip when mixing TSO and regular data.

Signed-off-by: Stephen Hemminger <[EMAIL PROTECTED]>
--- sky2.orig/drivers/net/sky2.c        2006-08-28 10:00:07.000000000 -0700
+++ sky2/drivers/net/sky2.c     2006-08-28 10:00:08.000000000 -0700
@@ -1244,15 +1244,15 @@
                mss += ((skb->h.th->doff - 5) * 4);     /* TCP options */
                mss += (skb->nh.iph->ihl * 4) + sizeof(struct tcphdr);
                mss += ETH_HLEN;
-       }
 
-       if (mss != sky2->tx_last_mss) {
-               le = get_tx_le(sky2);
-               le->tx.tso.size = cpu_to_le16(mss);
-               le->tx.tso.rsvd = 0;
-               le->opcode = OP_LRGLEN | HW_OWNER;
-               le->ctrl = 0;
-               sky2->tx_last_mss = mss;
+               if (mss != sky2->tx_last_mss) {
+                       le = get_tx_le(sky2);
+                       le->tx.tso.size = cpu_to_le16(mss);
+                       le->tx.tso.rsvd = 0;
+                       le->opcode = OP_LRGLEN | HW_OWNER;
+                       le->ctrl = 0;
+                       sky2->tx_last_mss = mss;
+               }
        }
 
        ctrl = 0;
@@ -1320,7 +1320,7 @@
                le->opcode = OP_BUFFER | HW_OWNER;
 
                fre = sky2->tx_ring
-                   + RING_NEXT((re - sky2->tx_ring) + i, TX_RING_SIZE);
+                       + RING_NEXT((re - sky2->tx_ring) + i, TX_RING_SIZE);
                pci_unmap_addr_set(fre, mapaddr, mapping);
        }
 

--
Stephen Hemminger <[EMAIL PROTECTED]>

-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to