mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-05 06:08:22 +00:00
[SCSI] fusion: setting timeouts in eh threads appropiatley for fc/sas/spi
On Mon, Jan 16, 2006 at 06:53:13PM -0700, Moore, Eric wrote: > The task managment request timeout in the eh threads was set > for U320 timing, which is between 2-5 seconds. > This is too small for FC and SAS. > According to the firmware engineers, Fibre needs to be 40 seconds > and SAS needs to be 10 seconds. The timeout selection should probably be done in a little helper instead of duplicated in a few places. Updated patch below. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
This commit is contained in:
parent
432b4c8b44
commit
d66c7a0f46
1 changed files with 17 additions and 3 deletions
|
@ -1718,6 +1718,20 @@ mptscsih_IssueTaskMgmt(MPT_SCSI_HOST *hd, u8 type, u8 channel, u8 target, u8 lun
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
mptscsih_get_tm_timeout(MPT_ADAPTER *ioc)
|
||||||
|
{
|
||||||
|
switch (ioc->bus_type) {
|
||||||
|
case FC:
|
||||||
|
return 40;
|
||||||
|
case SAS:
|
||||||
|
return 10;
|
||||||
|
case SPI:
|
||||||
|
default:
|
||||||
|
return 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
|
/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
|
||||||
/**
|
/**
|
||||||
* mptscsih_abort - Abort linux scsi_cmnd routine, new_eh variant
|
* mptscsih_abort - Abort linux scsi_cmnd routine, new_eh variant
|
||||||
|
@ -1789,7 +1803,7 @@ mptscsih_abort(struct scsi_cmnd * SCpnt)
|
||||||
vdev = SCpnt->device->hostdata;
|
vdev = SCpnt->device->hostdata;
|
||||||
retval = mptscsih_TMHandler(hd, MPI_SCSITASKMGMT_TASKTYPE_ABORT_TASK,
|
retval = mptscsih_TMHandler(hd, MPI_SCSITASKMGMT_TASKTYPE_ABORT_TASK,
|
||||||
vdev->bus_id, vdev->target_id, vdev->lun,
|
vdev->bus_id, vdev->target_id, vdev->lun,
|
||||||
ctx2abort, 2 /* 2 second timeout */);
|
ctx2abort, mptscsih_get_tm_timeout(ioc));
|
||||||
|
|
||||||
printk (KERN_WARNING MYNAM ": %s: task abort: %s (sc=%p)\n",
|
printk (KERN_WARNING MYNAM ": %s: task abort: %s (sc=%p)\n",
|
||||||
hd->ioc->name,
|
hd->ioc->name,
|
||||||
|
@ -1840,7 +1854,7 @@ mptscsih_dev_reset(struct scsi_cmnd * SCpnt)
|
||||||
vdev = SCpnt->device->hostdata;
|
vdev = SCpnt->device->hostdata;
|
||||||
retval = mptscsih_TMHandler(hd, MPI_SCSITASKMGMT_TASKTYPE_TARGET_RESET,
|
retval = mptscsih_TMHandler(hd, MPI_SCSITASKMGMT_TASKTYPE_TARGET_RESET,
|
||||||
vdev->bus_id, vdev->target_id,
|
vdev->bus_id, vdev->target_id,
|
||||||
0, 0, 5 /* 5 second timeout */);
|
0, 0, mptscsih_get_tm_timeout(hd->ioc));
|
||||||
|
|
||||||
printk (KERN_WARNING MYNAM ": %s: target reset: %s (sc=%p)\n",
|
printk (KERN_WARNING MYNAM ": %s: target reset: %s (sc=%p)\n",
|
||||||
hd->ioc->name,
|
hd->ioc->name,
|
||||||
|
@ -1890,7 +1904,7 @@ mptscsih_bus_reset(struct scsi_cmnd * SCpnt)
|
||||||
|
|
||||||
vdev = SCpnt->device->hostdata;
|
vdev = SCpnt->device->hostdata;
|
||||||
retval = mptscsih_TMHandler(hd, MPI_SCSITASKMGMT_TASKTYPE_RESET_BUS,
|
retval = mptscsih_TMHandler(hd, MPI_SCSITASKMGMT_TASKTYPE_RESET_BUS,
|
||||||
vdev->bus_id, 0, 0, 0, 5 /* 5 second timeout */);
|
vdev->bus_id, 0, 0, 0, mptscsih_get_tm_timeout(hd->ioc));
|
||||||
|
|
||||||
printk (KERN_WARNING MYNAM ": %s: bus reset: %s (sc=%p)\n",
|
printk (KERN_WARNING MYNAM ": %s: bus reset: %s (sc=%p)\n",
|
||||||
hd->ioc->name,
|
hd->ioc->name,
|
||||||
|
|
Loading…
Add table
Reference in a new issue