[
  [
    "linux-2.6.23/drivers/net/phy/phy_device.c.orig", 
    "linux-2.6.23/drivers/net/phy/phy_device.c", 
    [
      "--- linux-2.6.23/drivers/net/phy/phy_device.c.orig", 
      "+++ linux-2.6.23/drivers/net/phy/phy_device.c", 
      "@@ -161,10 +161,20 @@", 
      "", 
      "phy_prepare_link(phydev, handler);", 
      "", 
      "+\t/* Make sure higher levels (i.e. Ethtool) returns link", 
      "+\t   down before the PHY has been properly initialized. */", 
      "+\tnetif_carrier_off(phydev->attached_dev);", 
      "+", 
      "phy_start_machine(phydev, NULL);", 
      "", 
      "if (phydev->irq > 0)", 
      "phy_start_interrupts(phydev);", 
      "+\telse", 
      "+\t\t/* Make sure phy interrupts are used. Please verify", 
      "+\t\t   that a correct interrupt number is specified in", 
      "+\t\t   the setup functions of the board if this BUG has", 
      "+\t\t   been triggered. */", 
      "+\t\tBUG();", 
      "", 
      "return phydev;", 
      "}", 
      "@@ -671,8 +681,13 @@", 
      "phydev->drv = phydrv;", 
      "", 
      "/* Disable the interrupt if the PHY doesn't support it */", 
      "-\tif (!(phydrv->flags & PHY_HAS_INTERRUPT))", 
      "+\tif (!(phydrv->flags & PHY_HAS_INTERRUPT)) {", 
      "+\t\t/* Make sure phy interrupts are used. Please verify", 
      "+\t\t   that the phy is registered before the MAC if this", 
      "+\t\t   BUG has been triggered. */", 
      "+\t\tBUG();", 
      "phydev->irq = PHY_POLL;", 
      "+\t}", 
      "", 
      "spin_lock_bh(&phydev->lock);", 
      ""
    ]
  ]
]