Hi Dave,
When reopening the network device on ra7795/salvator-x, e.g. after a
DHCP timeout:
IP-Config: Reopening network devices...
genirq: Flags mismatch irq 139. 00000000 (eth0:ch24:emac) vs. 00000000 (
ravb e6800000.ethernet eth0: cannot request IRQ eth0:ch24:emac
IP-Config: Failed to open eth0
IP-Config: No network devices available
The "mismatch" is due to requesting an IRQ that is already in use,
while IRQF_PROBE_SHARED wasn't set.
However, the real cause is that ravb_close() doesn't release any of the
R-Car Gen3-specific secondary IRQs. Hence the following two patches add
the missing free_irq() calls to fix this.
As the code has been changed in net-next.git to support more interrupts,
and these weren't freed neither, I'm sending two patches:
1. The first patch applies to net.git,
2. The second patch applies to net-next.git.
If you prefer the second patch to be replaced by a version that applies
to net-next.git after you will have applied the first patch to net.git,
and merged net.git into net-next.git, just let me know.
Chances compared to the previous version:
- Add version against net.git,
- Clearly state which version the second patch is against,
- Add Fixes tags.
Thanks!
Geert Uytterhoeven (1):
ravb: Add missing free_irq() call to ravb_close()
ravb: Add missing free_irq() calls to ravb_close()
drivers/net/ethernet/renesas/ravb_main.c | 9 +++++++
1 files changed, 9 insertions(+)
--
1.9.1
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds