|
@@ -1970,8 +1970,7 @@ static int register_grp_irqs(struct gfar_priv_grp *grp)
|
|
|
/* Install our interrupt handlers for Error,
|
|
|
* Transmit, and Receive
|
|
|
*/
|
|
|
- err = request_irq(gfar_irq(grp, ER)->irq, gfar_error,
|
|
|
- IRQF_NO_SUSPEND,
|
|
|
+ err = request_irq(gfar_irq(grp, ER)->irq, gfar_error, 0,
|
|
|
gfar_irq(grp, ER)->name, grp);
|
|
|
if (err < 0) {
|
|
|
netif_err(priv, intr, dev, "Can't get IRQ %d\n",
|
|
@@ -1979,6 +1978,8 @@ static int register_grp_irqs(struct gfar_priv_grp *grp)
|
|
|
|
|
|
goto err_irq_fail;
|
|
|
}
|
|
|
+ enable_irq_wake(gfar_irq(grp, ER)->irq);
|
|
|
+
|
|
|
err = request_irq(gfar_irq(grp, TX)->irq, gfar_transmit, 0,
|
|
|
gfar_irq(grp, TX)->name, grp);
|
|
|
if (err < 0) {
|
|
@@ -1994,14 +1995,14 @@ static int register_grp_irqs(struct gfar_priv_grp *grp)
|
|
|
goto rx_irq_fail;
|
|
|
}
|
|
|
} else {
|
|
|
- err = request_irq(gfar_irq(grp, TX)->irq, gfar_interrupt,
|
|
|
- IRQF_NO_SUSPEND,
|
|
|
+ err = request_irq(gfar_irq(grp, TX)->irq, gfar_interrupt, 0,
|
|
|
gfar_irq(grp, TX)->name, grp);
|
|
|
if (err < 0) {
|
|
|
netif_err(priv, intr, dev, "Can't get IRQ %d\n",
|
|
|
gfar_irq(grp, TX)->irq);
|
|
|
goto err_irq_fail;
|
|
|
}
|
|
|
+ enable_irq_wake(gfar_irq(grp, TX)->irq);
|
|
|
}
|
|
|
|
|
|
return 0;
|