diff options
author | Jeff Garzik <jgarzik@pobox.com> | 2005-05-28 07:54:40 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-06-17 13:04:55 -0400 |
commit | 8fa728a26886f56a9ee10a44fea0ddda301d21c3 (patch) | |
tree | 105ead5c90057400abae0c8aa9e2b5ba1818c327 /drivers/message/fusion | |
parent | 3471c288036bf0835a82d0b1bbce2002f6e68390 (diff) |
[SCSI] allow sleeping in ->eh_abort_handler()
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/message/fusion')
-rw-r--r-- | drivers/message/fusion/mptscsih.c | 5 |
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 | ||