]> git.baikalelectronics.ru Git - kernel.git/commit
net: dsa: mv88e6xxx: fix lockup on warm boot
authorRussell King <rmk+kernel@armlinux.org.uk>
Fri, 28 Feb 2020 19:39:41 +0000 (19:39 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sun, 1 Mar 2020 05:46:08 +0000 (21:46 -0800)
commit7756ff008400ca3c28898a7634f2227051e33beb
tree93db2b5faca8667bc026f2a234219300e39ec8cb
parent530fb1b183bcdb22dc61e5c05fc242df9e1772ab
net: dsa: mv88e6xxx: fix lockup on warm boot

If the switch is not hardware reset on a warm boot, interrupts can be
left enabled, and possibly pending. This will cause us to enter an
infinite loop trying to service an interrupt we are unable to handle,
thereby preventing the kernel from booting.

Ensure that the global 2 interrupt sources are disabled before we claim
the parent interrupt.

Observed on the ZII development revision B and C platforms with
reworked serdes support, and using reboot -f to reboot the platform.

Fixes: e32db79381fb ("net: dsa: mv88e6xxx: Implement interrupt support.")
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/mv88e6xxx/global2.c