aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorKashyap, Desai <kashyap.desai@lsi.com>2010-03-18 09:53:19 -0400
committerJames Bottomley <James.Bottomley@suse.de>2010-04-11 10:24:11 -0400
commit69b2e9b4431798645e3d8fb51413db97c9845db1 (patch)
tree6f6c2b095fbaa4f3e87915c394604969948fa5d6 /drivers
parent08f5c5c23d52aa385ff304becffb0e0c37cedfe5 (diff)
[SCSI] mptfusion: Task abort is not supported for Volumes
1) corrected return value as SUCCESS instead of 0. 2) Added check in mptscsih_abort. mptfusion do not support task abort for Volumes. Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers')
-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 90a1dff7eb84..7bd4c0fc23cc 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) {