aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/message
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@infradead.org>2011-04-04 09:42:41 -0400
committerJames Bottomley <James.Bottomley@suse.de>2011-05-01 11:23:54 -0400
commitaeaeb5cec5a5477b392e627883fdb46d8a5dcc1f (patch)
treed5e7f02ff78c30bf4a67afa8227bef6ca4c1a9c9 /drivers/message
parenta7c44d4ad147d54f041ba3885cc28549da72f55a (diff)
[SCSI] fusion: do not check serial_number in the abort handler
The SCSI midlayer stops all command processing when in error handling, which means there is no chance for command reuse when the abort handler is called. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/message')
-rw-r--r--drivers/message/fusion/mptscsih.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/message/fusion/mptscsih.c b/drivers/message/fusion/mptscsih.c
index 0d9b82a44540..b871ab3dbacd 100644
--- a/drivers/message/fusion/mptscsih.c
+++ b/drivers/message/fusion/mptscsih.c
@@ -1773,7 +1773,6 @@ mptscsih_abort(struct scsi_cmnd * SCpnt)
1773 int scpnt_idx; 1773 int scpnt_idx;
1774 int retval; 1774 int retval;
1775 VirtDevice *vdevice; 1775 VirtDevice *vdevice;
1776 ulong sn = SCpnt->serial_number;
1777 MPT_ADAPTER *ioc; 1776 MPT_ADAPTER *ioc;
1778 1777
1779 /* If we can't locate our host adapter structure, return FAILED status. 1778 /* If we can't locate our host adapter structure, return FAILED status.
@@ -1859,8 +1858,7 @@ mptscsih_abort(struct scsi_cmnd * SCpnt)
1859 vdevice->vtarget->id, vdevice->lun, 1858 vdevice->vtarget->id, vdevice->lun,
1860 ctx2abort, mptscsih_get_tm_timeout(ioc)); 1859 ctx2abort, mptscsih_get_tm_timeout(ioc));
1861 1860
1862 if (SCPNT_TO_LOOKUP_IDX(ioc, SCpnt) == scpnt_idx && 1861 if (SCPNT_TO_LOOKUP_IDX(ioc, SCpnt) == scpnt_idx) {
1863 SCpnt->serial_number == sn) {
1864 dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT 1862 dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT
1865 "task abort: command still in active list! (sc=%p)\n", 1863 "task abort: command still in active list! (sc=%p)\n",
1866 ioc->name, SCpnt)); 1864 ioc->name, SCpnt));
@@ -1873,9 +1871,9 @@ mptscsih_abort(struct scsi_cmnd * SCpnt)
1873 } 1871 }
1874 1872
1875 out: 1873 out:
1876 printk(MYIOC_s_INFO_FMT "task abort: %s (rv=%04x) (sc=%p) (sn=%ld)\n", 1874 printk(MYIOC_s_INFO_FMT "task abort: %s (rv=%04x) (sc=%p)\n",
1877 ioc->name, ((retval == SUCCESS) ? "SUCCESS" : "FAILED"), retval, 1875 ioc->name, ((retval == SUCCESS) ? "SUCCESS" : "FAILED"), retval,
1878 SCpnt, SCpnt->serial_number); 1876 SCpnt);
1879 1877
1880 return retval; 1878 return retval;
1881} 1879}