[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#391382: sky2 stops working 2.6.17 or ethernet driver crashes 2.6.18



Does this help.. it is going in next patchset.
--------------------------------------------------------

Subject: sky2: fix hangs on some chips

The driver inherited some bad setup code from sk98lin (vendor) driver that
causes receive FIFO probelms.  Just remove it.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>

--- sky2.orig/drivers/net/sky2.c	2006-10-06 15:53:52.000000000 -0700
+++ sky2/drivers/net/sky2.c	2006-10-06 15:57:47.000000000 -0700
@@ -689,15 +689,10 @@
 	sky2_write8(hw, SK_REG(port, TX_GMF_CTRL_T), GMF_RST_CLR);
 	sky2_write16(hw, SK_REG(port, TX_GMF_CTRL_T), GMF_OPER_ON);
 
-	if (hw->chip_id == CHIP_ID_YUKON_EC_U) {
-		sky2_write8(hw, SK_REG(port, RX_GMF_LP_THR), 768/8);
-		sky2_write8(hw, SK_REG(port, RX_GMF_UP_THR), 1024/8);
-		if (hw->dev[port]->mtu > ETH_DATA_LEN) {
-			/* set Tx GMAC FIFO Almost Empty Threshold */
-			sky2_write32(hw, SK_REG(port, TX_GMF_AE_THR), 0x180);
-			/* Disable Store & Forward mode for TX */
-			sky2_write32(hw, SK_REG(port, TX_GMF_CTRL_T), TX_STFW_DIS);
-		}
+	if (hw->chip_id == CHIP_ID_YUKON_EC_U
+	    && hw->dev[port]->mtu > ETH_DATA_LEN) {
+		/* Disable Store & Forward mode for TX */
+		sky2_write32(hw, SK_REG(port, TX_GMF_CTRL_T), TX_STFW_DIS);
 	}
 
 }



Reply to: