From mboxrd@z Thu Jan 1 00:00:00 1970 From: Amit Virdi Date: Fri, 24 Feb 2012 17:53:10 +0530 Subject: [U-Boot] [PATCH 07/11] st_smi: Move status register read before modifying ctrl register In-Reply-To: <1330086194-21762-1-git-send-email-amit.virdi@st.com> References: <1330086194-21762-1-git-send-email-amit.virdi@st.com> Message-ID: <1330086194-21762-8-git-send-email-amit.virdi@st.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de From: Shiraz Hashim Signed-off-by: Shiraz Hashim Signed-off-by: Amit Virdi --- drivers/mtd/st_smi.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/mtd/st_smi.c b/drivers/mtd/st_smi.c index 7b4c6f3..eb902b2 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; } /* -- 1.7.2.2