On Thu, 28 May 2009 02:52:19 +0800, Wu Zhangjin <wuzhangjin@xxxxxxxxx> wrote: > diff --git a/arch/mips/power/hibernate.S b/arch/mips/power/hibernate.S > index 9dbe48e..1f06fd5 100644 > --- a/arch/mips/power/hibernate.S > +++ b/arch/mips/power/hibernate.S ... > @@ -39,6 +47,16 @@ LEAF(swsusp_arch_resume) > bne t1, t3, 1b > PTR_L t0, PBE_NEXT(t0) > bnez t0, 0b > + /* flush caches to make sure context is in memory */ > + PTR_LA t1, flush_cache_all > + PTR_L t0, 0(t1) > + jalr t0 > + nop flush_cache_all is cache_noop on r4k. Maybe __flush_cache_all ? Also, you can write this like: PTR_L t0, flush_cache_all jalr t0 The nop just after the jalr is not needed since or are in "reorder" mode here. --- Atsushi Nemoto