[patch 06/14] e1000: disable TSO on the 82544 with slab debugging
From: Arjan van de Ven <hidden>
Date: 2006-12-15 10:00:59
Subject: e1000: disable TSO on the 82544 with slab debugging From: Jesse Brandeburg <redacted> CONFIG_DEBUG_SLAB changes alignments of the data structures the slab allocators return. These break certain workarounds for TSO on the 82544. Since DEBUG_SLAB is relatively rare and not used for performance sensitive cases, the simplest fix is to disable TSO in this special situation. Signed-off-by: Jesse Brandeburg <redacted> Signed-off-by: Auke Kok <redacted> Signed-off-by: Arjan van de Ven <redacted> --- drivers/net/e1000/e1000_main.c | 6 ++++++ 1 file changed, 6 insertions(+) Index: linux-2.6/drivers/net/e1000/e1000_main.c ===================================================================
--- linux-2.6.orig/drivers/net/e1000/e1000_main.c
+++ linux-2.6/drivers/net/e1000/e1000_main.c@@ -911,6 +911,12 @@ e1000_probe(struct pci_dev *pdev, (adapter->hw.mac_type != e1000_82547)) netdev->features |= NETIF_F_TSO; +#ifdef CONFIG_DEBUG_SLAB + /* 82544's work arounds do not play nicely with DEBUG SLAB */ + if (adapter->hw.mac_type == e1000_82544) + netdev->features &= ~NETIF_F_TSO; +#endif + #ifdef NETIF_F_TSO6 if (adapter->hw.mac_type > e1000_82547_rev_2) netdev->features |= NETIF_F_TSO6;