From: Jesse Brandeburg Date: Tue, 8 Jul 2008 22:51:22 +0000 (-0700) Subject: ixgb: leave room for extra hardware memory usage X-Git-Tag: v2.6.27-rc1~969^2~146^2~38 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=a3dc3da02a7c29237ca4ce3ec17f0e1f87ff0a06;p=~emulex%2Finfiniband.git 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 Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik --- diff --git a/drivers/net/ixgb/ixgb_main.c b/drivers/net/ixgb/ixgb_main.c index ecd5252c4bf..ec8bce15436 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) hw->subsystem_id = pdev->subsystem_device; hw->max_frame_size = netdev->mtu + ENET_HEADER_SIZE + ENET_FCS_LENGTH; - adapter->rx_buffer_len = hw->max_frame_size; + adapter->rx_buffer_len = hw->max_frame_size + 8; /* + 8 for errata */ if((hw->device_id == IXGB_DEVICE_ID_82597EX) || (hw->device_id == IXGB_DEVICE_ID_82597EX_CX4) @@ -1573,7 +1573,7 @@ ixgb_change_mtu(struct net_device *netdev, int new_mtu) return -EINVAL; } - adapter->rx_buffer_len = max_frame; + adapter->rx_buffer_len = max_frame + 8; /* + 8 for errata */ netdev->mtu = new_mtu;