For the link state interrupt, we used a dummy non-threaded irq handler, which had the same implementation as the generic irq_default_primary_handler() function. Give up on using our own irq handler and let the kernel use the generic one instead. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@xxxxxxx> --- drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.c b/drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.c index ac1a750..beb5959 100644 --- a/drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.c +++ b/drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.c @@ -2317,11 +2317,6 @@ static int poll_link_state(void *arg) return 0; } -static irqreturn_t dpni_irq0_handler(int irq_num, void *arg) -{ - return IRQ_WAKE_THREAD; -} - static irqreturn_t dpni_irq0_handler_thread(int irq_num, void *arg) { u32 status = ~0; @@ -2356,8 +2351,7 @@ static int setup_irqs(struct fsl_mc_device *ls_dev) irq = ls_dev->irqs[0]; err = devm_request_threaded_irq(&ls_dev->dev, irq->msi_desc->irq, - dpni_irq0_handler, - dpni_irq0_handler_thread, + NULL, dpni_irq0_handler_thread, IRQF_NO_SUSPEND | IRQF_ONESHOT, dev_name(&ls_dev->dev), &ls_dev->dev); if (err < 0) { -- 2.7.4 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel