Fixed timeouts, they were too small.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23485 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -250,7 +250,7 @@ ata_finish_command(ide_device_info *device, ata_request *request, ata_flags flag
|
|||||||
uint8 error;
|
uint8 error;
|
||||||
|
|
||||||
if (flags & ATA_WAIT_FINISH) {
|
if (flags & ATA_WAIT_FINISH) {
|
||||||
// wait for the command to finish current command (device no longer busy)
|
// wait for the device to finish current command (device no longer busy)
|
||||||
result = ata_wait(bus, 0, ide_status_bsy, 0, request->timeout);
|
result = ata_wait(bus, 0, ide_status_bsy, 0, request->timeout);
|
||||||
if (result != B_OK) {
|
if (result != B_OK) {
|
||||||
TRACE("ata_finish_command: timeout\n");
|
TRACE("ata_finish_command: timeout\n");
|
||||||
@@ -508,7 +508,7 @@ ata_dpc_PIO(ata_request *request)
|
|||||||
{
|
{
|
||||||
ide_device_info *device = request->device;
|
ide_device_info *device = request->device;
|
||||||
uint32 timeout = request->ccb->timeout > 0 ?
|
uint32 timeout = request->ccb->timeout > 0 ?
|
||||||
request->ccb->timeout * 1000 : IDE_STD_TIMEOUT;
|
request->ccb->timeout * 1000000 : IDE_STD_TIMEOUT;
|
||||||
|
|
||||||
SHOW_FLOW0(3, "");
|
SHOW_FLOW0(3, "");
|
||||||
|
|
||||||
@@ -779,7 +779,7 @@ ata_exec_read_write(ide_device_info *device, ata_request *request,
|
|||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
// if no timeout is specified, use standard
|
// if no timeout is specified, use standard
|
||||||
timeout = request->ccb->timeout > 0 ? request->ccb->timeout * 1000 : IDE_STD_TIMEOUT;
|
timeout = request->ccb->timeout > 0 ? request->ccb->timeout * 1000000 : IDE_STD_TIMEOUT;
|
||||||
|
|
||||||
if (!device->is_atapi)
|
if (!device->is_atapi)
|
||||||
flags |= ATA_DRDY_REQUIRED;
|
flags |= ATA_DRDY_REQUIRED;
|
||||||
@@ -815,7 +815,7 @@ ata_exec_pio_transfer(ata_request *request)
|
|||||||
ide_device_info *device = request->device;
|
ide_device_info *device = request->device;
|
||||||
ide_bus_info *bus = device->bus;
|
ide_bus_info *bus = device->bus;
|
||||||
bigtime_t timeout = request->ccb->timeout > 0 ?
|
bigtime_t timeout = request->ccb->timeout > 0 ?
|
||||||
request->ccb->timeout * 1000 : IDE_STD_TIMEOUT;
|
request->ccb->timeout * 1000000 : IDE_STD_TIMEOUT;
|
||||||
|
|
||||||
// FLOW("ata_exec_pio_transfer: length %d, left_blocks %d, left_sg_elem %d, cur_sg_ofs %d\n",
|
// FLOW("ata_exec_pio_transfer: length %d, left_blocks %d, left_sg_elem %d, cur_sg_ofs %d\n",
|
||||||
// request->ccb->data_length, device->left_blocks, device->left_sg_elem, device->cur_sg_ofs);
|
// request->ccb->data_length, device->left_blocks, device->left_sg_elem, device->cur_sg_ofs);
|
||||||
|
|||||||
@@ -104,7 +104,7 @@ packet_dpc(ata_request *request)
|
|||||||
ide_bus_info *bus = device->bus;
|
ide_bus_info *bus = device->bus;
|
||||||
int status;
|
int status;
|
||||||
uint32 timeout = request->ccb->timeout > 0 ?
|
uint32 timeout = request->ccb->timeout > 0 ?
|
||||||
request->ccb->timeout : IDE_STD_TIMEOUT;
|
request->ccb->timeout * 1000000 : IDE_STD_TIMEOUT;
|
||||||
|
|
||||||
SHOW_FLOW0(3, "");
|
SHOW_FLOW0(3, "");
|
||||||
|
|
||||||
@@ -422,7 +422,7 @@ send_packet(ide_device_info *device, ata_request *request, bool write)
|
|||||||
start_dma_wait(device, request);
|
start_dma_wait(device, request);
|
||||||
} else {
|
} else {
|
||||||
uint32 timeout = request->ccb->timeout > 0 ?
|
uint32 timeout = request->ccb->timeout > 0 ?
|
||||||
request->ccb->timeout : IDE_STD_TIMEOUT;
|
request->ccb->timeout * 1000000 : IDE_STD_TIMEOUT;
|
||||||
|
|
||||||
start_waiting(bus, timeout, ide_state_async_waiting);
|
start_waiting(bus, timeout, ide_state_async_waiting);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user