]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commit
powerpc/fsl-booke: Fix problem with _tlbil_va being interrupted
authorKumar Gala <galak@kernel.crashing.org>
Sat, 13 Dec 2008 23:01:37 +0000 (17:01 -0600)
committerKumar Gala <galak@kernel.crashing.org>
Sat, 13 Dec 2008 23:02:47 +0000 (17:02 -0600)
commite5e774d8833de1a0037be2384efccadf16935675
treefaab96f099076670dd73eb85b19d532b0fd2efa6
parentab44f4627e2160cddbddbe8aa8b1d2b2e1559790
powerpc/fsl-booke: Fix problem with _tlbil_va being interrupted

An example calling sequence which we did see:

copy_user_highpage -> kmap_atomic -> flush_tlb_page -> _tlbil_va

We got interrupted after setting up the MAS registers before the
tlbwe and the interrupt handler that caused the interrupt also did
a kmap_atomic (ide code) and thus on returning from the interrupt
the MAS registers no longer contained the proper values.

Since we dont save/restore MAS registers for normal interrupts we
need to disable interrupts in _tlbil_va to ensure atomicity.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
arch/powerpc/kernel/misc_32.S