mirror of
https://github.com/u-boot/u-boot.git
synced 2024-11-25 21:24:21 +08:00
st_smi: Fix smi read status
smi_read_sr fails sometimes because of TFF not getting set within assumed time. This condition may arise because of, for example, smi memory being in a erase mode. This fix is to enable reading the status register until timeout. Signed-off-by: Vipin Kumar <vipin.kumar@st.com> Signed-off-by: Amit Virdi <amit.virdi@st.com> Signed-off-by: Stefan Roese <sr@denx.de>
This commit is contained in:
parent
a59c7b37b9
commit
a5ad7ccd74
@ -188,9 +188,7 @@ static int smi_wait_till_ready(int bank, int timeout)
|
||||
but potentially three seconds (!) after page erase. */
|
||||
do {
|
||||
sr = smi_read_sr(bank);
|
||||
if (sr < 0)
|
||||
continue; /* try until timeout */
|
||||
else if (!(sr & WIP_BIT))
|
||||
if ((sr >= 0) && (!(sr & WIP_BIT)))
|
||||
return 0;
|
||||
|
||||
/* Try again after 1m-sec */
|
||||
@ -231,9 +229,7 @@ static int smi_write_enable(int bank)
|
||||
|
||||
do {
|
||||
sr = smi_read_sr(bank);
|
||||
if (sr < 0)
|
||||
break;
|
||||
else if (sr & (1 << (bank + WM_SHIFT)))
|
||||
if ((sr >= 0) && (sr & (1 << (bank + WM_SHIFT))))
|
||||
return 0;
|
||||
|
||||
/* Try again after 1m-sec */
|
||||
|
Loading…
Reference in New Issue
Block a user