summaryrefslogtreecommitdiffstats
path: root/dist-bin
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2018-06-12 11:38:05 +1000
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2018-06-12 11:38:05 +1000
commit1e0f2bb69f73b87e49aa15ba00d60a18736bc0b6 (patch)
treea434c5021a148fe5c7c38889f2c2cc904ffc2a32 /dist-bin
parent8028b238dd950e62ddd4c2336c7aac1e1a01400e (diff)
downloadcf-fsi-1e0f2bb69f73b87e49aa15ba00d60a18736bc0b6.tar.gz
cf-fsi-1e0f2bb69f73b87e49aa15ba00d60a18736bc0b6.zip
Fix interrupt race
The current sequence is possible in the main command loop and in the arbitration sequence: - STOP enables interrupt and stops execution - Interrupt occurs (stale from previous command) - No command (or arbitration response) - Command is written - Interrupt occurs again, is taken, does nothing - STOP executes, doesn't wake up We need to ensure that we only take the interrupt on STOP, so we need to re-mask after every STOP. (We could alternatively modify the SR in the interrupt stack to return from the handler with IRQs disabled but this is easier). Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'dist-bin')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud