|
@@ -90,6 +90,7 @@ static void *__kmap_pgprot(struct page *page, unsigned long addr, pgprot_t prot)
|
|
|
|
|
|
BUG_ON(Page_dcache_dirty(page));
|
|
BUG_ON(Page_dcache_dirty(page));
|
|
|
|
|
|
|
|
+ preempt_disable();
|
|
pagefault_disable();
|
|
pagefault_disable();
|
|
idx = (addr >> PAGE_SHIFT) & (FIX_N_COLOURS - 1);
|
|
idx = (addr >> PAGE_SHIFT) & (FIX_N_COLOURS - 1);
|
|
idx += in_interrupt() ? FIX_N_COLOURS : 0;
|
|
idx += in_interrupt() ? FIX_N_COLOURS : 0;
|
|
@@ -152,6 +153,7 @@ void kunmap_coherent(void)
|
|
write_c0_entryhi(old_ctx);
|
|
write_c0_entryhi(old_ctx);
|
|
local_irq_restore(flags);
|
|
local_irq_restore(flags);
|
|
pagefault_enable();
|
|
pagefault_enable();
|
|
|
|
+ preempt_enable();
|
|
}
|
|
}
|
|
|
|
|
|
void copy_user_highpage(struct page *to, struct page *from,
|
|
void copy_user_highpage(struct page *to, struct page *from,
|