if (err)
                goto err_gone;
 
-       /* Get interrupts. EMAC irq is mandatory, WOL irq is optional */
+       /* Get interrupts. EMAC irq is mandatory */
        dev->emac_irq = irq_of_parse_and_map(np, 0);
-       dev->wol_irq = irq_of_parse_and_map(np, 1);
        if (!dev->emac_irq) {
                printk(KERN_ERR "%pOF: Can't map main interrupt\n", np);
                err = -ENODEV;
        if (!dev->emacp) {
                dev_err(&ofdev->dev, "can't map device registers");
                err = -ENOMEM;
-               goto err_irq_unmap;
+               goto err_gone;
        }
 
        /* Wait for dependent devices */
        err = emac_wait_deps(dev);
        if (err)
-               goto err_irq_unmap;
+               goto err_gone;
        dev->mal = platform_get_drvdata(dev->mal_dev);
        if (dev->mdio_dev != NULL)
                dev->mdio_instance = platform_get_drvdata(dev->mdio_dev);
        mal_unregister_commac(dev->mal, &dev->commac);
  err_rel_deps:
        emac_put_deps(dev);
- err_irq_unmap:
-       if (dev->wol_irq)
-               irq_dispose_mapping(dev->wol_irq);
  err_gone:
        if (blist)
                *blist = NULL;
 
        mal_unregister_commac(dev->mal, &dev->commac);
        emac_put_deps(dev);
-
-       if (dev->wol_irq)
-               irq_dispose_mapping(dev->wol_irq);
 }
 
 /* XXX Features in here should be replaced by properties... */