diff options
author | 2005-06-30 20:02:18 +0400 | |
---|---|---|
committer | 2005-06-30 22:29:48 -0700 | |
commit | eaf05be039cf5adfba5b1846452ce89646110fdb (patch) | |
tree | da81bed900c4a80f53379feb2de477fc4047792c /lib/swiotlb.c | |
parent | Merge master.kernel.org:/home/rmk/linux-2.6-arm (diff) | |
download | wireguard-linux-eaf05be039cf5adfba5b1846452ce89646110fdb.tar.xz wireguard-linux-eaf05be039cf5adfba5b1846452ce89646110fdb.zip |
[PATCH] alpha smp fix
As usual, the reason of this breakage is quite silly: in do_entIF, we
are checking for PS == 0 to see whether it was a kernel BUG() or
userspace trap.
It works, unless BUG() happens in interrupt - PS is not 0 in kernel mode
due to non-zero IPL, and the things get messed up horribly then. In
this particular case it was BUG_ON(!irqs_disabled()) triggered in
run_posix_cpu_timers(), so we ended up shooting "current" with the
bursts of one SIGTRAP and three SIGILLs on every timer tick. ;-)
Diffstat (limited to 'lib/swiotlb.c')
0 files changed, 0 insertions, 0 deletions