|
@@ -1723,6 +1723,7 @@ mptscsih_get_tm_timeout(MPT_ADAPTER *ioc)
|
|
|
case FC:
|
|
|
return 40;
|
|
|
case SAS:
|
|
|
+ return 30;
|
|
|
case SPI:
|
|
|
default:
|
|
|
return 10;
|
|
@@ -1772,7 +1773,7 @@ mptscsih_abort(struct scsi_cmnd * SCpnt)
|
|
|
ioc->name, SCpnt));
|
|
|
SCpnt->result = DID_NO_CONNECT << 16;
|
|
|
SCpnt->scsi_done(SCpnt);
|
|
|
- retval = 0;
|
|
|
+ retval = SUCCESS;
|
|
|
goto out;
|
|
|
}
|
|
|
|
|
@@ -1787,6 +1788,17 @@ mptscsih_abort(struct scsi_cmnd * SCpnt)
|
|
|
goto out;
|
|
|
}
|
|
|
|
|
|
+ /* Task aborts are not supported for volumes.
|
|
|
+ */
|
|
|
+ if (vdevice->vtarget->raidVolume) {
|
|
|
+ dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT
|
|
|
+ "task abort: raid volume (sc=%p)\n",
|
|
|
+ ioc->name, SCpnt));
|
|
|
+ SCpnt->result = DID_RESET << 16;
|
|
|
+ retval = FAILED;
|
|
|
+ goto out;
|
|
|
+ }
|
|
|
+
|
|
|
/* Find this command
|
|
|
*/
|
|
|
if ((scpnt_idx = SCPNT_TO_LOOKUP_IDX(ioc, SCpnt)) < 0) {
|