From: Shiraz Hashim Date: Mon, 7 May 2012 07:30:24 +0000 (+0530) Subject: st_smi: Move status register read before modifying ctrl register X-Git-Tag: v2012.07-rc1~11^2~47 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=a59c7b37b908639f9daa7fe50d4646b3947e2d62;p=u-boot st_smi: Move status register read before modifying ctrl register Signed-off-by: Shiraz Hashim Signed-off-by: Amit Virdi Signed-off-by: Stefan Roese --- diff --git a/drivers/mtd/st_smi.c b/drivers/mtd/st_smi.c index 088c7c7b7c..8c276036af 100644 --- a/drivers/mtd/st_smi.c +++ b/drivers/mtd/st_smi.c @@ -148,7 +148,7 @@ static ulong flash_get_size(ulong base, int banknum) */ static int smi_read_sr(int bank) { - u32 ctrlreg1; + u32 ctrlreg1, val; /* store the CTRL REG1 state */ ctrlreg1 = readl(&smicntl->smi_cr1); @@ -163,10 +163,12 @@ static int smi_read_sr(int bank) if (smi_wait_xfer_finish(XFER_FINISH_TOUT)) return -1; + val = readl(&smicntl->smi_sr); + /* Restore the CTRL REG1 state */ writel(ctrlreg1, &smicntl->smi_cr1); - return readl(&smicntl->smi_sr); + return val; } /*