e1000: FIX: Disable Packet Split for non jumbo frames
authorJesse Brandeburg <jesse.brandeburg@intel.com>
Tue, 24 Oct 2006 21:46:01 +0000 (14:46 -0700)
committerAuke Kok <juke-jan.h.kok@intel.com>
Tue, 24 Oct 2006 21:46:01 +0000 (14:46 -0700)
Allocations using alloc_page are taking too long for normal MTU, so
use LPE only for jumbo frames.

Signed-off-bu: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
drivers/net/e1000/e1000_main.c

index fb83082c4f7591d49afbf2ead7a9fe740838e98b..7362e1240178244fbf2892c5f51abf4caac0bbba 100644 (file)
@@ -1808,9 +1808,11 @@ e1000_setup_rctl(struct e1000_adapter *adapter)
         * followed by the page buffers.  Therefore, skb->data is
         * sized to hold the largest protocol header.
         */
+       /* allocations using alloc_page take too long for regular MTU
+        * so only enable packet split for jumbo frames */
        pages = PAGE_USE_COUNT(adapter->netdev->mtu);
-       if ((adapter->hw.mac_type > e1000_82547_rev_2) && (pages <= 3) &&
-           PAGE_SIZE <= 16384)
+       if ((adapter->hw.mac_type >= e1000_82571) && (pages <= 3) &&
+           PAGE_SIZE <= 16384 && (rctl & E1000_RCTL_LPE))
                adapter->rx_ps_pages = pages;
        else
                adapter->rx_ps_pages = 0;