aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/message
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/message')
-rw-r--r--drivers/message/fusion/mptscsih.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/drivers/message/fusion/mptscsih.c b/drivers/message/fusion/mptscsih.c
index 90a1dff7eb8..7bd4c0fc23c 100644
--- a/drivers/message/fusion/mptscsih.c
+++ b/drivers/message/fusion/mptscsih.c
@@ -1723,6 +1723,7 @@ mptscsih_get_tm_timeout(MPT_ADAPTER *ioc)
1723 case FC: 1723 case FC:
1724 return 40; 1724 return 40;
1725 case SAS: 1725 case SAS:
1726 return 30;
1726 case SPI: 1727 case SPI:
1727 default: 1728 default:
1728 return 10; 1729 return 10;
@@ -1772,7 +1773,7 @@ mptscsih_abort(struct scsi_cmnd * SCpnt)
1772 ioc->name, SCpnt)); 1773 ioc->name, SCpnt));
1773 SCpnt->result = DID_NO_CONNECT << 16; 1774 SCpnt->result = DID_NO_CONNECT << 16;
1774 SCpnt->scsi_done(SCpnt); 1775 SCpnt->scsi_done(SCpnt);
1775 retval = 0; 1776 retval = SUCCESS;
1776 goto out; 1777 goto out;
1777 } 1778 }
1778 1779
@@ -1787,6 +1788,17 @@ mptscsih_abort(struct scsi_cmnd * SCpnt)
1787 goto out; 1788 goto out;
1788 } 1789 }
1789 1790
1791 /* Task aborts are not supported for volumes.
1792 */
1793 if (vdevice->vtarget->raidVolume) {
1794 dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT
1795 "task abort: raid volume (sc=%p)\n",
1796 ioc->name, SCpnt));
1797 SCpnt->result = DID_RESET << 16;
1798 retval = FAILED;
1799 goto out;
1800 }
1801
1790 /* Find this command 1802 /* Find this command
1791 */ 1803 */
1792 if ((scpnt_idx = SCPNT_TO_LOOKUP_IDX(ioc, SCpnt)) < 0) { 1804 if ((scpnt_idx = SCPNT_TO_LOOKUP_IDX(ioc, SCpnt)) < 0) {