aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/megaraid/megaraid_mbox.c
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/scsi/megaraid/megaraid_mbox.c
parent3471c288036bf0835a82d0b1bbce2002f6e68390 (diff)
[SCSI] allow sleeping in ->eh_abort_handler()
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/megaraid/megaraid_mbox.c')
-rw-r--r--drivers/scsi/megaraid/megaraid_mbox.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/drivers/scsi/megaraid/megaraid_mbox.c b/drivers/scsi/megaraid/megaraid_mbox.c
index 78768736077f..bec4406011aa 100644
--- a/drivers/scsi/megaraid/megaraid_mbox.c
+++ b/drivers/scsi/megaraid/megaraid_mbox.c
@@ -2566,7 +2566,7 @@ megaraid_mbox_dpc(unsigned long devp)
2566 * aborted. All the commands issued to the F/W must complete. 2566 * aborted. All the commands issued to the F/W must complete.
2567 **/ 2567 **/
2568static int 2568static int
2569megaraid_abort_handler(struct scsi_cmnd *scp) 2569__megaraid_abort_handler(struct scsi_cmnd *scp)
2570{ 2570{
2571 adapter_t *adapter; 2571 adapter_t *adapter;
2572 mraid_device_t *raid_dev; 2572 mraid_device_t *raid_dev;
@@ -2699,6 +2699,21 @@ megaraid_abort_handler(struct scsi_cmnd *scp)
2699 return FAILED; 2699 return FAILED;
2700} 2700}
2701 2701
2702static int
2703megaraid_abort_handler(struct scsi_cmnd *scp)
2704{
2705 adapter_t *adapter;
2706 int rc;
2707
2708 adapter = SCP2ADAPTER(scp);
2709
2710 spin_lock_irq(adapter->host_lock);
2711 rc = __megaraid_abort_handler(scp);
2712 spin_unlock_irq(adapter->host_lock);
2713
2714 return rc;
2715}
2716
2702 2717
2703/** 2718/**
2704 * megaraid_reset_handler - device reset hadler for mailbox based driver 2719 * megaraid_reset_handler - device reset hadler for mailbox based driver