After writing data to flash space, next instruction is checking if flash
controller is busy writing to the flash memory. Memory barrier is required here
to avoid transaction re-ordering for data write and busy status check.
Signed-off-by: Vikas Manocha <vikas.manocha@st.com>
        /* To make things simple use byte writes only */
        for (i = 0; i < cnt; i++) {
                *(uchar *)(addr + i) = src[i];
+               /*  avoid re-ordering flash data write and busy status
+                *  check as flash memory space attributes are generally Normal
+                */
+               mb();
                while (readl(&STM32_FLASH->sr) & STM32_FLASH_SR_BSY)
                        ;
        }