Revision 3d5fdba1842bdd2eef29364c660558cb4cbb3fe0 authored by Andrew Lunn on 07 December 2017, 00:05:56 UTC, committed by David S. Miller on 07 December 2017, 18:53:05 UTC
When removing the interrupt handling code, we should mask the generation of interrupts. The code however unmasked all interrupts. This can then cause a new interrupt. We then get into a deadlock where the interrupt thread is waiting to run, and the code continues, trying to remove the interrupt handler, which means waiting for the thread to complete. On a UP machine this deadlocks. Fix so we really mask interrupts in the hardware. The same error is made in the error path when install the interrupt handling code. Fixes: 3460a5770ce9 ("net: dsa: mv88e6xxx: Mask g1 interrupts and free interrupt") Signed-off-by: Andrew Lunn <andrew@lunn.ch> Reviewed-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent e46772a
File | Mode | Size |
---|---|---|
Makefile | -rw-r--r-- | 361 bytes |
compat.c | -rw-r--r-- | 2.2 KB |
ipc_sysctl.c | -rw-r--r-- | 5.4 KB |
mq_sysctl.c | -rw-r--r-- | 2.9 KB |
mqueue.c | -rw-r--r-- | 40.1 KB |
msg.c | -rw-r--r-- | 27.4 KB |
msgutil.c | -rw-r--r-- | 3.6 KB |
namespace.c | -rw-r--r-- | 4.8 KB |
sem.c | -rw-r--r-- | 58.1 KB |
shm.c | -rw-r--r-- | 38.6 KB |
syscall.c | -rw-r--r-- | 4.3 KB |
util.c | -rw-r--r-- | 22.2 KB |
util.h | -rw-r--r-- | 7.2 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...