[
  [
    "linux-2.6.23/drivers/net/phy/phy.c.orig", 
    "linux-2.6.23/drivers/net/phy/phy.c", 
    [
      "--- linux-2.6.23/drivers/net/phy/phy.c.orig", 
      "+++ linux-2.6.23/drivers/net/phy/phy.c", 
      "@@ -475,7 +475,7 @@", 
      "init_timer(&phydev->phy_timer);", 
      "phydev->phy_timer.function = &phy_timer;", 
      "phydev->phy_timer.data = (unsigned long) phydev;", 
      "-\tmod_timer(&phydev->phy_timer, jiffies + HZ);", 
      "+\tmod_timer(&phydev->phy_timer, jiffies + PHY_INIT_TIME);", 
      "}", 
      "", 
      "/**", 
      "@@ -781,6 +781,7 @@", 
      "struct phy_device *phydev = (struct phy_device *)data;", 
      "int needs_aneg = 0;", 
      "int err = 0;", 
      "+\tint use_fast_timer = 0;", 
      "", 
      "spin_lock(&phydev->lock);", 
      "", 
      "@@ -792,14 +793,17 @@", 
      "case PHY_STARTING:", 
      "case PHY_READY:", 
      "case PHY_PENDING:", 
      "+\t\t\tuse_fast_timer = 1;", 
      "break;", 
      "case PHY_UP:", 
      "+\t\t\tuse_fast_timer = 1;", 
      "needs_aneg = 1;", 
      "", 
      "phydev->link_timeout = PHY_AN_TIMEOUT;", 
      "", 
      "break;", 
      "case PHY_AN:", 
      "+\t\t\tuse_fast_timer = 1;", 
      "err = phy_read_status(phydev);", 
      "", 
      "if (err < 0)", 
      "@@ -854,15 +858,18 @@", 
      "}", 
      "break;", 
      "case PHY_NOLINK:", 
      "-\t\t\terr = phy_read_status(phydev);", 
      "-", 
      "-\t\t\tif (err)", 
      "-\t\t\t\tbreak;", 
      "-", 
      "-\t\t\tif (phydev->link) {", 
      "-\t\t\t\tphydev->state = PHY_RUNNING;", 
      "-\t\t\t\tnetif_carrier_on(phydev->attached_dev);", 
      "-\t\t\t\tphydev->adjust_link(phydev->attached_dev);", 
      "+\t\t\t/* Only read link status if we are polling */", 
      "+\t\t\tif (PHY_POLL == phydev->irq) {", 
      "+\t\t\t\terr = phy_read_status(phydev);", 
      "+", 
      "+\t\t\t\tif (err)", 
      "+\t\t\t\t\tbreak;", 
      "+", 
      "+\t\t\t\tif (phydev->link) {", 
      "+\t\t\t\t\tphydev->state = PHY_RUNNING;", 
      "+\t\t\t\t\tnetif_carrier_on(phydev->attached_dev);", 
      "+\t\t\t\t\tphydev->adjust_link(phydev->attached_dev);", 
      "+\t\t\t\t}", 
      "}", 
      "break;", 
      "case PHY_FORCING:", 
      "@@ -956,6 +963,11 @@", 
      "if (err < 0)", 
      "phy_error(phydev);", 
      "", 
      "-\tmod_timer(&phydev->phy_timer, jiffies + PHY_STATE_TIME * HZ);", 
      "+\t/* Configure a fast timer during initial states to speed up", 
      "+\t   the initialization. */", 
      "+\tif (use_fast_timer)", 
      "+\t\tmod_timer(&phydev->phy_timer, jiffies + PHY_INIT_TIME);", 
      "+\telse", 
      "+\t\tmod_timer(&phydev->phy_timer, jiffies + PHY_STATE_TIME);", 
      "}", 
      ""
    ]
  ]
]