mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-18 21:21:37 +00:00
cfi_flash: reset timer in flash status check
This patch adds reset_timer() before the flash status check waiting loop. Since the timer is basically running asynchronous to the cfi code, it is possible to call get_timer(0), then only a few _SYSCLK_ cycles later an interrupt is generated. This causes timeout even though much less time has elapsed. So the timer period registers should be reset before get_timer(0) is called. There is similar usage in nand_base.c. Signed-off-by: Thomas Chou <thomas@wytron.com.tw> Signed-off-by: Stefan Roese <sr@denx.de>
This commit is contained in:
parent
ffa37fc98d
commit
22d6c8faac
1 changed files with 2 additions and 0 deletions
|
@ -544,6 +544,7 @@ static int flash_status_check (flash_info_t * info, flash_sect_t sector,
|
|||
#endif
|
||||
|
||||
/* Wait for command completion */
|
||||
reset_timer();
|
||||
start = get_timer (0);
|
||||
while (flash_is_busy (info, sector)) {
|
||||
if (get_timer (start) > tout) {
|
||||
|
@ -630,6 +631,7 @@ static int flash_status_poll(flash_info_t *info, void *src, void *dst,
|
|||
#endif
|
||||
|
||||
/* Wait for command completion */
|
||||
reset_timer();
|
||||
start = get_timer(0);
|
||||
while (1) {
|
||||
switch (info->portwidth) {
|
||||
|
|
Loading…
Add table
Reference in a new issue