On Tue, Apr 6, 2010 at 10:29 AM, Michael Zaidman <michael.zaid...@gmail.com> wrote:
> I thought that is what I actually do in this patch... Not quite. You're missing the memory barrier that the sync() function includes. You're doing this: __asm__ __volatile__("sync"); But the sync() macros does this: static inline void sync(void) { __asm__ __volatile__ ("sync" : : : "memory"); } The "memory" tells the compiler that this function is a memory barrier, which means it won't try to reorder any reads/writes *after* the "sync". -- Timur Tabi Linux kernel developer at Freescale _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot