aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Brandeburg <jesse.brandeburg@intel.com>2008-07-08 18:51:22 -0400
committerJeff Garzik <jgarzik@redhat.com>2008-07-11 01:20:27 -0400
commita3dc3da02a7c29237ca4ce3ec17f0e1f87ff0a06 (patch)
tree427de9c92a8c12385629f6083755dd20d29939e6
parent4360386f7d849f521e8ef042f90dbca73e07509c (diff)
ixgb: leave room for extra hardware memory usage
ixgb hardware (not ixgbe) has a problem where it might dma past the end of a buffer in certain cases. leave 8 bytes extra room. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
-rw-r--r--drivers/net/ixgb/ixgb_main.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/ixgb/ixgb_main.c b/drivers/net/ixgb/ixgb_main.c
index ecd5252c4bf4..ec8bce154364 100644
--- a/drivers/net/ixgb/ixgb_main.c
+++ b/drivers/net/ixgb/ixgb_main.c
@@ -560,7 +560,7 @@ ixgb_sw_init(struct ixgb_adapter *adapter)
560 hw->subsystem_id = pdev->subsystem_device; 560 hw->subsystem_id = pdev->subsystem_device;
561 561
562 hw->max_frame_size = netdev->mtu + ENET_HEADER_SIZE + ENET_FCS_LENGTH; 562 hw->max_frame_size = netdev->mtu + ENET_HEADER_SIZE + ENET_FCS_LENGTH;
563 adapter->rx_buffer_len = hw->max_frame_size; 563 adapter->rx_buffer_len = hw->max_frame_size + 8; /* + 8 for errata */
564 564
565 if((hw->device_id == IXGB_DEVICE_ID_82597EX) 565 if((hw->device_id == IXGB_DEVICE_ID_82597EX)
566 || (hw->device_id == IXGB_DEVICE_ID_82597EX_CX4) 566 || (hw->device_id == IXGB_DEVICE_ID_82597EX_CX4)
@@ -1573,7 +1573,7 @@ ixgb_change_mtu(struct net_device *netdev, int new_mtu)
1573 return -EINVAL; 1573 return -EINVAL;
1574 } 1574 }
1575 1575
1576 adapter->rx_buffer_len = max_frame; 1576 adapter->rx_buffer_len = max_frame + 8; /* + 8 for errata */
1577 1577
1578 netdev->mtu = new_mtu; 1578 netdev->mtu = new_mtu;
1579 1579