diff options
| author | Matthew Wilcox <[email protected]> | 2008-11-20 21:09:33 +0000 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2008-11-20 21:17:40 +0000 |
| commit | 0ca4b6b00113b064c080d26d803d0d7c80fb5dc8 (patch) | |
| tree | 69e25f61bf252f2db0c0d01244555f90ad48aaf1 /lib/debugobjects.c | |
| parent | SUNRPC: Fix a performance regression in the RPC authentication code (diff) | |
| download | kernel-0ca4b6b00113b064c080d26d803d0d7c80fb5dc8.tar.gz kernel-0ca4b6b00113b064c080d26d803d0d7c80fb5dc8.zip | |
x86: Fix interrupt leak due to migration
When we migrate an interrupt from one CPU to another, we set the
move_in_progress flag and clean up the vectors later once they're not
being used. If you're unlucky and call destroy_irq() before the vectors
become un-used, the move_in_progress flag is never cleared, which causes
the interrupt to become unusable.
This was discovered by Jesse Brandeburg for whom it manifested as an
MSI-X device refusing to use MSI-X mode when the driver was unloaded
and reloaded repeatedly.
Signed-off-by: Matthew Wilcox <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'lib/debugobjects.c')
0 files changed, 0 insertions, 0 deletions
