IDE soft reset should also reset ATAPI devices. Should fix at least some 'Device failed to request command' errors.
This commit is contained in:
parent
de177759f7
commit
9a49a75eaf
8 changed files with 52 additions and 0 deletions
18
src/scsi.c
18
src/scsi.c
|
|
@ -374,3 +374,21 @@ void scsi_bus_close(scsi_bus_t *bus)
|
|||
bus->devices[c]->close(bus->device_data[c]);
|
||||
}
|
||||
}
|
||||
|
||||
void scsi_bus_reset(scsi_bus_t *bus)
|
||||
{
|
||||
int c;
|
||||
|
||||
bus->state = STATE_IDLE;
|
||||
bus->clear_req = 0;
|
||||
bus->change_state_delay = 0;
|
||||
bus->new_req_delay = 0;
|
||||
bus->bus_in = bus->bus_out = 0;
|
||||
bus->command_pos = 0;
|
||||
|
||||
for (c = 0; c < 8; c++)
|
||||
{
|
||||
if (bus->device_data[c] && bus->devices[c]->reset)
|
||||
bus->devices[c]->reset(bus->device_data[c]);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue