--- ixgb-1.0.82/src/ixgb_hw.c 2004-09-14 16:00:11.000000000 -0700 +++ ixgb-1.0.82.new/src/ixgb_hw.c 2004-10-20 13:04:49.653255344 -0700 @@ -83,6 +83,19 @@ ixgb_optics_reset(hw); } + /* restore frame size informtion. */ + IXGB_WRITE_REG(hw, MFS, hw->max_frame_size << IXGB_MFS_SHIFT); + + if(hw->max_frame_size > + IXGB_MAX_ENET_FRAME_SIZE_WITHOUT_FCS + ENET_FCS_LENGTH) { + uint32_t ctrl0 = IXGB_READ_REG(hw, CTRL0); + + if(!(ctrl0 & IXGB_CTRL0_JFE)) { + ctrl0 |= IXGB_CTRL0_JFE; + IXGB_WRITE_REG(hw, CTRL0, ctrl0); + } + } + return ctrl_reg; }