diff options
author | 2012-03-05 10:55:04 +1100 | |
---|---|---|
committer | 2012-03-09 10:55:18 +1100 | |
commit | 9424fabf8617c15e18a5ffd29bc3bcfa36620473 (patch) | |
tree | 6ce26cef57e7a3b60507b823191afed84d3f36a4 /drivers/i2c/algos/i2c-algo-bit.c | |
parent | powerpc: Fix register clobbering when accumulating stolen time (diff) | |
download | wireguard-linux-9424fabf8617c15e18a5ffd29bc3bcfa36620473.tar.xz wireguard-linux-9424fabf8617c15e18a5ffd29bc3bcfa36620473.zip |
powerpc: Fix 64-bit BookE FP unavailable exceptions
We were using CR0.EQ after EXCEPTION_COMMON, hoping it still
contained whether we came from userspace or kernel space.
However, under some circumstances, EXCEPTION_COMMON will
call C code and clobber non-volatile registers, so we really
need to re-load the previous MSR from the stackframe and
re-test.
While there, invert the condition to make the fast path more
obvious and remove the BUG_OPCODE which was a debugging
leftover and call .ret_from_except as we should.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'drivers/i2c/algos/i2c-algo-bit.c')
0 files changed, 0 insertions, 0 deletions