HI Marc & Stephen,

Most of engineers are out until New Year's Day.
 
LAN78xx driver uses irq_domain for phy interrupt, but smsc95xx uses polling.
Need to check flow again, you can try that comment out 
"lan78xx_setup_irq_domain" to
make dev->domain_data.phyirq = 0 which forces PHY polling.
 
Can you share if this is filed on RPI forum?
Also, it would be appreciated if you can create a ticket on Microchip site at
https://www.microchip.com/technical-support/hot-topics

Best Regards,
Woojung

> -----Original Message-----
> From: Marc Zyngier <[email protected]>
> Sent: Saturday, December 29, 2018 4:42 AM
> To: Stefan Wahren <[email protected]>
> Cc: Woojung Huh - C21699 <[email protected]>; Eric Anholt
> <[email protected]>; UNGLinuxDriver <[email protected]>;
> [email protected]; [email protected]
> Subject: Re: lan78xx: WARNING: irq 79 handler enabled interrupts
> 
> On Sat, 29 Dec 2018 00:02:57 +0000,
> Stefan Wahren <[email protected]> wrote:
> 
> Hi Stephan,
> 
> >
> > Hi,
> > while booting my Raspberry Pi 3 B+ with Linux 4.20 (arm64/defconfig)
> > i'm getting the following warning:
> >
> > [   11.005738] irq 79 handler irq_default_primary_handler+0x0/0x8 enabled
> interrupts
> 
> [...]
> 
> > This seems to come from the lan78xx driver, because i don't get this
> > warning on the RPI 3B (smsc95xx).
> >
> > What's the approach to fix this issue?  Is it just simply replace
> > spin_lock_irq() with spin_lock_irqsave() at the right places?
> 
> No, this is more pathological than that. The USB framework seems to be
> using threaded interrupts, which implies that interrupts are
> re-enabled as soon as it has run.
> 
> In turn, this driver is using handle_simple_irq() as its flow, which
> definitely expect interrupts to be disabled.
> 
> I have no insight in how this driver works, but I'm happy to help if
> someone explains the interrupt flow of this thing.
> 
>       M.
> 
> --
> Jazz is not dead, it just smell funny.

Reply via email to