Properly retry system bus access if busy error was detected.
This commit is contained in:
@@ -1913,6 +1913,7 @@ static int read_memory_bus_v1(struct target *target, target_addr_t address,
|
||||
dmi_write(target, DMI_SBCS, DMI_SBCS_SBBUSYERROR);
|
||||
next_address = sb_read_address(target);
|
||||
info->bus_master_read_delay += info->bus_master_read_delay / 10 + 1;
|
||||
continue;
|
||||
}
|
||||
|
||||
unsigned error = get_field(sbcs, DMI_SBCS_SBERROR);
|
||||
@@ -2351,6 +2352,7 @@ static int write_memory_bus_v1(struct target *target, target_addr_t address,
|
||||
dmi_write(target, DMI_SBCS, DMI_SBCS_SBBUSYERROR);
|
||||
next_address = sb_read_address(target);
|
||||
info->bus_master_write_delay += info->bus_master_write_delay / 10 + 1;
|
||||
continue;
|
||||
}
|
||||
|
||||
unsigned error = get_field(sbcs, DMI_SBCS_SBERROR);
|
||||
|
||||
Reference in New Issue
Block a user