aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/message
diff options
context:
space:
mode:
authorJeff Garzik <jgarzik@pobox.com>2005-05-28 07:54:40 -0400
committerJeff Garzik <jgarzik@pobox.com>2005-06-17 13:04:55 -0400
commit8fa728a26886f56a9ee10a44fea0ddda301d21c3 (patch)
tree105ead5c90057400abae0c8aa9e2b5ba1818c327 /drivers/message
parent3471c288036bf0835a82d0b1bbce2002f6e68390 (diff)
[SCSI] allow sleeping in ->eh_abort_handler()
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/message')
-rw-r--r--drivers/message/fusion/mptscsih.c5
1 files changed, 0 insertions, 5 deletions
diff --git a/drivers/message/fusion/mptscsih.c b/drivers/message/fusion/mptscsih.c
index c8492034cfe7..6a5851c51a21 100644
--- a/drivers/message/fusion/mptscsih.c
+++ b/drivers/message/fusion/mptscsih.c
@@ -1707,7 +1707,6 @@ mptscsih_abort(struct scsi_cmnd * SCpnt)
1707 MPT_FRAME_HDR *mf; 1707 MPT_FRAME_HDR *mf;
1708 u32 ctx2abort; 1708 u32 ctx2abort;
1709 int scpnt_idx; 1709 int scpnt_idx;
1710 spinlock_t *host_lock = SCpnt->device->host->host_lock;
1711 1710
1712 /* If we can't locate our host adapter structure, return FAILED status. 1711 /* If we can't locate our host adapter structure, return FAILED status.
1713 */ 1712 */
@@ -1755,7 +1754,6 @@ mptscsih_abort(struct scsi_cmnd * SCpnt)
1755 1754
1756 hd->abortSCpnt = SCpnt; 1755 hd->abortSCpnt = SCpnt;
1757 1756
1758 spin_unlock_irq(host_lock);
1759 if (mptscsih_TMHandler(hd, MPI_SCSITASKMGMT_TASKTYPE_ABORT_TASK, 1757 if (mptscsih_TMHandler(hd, MPI_SCSITASKMGMT_TASKTYPE_ABORT_TASK,
1760 SCpnt->device->channel, SCpnt->device->id, SCpnt->device->lun, 1758 SCpnt->device->channel, SCpnt->device->id, SCpnt->device->lun,
1761 ctx2abort, 2 /* 2 second timeout */) 1759 ctx2abort, 2 /* 2 second timeout */)
@@ -1772,8 +1770,6 @@ mptscsih_abort(struct scsi_cmnd * SCpnt)
1772 hd->tmPending = 0; 1770 hd->tmPending = 0;
1773 hd->tmState = TM_STATE_NONE; 1771 hd->tmState = TM_STATE_NONE;
1774 1772
1775 spin_lock_irq(host_lock);
1776
1777 /* Unmap the DMA buffers, if any. */ 1773 /* Unmap the DMA buffers, if any. */
1778 if (SCpnt->use_sg) { 1774 if (SCpnt->use_sg) {
1779 pci_unmap_sg(ioc->pcidev, (struct scatterlist *) SCpnt->request_buffer, 1775 pci_unmap_sg(ioc->pcidev, (struct scatterlist *) SCpnt->request_buffer,
@@ -1789,7 +1785,6 @@ mptscsih_abort(struct scsi_cmnd * SCpnt)
1789 mpt_free_msg_frame(ioc, mf); 1785 mpt_free_msg_frame(ioc, mf);
1790 return FAILED; 1786 return FAILED;
1791 } 1787 }
1792 spin_lock_irq(host_lock);
1793 return SUCCESS; 1788 return SUCCESS;
1794} 1789}
1795 1790