diff options
author | Christoph Hellwig <hch@infradead.org> | 2011-04-04 09:42:41 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2011-05-01 11:23:54 -0400 |
commit | aeaeb5cec5a5477b392e627883fdb46d8a5dcc1f (patch) | |
tree | d5e7f02ff78c30bf4a67afa8227bef6ca4c1a9c9 | |
parent | a7c44d4ad147d54f041ba3885cc28549da72f55a (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>
-rw-r--r-- | drivers/message/fusion/mptscsih.c | 8 |
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 | } |