On Mon, 8 Apr 2019 07:46:03 +0000 wrote: > > > > > > Per my understanding, the proper handling of PHY irq is to make use of > > PHY_IGNORE_INTERRUPT then call phy_mac_interrupt when > > INT_ENP_PHY_INT is triggered. > > > > Hi Jisheng, Hi > Thanks for the changes. > Is this warning specific to any linux version? In theory, no. I only tested 5.0, 4.20, both can reproduce this warning. > Why do you think PHY irq domain handling is not proper? + Marc The warning comes from calling generic_handle_irq() in usb tasklet context. This is not correct. Per my understanding, if there's chained irq, we could introduce extra irqdomain. E.g GIC <--> another irqchip controller <--> HW device But in lan78xx, this is not the case. There's no chained irq at all. In fact, there's a bit INT_ENP_PHY_INT in MAC's Interrupt Endpoint status word to indicate this is PHY interrupt. So this is the case PHY_IGNORE_INTERRUPT/phy_mac_interrupt intend for. irq experts knows irqdomain etc better, maybe they can provide more inputs > Maybe we can fix that rather removing complete IRQ domain code changes. > Also, Can you pls let us know how this changes fixed your warning. The patch removes the generic_handle_irq() calling from invalid context. Thanks