]> git.openfabrics.org - ~shefty/rdma-dev.git/blobdiff - drivers/mtd/nand/orion_nand.c
[ARM] Orion NAND: Make asm volatile avoid GCC pushing ldrd out of the loop
[~shefty/rdma-dev.git] / drivers / mtd / nand / orion_nand.c
index 7ad972229db4317153dee8db1a008333e7c019e9..0d9d4bc9c762fe5caeab5770419f14dfe2c81403 100644 (file)
@@ -61,7 +61,7 @@ static void orion_nand_read_buf(struct mtd_info *mtd, uint8_t *buf, int len)
        buf64 = (uint64_t *)buf;
        while (i < len/8) {
                uint64_t x;
-               asm ("ldrd\t%0, [%1]" : "=r" (x) : "r" (io_base));
+               asm volatile ("ldrd\t%0, [%1]" : "=&r" (x) : "r" (io_base));
                buf64[i++] = x;
        }
        i *= 8;