=========================================================================== linux/drivers/net/Kconfig =========================================================================== --- a/linux/drivers/net/Kconfig 2004-10-13 15:25:03.000000000 -0500 +++ b/linux/drivers/net/Kconfig 2004-10-13 15:22:39.000000000 -0500 @@ -2062,6 +2062,15 @@ endmenu +config UNALIGNED_EXPENSIVE + depends on TIGON3 + bool "Do aligned kernel buffers for PCI-X 5701 Cards" + help + This aligns kernel buffers for PCI-X 5701 + other cards do not have this problem. + This will help performance on 5701 cards + and not adversly affect any other cards. + # # 10 Gigabit Ethernet # =========================================================================== linux/drivers/net/tg3.c =========================================================================== --- a/linux/drivers/net/tg3.c 2004-10-13 15:25:03.000000000 -0500 +++ b/linux/drivers/net/tg3.c 2004-10-13 15:14:45.000000000 -0500 @@ -2352,7 +2352,12 @@ len = ((desc->idx_len & RXD_LEN_MASK) >> RXD_LEN_SHIFT) - 4; /* omit crc */ - if (len > RX_COPY_THRESHOLD) { + if (len > RX_COPY_THRESHOLD +#if defined(CONFIG_UNALIGNED_EXPENSIVE) + && tp->rx_offset == 2 +#endif +) +{ int skb_size; skb_size = tg3_alloc_rx_skb(tp, opaque_key,