Re: [PATCH] net: lan78xx: fix "enabled interrupts" warninig
From: Jisheng Zhang
Date: Mon Apr 08 2019 - 04:07:49 EST
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