RE: lan78xx: WARNING: irq 79 handler enabled interrupts
From: <Woojung.Huh@microchip.com>
Date: 2018-12-30 03:25:33
Also in:
netdev
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 <redacted> Sent: Saturday, December 29, 2018 4:42 AM To: Stefan Wahren <redacted> Cc: Woojung Huh - C21699 <Woojung.Huh@microchip.com>; Eric Anholt [off-list ref]; UNGLinuxDriver [off-list ref]; netdev@vger.kernel.org; linux-arm-kernel@lists.infradead.org Subject: Re: lan78xx: WARNING: irq 79 handler enabled interrupts On Sat, 29 Dec 2018 00:02:57 +0000, Stefan Wahren [off-list ref] wrote: Hi Stephan,quoted
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 enabledinterrupts [...]quoted
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.
_______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel