> + /* Register MAC-PHY interrupt service routine */ > + ret = devm_request_irq(&spi->dev, spi->irq, macphy_irq, 0, "macphy int", > + tc6); It looks like using threaded interrupts could save a lot of complexity. Let the IRQ core handle all the tasklet stuff for you. Andrew