On 09/28/2016 06:38 AM, Sergei Shtylyov wrote: > On 09/28/2016 03:28 PM, Andrew Lunn wrote: > >>>>> The PHY interrupts are now handled in a threaded interrupt handler, >>>>> which can sleep. The work queue is no longer needed, phy_change() can >>>>> be called directly. Additionally, none of the callers of >>>>> phy_mac_interrupt() did so in interrupt context, so fully remove the >>>> >>>> I did intend to call it from interrupt context (from the ravb >>>> driver). >>>> >>>>> work queue, and document that phy_mac_interrupt() should not be called >>>>> in interrupt context. >>>> >>>> It was intentionally made callable from the interrupt context, I'd >>>> prefer >>>> if you wouldn't change that. >>> >>> OTOH, it's still not very handy to call because of the 'new_link' >>> parameter which I'm not sure I can provide... >> >> Hi Sergei >> >> If there is a need for it, i will leave the work queue and keep this >> code unchanged. > > Let's hear what Florian says...
The intent is really to have phy_mac_interrupt() callable from hard IRQ context, not that this matters really too much because link events already occur in the slow path, but it's nice to have that property retained IMHO. -- Florian