[SCSI] allow sleeping in ->eh_device_reset_handler()

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
diff --git a/drivers/scsi/megaraid.c b/drivers/scsi/megaraid.c
index 8d707b2..80b0c40 100644
--- a/drivers/scsi/megaraid.c
+++ b/drivers/scsi/megaraid.c
@@ -1938,7 +1938,7 @@
 
 
 static int
-megaraid_reset(Scsi_Cmnd *cmd)
+__megaraid_reset(Scsi_Cmnd *cmd)
 {
 	adapter_t	*adapter;
 	megacmd_t	mc;
@@ -1972,6 +1972,18 @@
 	return rval;
 }
 
+static int
+megaraid_reset(Scsi_Cmnd *cmd)
+{
+	adapter = (adapter_t *)cmd->device->host->hostdata;
+	int rc;
+
+	spin_lock_irq(&adapter->lock);
+	rc = __megaraid_reset(cmd);
+	spin_unlock_irq(&adapter->lock);
+
+	return rc;
+}
 
 
 /**