From: Bruce Allan Date: Tue, 20 Mar 2012 03:48:08 +0000 (+0000) Subject: e1000e: suggest a possible workaround to a device hang on 82577/8 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=7c0427ee76dc96e3f67b90959581d0ba4a38aa63;p=linux-beck.git e1000e: suggest a possible workaround to a device hang on 82577/8 There is a known issue in the 82577 and 82578 device that can cause a hang in the device hardware during traffic stress; the current workaround in the driver is to disable transmit flow control by default. If the user enables transmit flow control and the device hang occurs, provide a message in the syslog suggesting to re-enable the workaround. Signed-off-by: Bruce Allan Tested-by: Jeff Pieper Signed-off-by: Jeff Kirsher --- diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c index c0e211b500cf..e86b524a5b15 100644 --- a/drivers/net/ethernet/intel/e1000e/netdev.c +++ b/drivers/net/ethernet/intel/e1000e/netdev.c @@ -1084,6 +1084,10 @@ static void e1000_print_hw_hang(struct work_struct *work) phy_1000t_status, phy_ext_status, pci_status); + + /* Suggest workaround for known h/w issue */ + if ((hw->mac.type == e1000_pchlan) && (er32(CTRL) & E1000_CTRL_TFCE)) + e_err("Try turning off Tx pause (flow control) via ethtool\n"); } /**