Almost all of the functions defined in mptbase.{c,h} are only ever
called with sleepFlag == CAN_SLEEP, so this parameter is unnecessary.
Remove it.

I implemented this by fixing up a single function at a time to make sure
that each was being called from a non-atomic context.

One exception is the function WaitForDoorbellAck, which does use the
sleepFlag argument, so that one was left in place.

Signed-off-by: Alex Dewar <alex.dewa...@gmail.com>
---
 drivers/message/fusion/mptbase.c  | 380 +++++++++++-------------------
 drivers/message/fusion/mptbase.h  |   6 +-
 drivers/message/fusion/mptctl.c   |  12 +-
 drivers/message/fusion/mptsas.c   |   8 +-
 drivers/message/fusion/mptscsih.c |  13 +-
 drivers/message/fusion/mptspi.c   |   2 +-
 6 files changed, 160 insertions(+), 261 deletions(-)

diff --git a/drivers/message/fusion/mptbase.c b/drivers/message/fusion/mptbase.c
index 9903e9660a38..b7136257b455 100644
--- a/drivers/message/fusion/mptbase.c
+++ b/drivers/message/fusion/mptbase.c
@@ -159,29 +159,29 @@ static u8 last_drv_idx;
 static irqreturn_t mpt_interrupt(int irq, void *bus_id);
 static int     mptbase_reply(MPT_ADAPTER *ioc, MPT_FRAME_HDR *req,
                MPT_FRAME_HDR *reply);
-static int     mpt_handshake_req_reply_wait(MPT_ADAPTER *ioc, int reqBytes,
-                       u32 *req, int replyBytes, u16 *u16reply, int maxwait,
-                       int sleepFlag);
-static int     mpt_do_ioc_recovery(MPT_ADAPTER *ioc, u32 reason, int 
sleepFlag);
+static int mpt_handshake_req_reply_wait(MPT_ADAPTER *ioc, int reqBytes,
+                                       u32 *req, int replyBytes, u16 *u16reply,
+                                       int maxwait);
+static int mpt_do_ioc_recovery(MPT_ADAPTER *ioc, u32 reason);
 static void    mpt_detect_bound_ports(MPT_ADAPTER *ioc, struct pci_dev *pdev);
 static void    mpt_adapter_disable(MPT_ADAPTER *ioc);
 static void    mpt_adapter_dispose(MPT_ADAPTER *ioc);
 
 static void    MptDisplayIocCapabilities(MPT_ADAPTER *ioc);
-static int     MakeIocReady(MPT_ADAPTER *ioc, int force, int sleepFlag);
-static int     GetIocFacts(MPT_ADAPTER *ioc, int sleepFlag, int reason);
-static int     GetPortFacts(MPT_ADAPTER *ioc, int portnum, int sleepFlag);
-static int     SendIocInit(MPT_ADAPTER *ioc, int sleepFlag);
-static int     SendPortEnable(MPT_ADAPTER *ioc, int portnum, int sleepFlag);
-static int     mpt_do_upload(MPT_ADAPTER *ioc, int sleepFlag);
-static int     mpt_downloadboot(MPT_ADAPTER *ioc, MpiFwHeader_t *pFwHeader, 
int sleepFlag);
-static int     mpt_diag_reset(MPT_ADAPTER *ioc, int ignore, int sleepFlag);
-static int     KickStart(MPT_ADAPTER *ioc, int ignore, int sleepFlag);
-static int     SendIocReset(MPT_ADAPTER *ioc, u8 reset_type, int sleepFlag);
+static int     MakeIocReady(MPT_ADAPTER *ioc, int force);
+static int     GetIocFacts(MPT_ADAPTER *ioc, int reason);
+static int     GetPortFacts(MPT_ADAPTER *ioc, int portnum);
+static int     SendIocInit(MPT_ADAPTER *ioc);
+static int     SendPortEnable(MPT_ADAPTER *ioc, int portnum);
+static int     mpt_do_upload(MPT_ADAPTER *ioc);
+static int     mpt_downloadboot(MPT_ADAPTER *ioc, MpiFwHeader_t *pFwHeader);
+static int     mpt_diag_reset(MPT_ADAPTER *ioc, int ignore);
+static int     KickStart(MPT_ADAPTER *ioc, int ignore);
+static int     SendIocReset(MPT_ADAPTER *ioc, u8 reset_type);
 static int     PrimeIocFifos(MPT_ADAPTER *ioc);
 static int     WaitForDoorbellAck(MPT_ADAPTER *ioc, int howlong, int 
sleepFlag);
-static int     WaitForDoorbellInt(MPT_ADAPTER *ioc, int howlong, int 
sleepFlag);
-static int     WaitForDoorbellReply(MPT_ADAPTER *ioc, int howlong, int 
sleepFlag);
+static int     WaitForDoorbellInt(MPT_ADAPTER *ioc, int howlong);
+static int     WaitForDoorbellReply(MPT_ADAPTER *ioc, int howlong);
 static int     GetLanConfigPages(MPT_ADAPTER *ioc);
 static int     GetIoUnitPage2(MPT_ADAPTER *ioc);
 int            mptbase_sas_persist_operation(MPT_ADAPTER *ioc, u8 
persist_opcode);
@@ -190,10 +190,9 @@ static int mpt_readScsiDevicePageHeaders(MPT_ADAPTER *ioc, 
int portnum);
 static void    mpt_read_ioc_pg_1(MPT_ADAPTER *ioc);
 static void    mpt_read_ioc_pg_4(MPT_ADAPTER *ioc);
 static void    mpt_get_manufacturing_pg_0(MPT_ADAPTER *ioc);
-static int     SendEventNotification(MPT_ADAPTER *ioc, u8 EvSwitch,
-       int sleepFlag);
+static int     SendEventNotification(MPT_ADAPTER *ioc, u8 EvSwitch);
 static int     SendEventAck(MPT_ADAPTER *ioc, EventNotificationReply_t *evnp);
-static int     mpt_host_page_access_control(MPT_ADAPTER *ioc, u8 
access_control_value, int sleepFlag);
+static int     mpt_host_page_access_control(MPT_ADAPTER *ioc, u8 
access_control_value);
 static int     mpt_host_page_alloc(MPT_ADAPTER *ioc, pIOCInit_t ioc_init);
 
 #ifdef CONFIG_PROC_FS
@@ -404,7 +403,7 @@ mpt_fault_reset_work(struct work_struct *work)
                       ioc->name, ioc_raw_state & MPI_DOORBELL_DATA_MASK);
                printk(MYIOC_s_WARN_FMT "Issuing HardReset from %s!!\n",
                       ioc->name, __func__);
-               rc = mpt_HardResetHandler(ioc, CAN_SLEEP);
+               rc = mpt_HardResetHandler(ioc);
                printk(MYIOC_s_WARN_FMT "%s: HardReset: %s\n", ioc->name,
                       __func__, (rc == 0) ? "success" : "failed");
                ioc_raw_state = mpt_GetIocState(ioc, 0);
@@ -1170,7 +1169,6 @@ mpt_add_chain_64bit(void *pAddr, u8 next, u16 length, 
dma_addr_t dma_addr)
  *     @ioc: Pointer to MPT adapter structure
  *     @reqBytes: Size of the request in bytes
  *     @req: Pointer to MPT request frame
- *     @sleepFlag: Use schedule if CAN_SLEEP else use udelay.
  *
  *     This routine is used exclusively to send MptScsiTaskMgmt
  *     requests since they are required to be sent via doorbell handshake.
@@ -1181,7 +1179,7 @@ mpt_add_chain_64bit(void *pAddr, u8 next, u16 length, 
dma_addr_t dma_addr)
  *     Returns 0 for success, non-zero for failure.
  */
 int
-mpt_send_handshake_request(u8 cb_idx, MPT_ADAPTER *ioc, int reqBytes, u32 
*req, int sleepFlag)
+mpt_send_handshake_request(u8 cb_idx, MPT_ADAPTER *ioc, int reqBytes, u32 *req)
 {
        int     r = 0;
        u8      *req_as_bytes;
@@ -1212,7 +1210,7 @@ mpt_send_handshake_request(u8 cb_idx, MPT_ADAPTER *ioc, 
int reqBytes, u32 *req,
                         ((reqBytes/4)<<MPI_DOORBELL_ADD_DWORDS_SHIFT)));
 
        /* Wait for IOC doorbell int */
-       if ((ii = WaitForDoorbellInt(ioc, 5, sleepFlag)) < 0) {
+       if ((ii = WaitForDoorbellInt(ioc, 5)) < 0) {
                return ii;
        }
 
@@ -1225,7 +1223,7 @@ mpt_send_handshake_request(u8 cb_idx, MPT_ADAPTER *ioc, 
int reqBytes, u32 *req,
 
        CHIPREG_WRITE32(&ioc->chip->IntStatus, 0);
 
-       if ((r = WaitForDoorbellAck(ioc, 5, sleepFlag)) < 0) {
+       if ((r = WaitForDoorbellAck(ioc, 5, CAN_SLEEP)) < 0) {
                return -2;
        }
 
@@ -1239,13 +1237,13 @@ mpt_send_handshake_request(u8 cb_idx, MPT_ADAPTER *ioc, 
int reqBytes, u32 *req,
                        (req_as_bytes[(ii*4) + 2] << 16) |
                        (req_as_bytes[(ii*4) + 3] << 24));
                CHIPREG_WRITE32(&ioc->chip->Doorbell, word);
-               if ((r = WaitForDoorbellAck(ioc, 5, sleepFlag)) < 0) {
+               if ((r = WaitForDoorbellAck(ioc, 5, CAN_SLEEP)) < 0) {
                        r = -3;
                        break;
                }
        }
 
-       if (r >= 0 && WaitForDoorbellInt(ioc, 10, sleepFlag) >= 0)
+       if (r >= 0 && WaitForDoorbellInt(ioc, 10) >= 0)
                r = 0;
        else
                r = -4;
@@ -1261,7 +1259,6 @@ mpt_send_handshake_request(u8 cb_idx, MPT_ADAPTER *ioc, 
int reqBytes, u32 *req,
  * mpt_host_page_access_control - control the IOC's Host Page Buffer access
  * @ioc: Pointer to MPT adapter structure
  * @access_control_value: define bits below
- * @sleepFlag: Specifies whether the process can sleep
  *
  * Provides mechanism for the host driver to control the IOC's
  * Host Page Buffer access.
@@ -1276,7 +1273,7 @@ mpt_send_handshake_request(u8 cb_idx, MPT_ADAPTER *ioc, 
int reqBytes, u32 *req,
  */
 
 static int
-mpt_host_page_access_control(MPT_ADAPTER *ioc, u8 access_control_value, int 
sleepFlag)
+mpt_host_page_access_control(MPT_ADAPTER *ioc, u8 access_control_value)
 {
        int      r = 0;
 
@@ -1293,7 +1290,7 @@ mpt_host_page_access_control(MPT_ADAPTER *ioc, u8 
access_control_value, int slee
                 (access_control_value<<12)));
 
        /* Wait for IOC to clear Doorbell Status bit */
-       if ((r = WaitForDoorbellAck(ioc, 5, sleepFlag)) < 0) {
+       if ((r = WaitForDoorbellAck(ioc, 5, NO_SLEEP)) < 0) {
                return -2;
        }else
                return 0;
@@ -2005,8 +2002,7 @@ mpt_attach(struct pci_dev *pdev, const struct 
pci_device_id *id)
                goto out_remove_ioc;
        }
 
-       if ((r = mpt_do_ioc_recovery(ioc, MPT_HOSTEVENT_IOC_BRINGUP,
-           CAN_SLEEP)) != 0){
+       if ((r = mpt_do_ioc_recovery(ioc, MPT_HOSTEVENT_IOC_BRINGUP)) != 0) {
                printk(MYIOC_s_ERR_FMT "didn't initialize properly! (%d)\n",
                    ioc->name, r);
 
@@ -2158,7 +2154,7 @@ mpt_suspend(struct pci_dev *pdev, pm_message_t state)
            device_state);
 
        /* put ioc into READY_STATE */
-       if (SendIocReset(ioc, MPI_FUNCTION_IOC_MESSAGE_UNIT_RESET, CAN_SLEEP)) {
+       if (SendIocReset(ioc, MPI_FUNCTION_IOC_MESSAGE_UNIT_RESET)) {
                printk(MYIOC_s_ERR_FMT
                "pci-suspend:  IOC msg unit reset failed!\n", ioc->name);
        }
@@ -2235,7 +2231,7 @@ mpt_resume(struct pci_dev *pdev)
        if (ioc->bus_type == SAS && (pdev->device ==
            MPI_MANUFACTPAGE_DEVID_SAS1068E || pdev->device ==
            MPI_MANUFACTPAGE_DEVID_SAS1064E)) {
-               if (KickStart(ioc, 1, CAN_SLEEP) < 0) {
+               if (KickStart(ioc, 1) < 0) {
                        printk(MYIOC_s_WARN_FMT "pci-resume: Cannot recover\n",
                            ioc->name);
                        goto out;
@@ -2244,8 +2240,7 @@ mpt_resume(struct pci_dev *pdev)
 
        /* bring ioc to operational state */
        printk(MYIOC_s_INFO_FMT "Sending mpt_do_ioc_recovery\n", ioc->name);
-       recovery_state = mpt_do_ioc_recovery(ioc, MPT_HOSTEVENT_IOC_BRINGUP,
-                                                CAN_SLEEP);
+       recovery_state = mpt_do_ioc_recovery(ioc, MPT_HOSTEVENT_IOC_BRINGUP);
        if (recovery_state != 0)
                printk(MYIOC_s_WARN_FMT "pci-resume: Cannot recover, "
                    "error:[%x]\n", ioc->name, recovery_state);
@@ -2278,7 +2273,6 @@ mpt_signal_reset(u8 index, MPT_ADAPTER *ioc, int 
reset_phase)
  *     mpt_do_ioc_recovery - Initialize or recover MPT adapter.
  *     @ioc: Pointer to MPT adapter structure
  *     @reason: Event word / reason
- *     @sleepFlag: Use schedule if CAN_SLEEP else use udelay.
  *
  *     This routine performs all the steps necessary to bring the IOC
  *     to a OPERATIONAL state.
@@ -2296,7 +2290,7 @@ mpt_signal_reset(u8 index, MPT_ADAPTER *ioc, int 
reset_phase)
  *             -6 if failed to upload firmware
  */
 static int
-mpt_do_ioc_recovery(MPT_ADAPTER *ioc, u32 reason, int sleepFlag)
+mpt_do_ioc_recovery(MPT_ADAPTER *ioc, u32 reason)
 {
        int      hard_reset_done = 0;
        int      alt_ioc_ready = 0;
@@ -2332,7 +2326,7 @@ mpt_do_ioc_recovery(MPT_ADAPTER *ioc, u32 reason, int 
sleepFlag)
        if (reason == MPT_HOSTEVENT_IOC_BRINGUP)
                hard = 0;
 
-       if ((hard_reset_done = MakeIocReady(ioc, hard, sleepFlag)) < 0) {
+       if ((hard_reset_done = MakeIocReady(ioc, hard)) < 0) {
                if (hard_reset_done == -4) {
                        printk(MYIOC_s_WARN_FMT "Owned by PEER..skipping!\n",
                            ioc->name);
@@ -2357,7 +2351,7 @@ mpt_do_ioc_recovery(MPT_ADAPTER *ioc, u32 reason, int 
sleepFlag)
         * and 1 if a hard reset was performed.
         */
        if (hard_reset_done && reset_alt_ioc_active && ioc->alt_ioc) {
-               if ((rc = MakeIocReady(ioc->alt_ioc, 0, sleepFlag)) == 0)
+               if ((rc = MakeIocReady(ioc->alt_ioc, 0)) == 0)
                        alt_ioc_ready = 1;
                else
                        printk(MYIOC_s_WARN_FMT
@@ -2367,7 +2361,7 @@ mpt_do_ioc_recovery(MPT_ADAPTER *ioc, u32 reason, int 
sleepFlag)
 
        for (ii=0; ii<5; ii++) {
                /* Get IOC facts! Allow 5 retries */
-               if ((rc = GetIocFacts(ioc, sleepFlag, reason)) == 0)
+               if ((rc = GetIocFacts(ioc, reason)) == 0)
                        break;
        }
 
@@ -2381,13 +2375,13 @@ mpt_do_ioc_recovery(MPT_ADAPTER *ioc, u32 reason, int 
sleepFlag)
        }
 
        if (alt_ioc_ready) {
-               if ((rc = GetIocFacts(ioc->alt_ioc, sleepFlag, reason)) != 0) {
+               if ((rc = GetIocFacts(ioc->alt_ioc, reason)) != 0) {
                        dinitprintk(ioc, printk(MYIOC_s_DEBUG_FMT
                            "Initial Alt IocFacts failed rc=%x\n",
                            ioc->name, rc));
                        /* Retry - alt IOC was initialized once
                         */
-                       rc = GetIocFacts(ioc->alt_ioc, sleepFlag, reason);
+                       rc = GetIocFacts(ioc->alt_ioc, reason);
                }
                if (rc) {
                        dinitprintk(ioc, printk(MYIOC_s_DEBUG_FMT
@@ -2460,7 +2454,7 @@ mpt_do_ioc_recovery(MPT_ADAPTER *ioc, u32 reason, int 
sleepFlag)
         */
        dinitprintk(ioc, printk(MYIOC_s_INFO_FMT "SendIocInit\n",
            ioc->name));
-       if ((ret == 0) && ((rc = SendIocInit(ioc, sleepFlag)) != 0))
+       if ((ret == 0) && ((rc = SendIocInit(ioc)) != 0))
                ret = -4;
 // NEW!
        if (alt_ioc_ready && ((rc = PrimeIocFifos(ioc->alt_ioc)) != 0)) {
@@ -2472,7 +2466,7 @@ mpt_do_ioc_recovery(MPT_ADAPTER *ioc, u32 reason, int 
sleepFlag)
        }
 
        if (alt_ioc_ready) {
-               if ((rc = SendIocInit(ioc->alt_ioc, sleepFlag)) != 0) {
+               if ((rc = SendIocInit(ioc->alt_ioc)) != 0) {
                        alt_ioc_ready = 0;
                        reset_alt_ioc_active = 0;
                        printk(MYIOC_s_WARN_FMT
@@ -2489,7 +2483,7 @@ mpt_do_ioc_recovery(MPT_ADAPTER *ioc, u32 reason, int 
sleepFlag)
                        /* Controller is not operational, cannot do upload
                         */
                        if (ret == 0) {
-                               rc = mpt_do_upload(ioc, sleepFlag);
+                               rc = mpt_do_upload(ioc);
                                if (rc == 0) {
                                        if (ioc->alt_ioc && 
ioc->alt_ioc->cached_fw) {
                                                /*
@@ -2520,11 +2514,11 @@ mpt_do_ioc_recovery(MPT_ADAPTER *ioc, u32 reason, int 
sleepFlag)
                dinitprintk(ioc, printk(MYIOC_s_INFO_FMT
                        "SendEventNotification\n",
                    ioc->name));
-               ret = SendEventNotification(ioc, 1, sleepFlag); /* 1=Enable */
+               ret = SendEventNotification(ioc, 1);    /* 1=Enable */
        }
 
        if (ioc->alt_ioc && alt_ioc_ready && !ioc->alt_ioc->facts.EventState)
-               rc = SendEventNotification(ioc->alt_ioc, 1, sleepFlag);
+               rc = SendEventNotification(ioc->alt_ioc, 1);
 
        if (ret == 0) {
                /* Enable! (reply interrupt) */
@@ -2705,7 +2699,7 @@ mpt_adapter_disable(MPT_ADAPTER *ioc)
                ddlprintk(ioc, printk(MYIOC_s_DEBUG_FMT
                        "%s: Pushing FW onto adapter\n", __func__, ioc->name));
                if ((ret = mpt_downloadboot(ioc, (MpiFwHeader_t *)
-                   ioc->cached_fw, CAN_SLEEP)) < 0) {
+                   ioc->cached_fw)) < 0) {
                        printk(MYIOC_s_WARN_FMT
                            ": firmware downloadboot failure (%d)!\n",
                            ioc->name, ret);
@@ -2716,8 +2710,7 @@ mpt_adapter_disable(MPT_ADAPTER *ioc)
         * Put the controller into ready state (if its not already)
         */
        if (mpt_GetIocState(ioc, 1) != MPI_IOC_STATE_READY) {
-               if (!SendIocReset(ioc, MPI_FUNCTION_IOC_MESSAGE_UNIT_RESET,
-                   CAN_SLEEP)) {
+               if (!SendIocReset(ioc, MPI_FUNCTION_IOC_MESSAGE_UNIT_RESET)) {
                        if (mpt_GetIocState(ioc, 1) != MPI_IOC_STATE_READY)
                                printk(MYIOC_s_ERR_FMT "%s:  IOC msg unit "
                                    "reset failed to put ioc in ready state!\n",
@@ -2793,7 +2786,7 @@ mpt_adapter_disable(MPT_ADAPTER *ioc)
 
        if (ioc->HostPageBuffer != NULL) {
                if((ret = mpt_host_page_access_control(ioc,
-                   MPI_DB_HPBAC_FREE_BUFFER, NO_SLEEP)) != 0) {
+                   MPI_DB_HPBAC_FREE_BUFFER)) != 0) {
                        printk(MYIOC_s_ERR_FMT
                           ": %s: host page buffers free failed (%d)!\n",
                            ioc->name, __func__, ret);
@@ -2907,7 +2900,6 @@ MptDisplayIocCapabilities(MPT_ADAPTER *ioc)
  *     MakeIocReady - Get IOC to a READY state, using KickStart if needed.
  *     @ioc: Pointer to MPT_ADAPTER structure
  *     @force: Force hard KickStart of IOC
- *     @sleepFlag: Specifies whether the process can sleep
  *
  *     Returns:
  *              1 - DIAG reset and READY
@@ -2918,7 +2910,7 @@ MptDisplayIocCapabilities(MPT_ADAPTER *ioc)
  *             -4 - IOC owned by a PEER
  */
 static int
-MakeIocReady(MPT_ADAPTER *ioc, int force, int sleepFlag)
+MakeIocReady(MPT_ADAPTER *ioc, int force)
 {
        u32      ioc_state;
        int      statefault = 0;
@@ -2981,14 +2973,14 @@ MakeIocReady(MPT_ADAPTER *ioc, int force, int sleepFlag)
                        return -4;
                else {
                        if ((statefault == 0 ) && (force == 0)) {
-                               if ((r = SendIocReset(ioc, 
MPI_FUNCTION_IOC_MESSAGE_UNIT_RESET, sleepFlag)) == 0)
+                               if ((r = SendIocReset(ioc, 
MPI_FUNCTION_IOC_MESSAGE_UNIT_RESET)) == 0)
                                        return 0;
                        }
                        statefault = 3;
                }
        }
 
-       hard_reset_done = KickStart(ioc, statefault||force, sleepFlag);
+       hard_reset_done = KickStart(ioc, statefault||force);
        if (hard_reset_done < 0)
                return -1;
 
@@ -2996,7 +2988,7 @@ MakeIocReady(MPT_ADAPTER *ioc, int force, int sleepFlag)
         *  Loop here waiting for IOC to come READY.
         */
        ii = 0;
-       cntdn = ((sleepFlag == CAN_SLEEP) ? HZ : 1000) * 5;     /* 5 seconds */
+       cntdn = 5 * HZ; /* 5 seconds */
 
        while ((ioc_state = mpt_GetIocState(ioc, 1)) != MPI_IOC_STATE_READY) {
                if (ioc_state == MPI_IOC_STATE_OPERATIONAL) {
@@ -3004,7 +2996,7 @@ MakeIocReady(MPT_ADAPTER *ioc, int force, int sleepFlag)
                         *  BIOS or previous driver load left IOC in OP state.
                         *  Reset messaging FIFOs.
                         */
-                       if ((r = SendIocReset(ioc, 
MPI_FUNCTION_IOC_MESSAGE_UNIT_RESET, sleepFlag)) != 0) {
+                       if ((r = SendIocReset(ioc, 
MPI_FUNCTION_IOC_MESSAGE_UNIT_RESET)) != 0) {
                                printk(MYIOC_s_ERR_FMT "IOC msg unit reset 
failed!\n", ioc->name);
                                return -2;
                        }
@@ -3013,7 +3005,7 @@ MakeIocReady(MPT_ADAPTER *ioc, int force, int sleepFlag)
                         *  Something is wrong.  Try to get IOC back
                         *  to a known state.
                         */
-                       if ((r = SendIocReset(ioc, MPI_FUNCTION_IO_UNIT_RESET, 
sleepFlag)) != 0) {
+                       if ((r = SendIocReset(ioc, MPI_FUNCTION_IO_UNIT_RESET)) 
!= 0) {
                                printk(MYIOC_s_ERR_FMT "IO unit reset 
failed!\n", ioc->name);
                                return -3;
                        }
@@ -3027,11 +3019,7 @@ MakeIocReady(MPT_ADAPTER *ioc, int force, int sleepFlag)
                        return -ETIME;
                }
 
-               if (sleepFlag == CAN_SLEEP) {
-                       msleep(1);
-               } else {
-                       mdelay (1);     /* 1 msec delay */
-               }
+               msleep(1);
 
        }
 
@@ -3071,13 +3059,12 @@ mpt_GetIocState(MPT_ADAPTER *ioc, int cooked)
 /**
  *     GetIocFacts - Send IOCFacts request to MPT adapter.
  *     @ioc: Pointer to MPT_ADAPTER structure
- *     @sleepFlag: Specifies whether the process can sleep
  *     @reason: If recovery, only update facts.
  *
  *     Returns 0 for success, non-zero for failure.
  */
 static int
-GetIocFacts(MPT_ADAPTER *ioc, int sleepFlag, int reason)
+GetIocFacts(MPT_ADAPTER *ioc, int reason)
 {
        IOCFacts_t               get_facts;
        IOCFactsReply_t         *facts;
@@ -3116,8 +3103,8 @@ GetIocFacts(MPT_ADAPTER *ioc, int sleepFlag, int reason)
        /* No non-zero fields in the get_facts request are greater than
         * 1 byte in size, so we can just fire it off as is.
         */
-       r = mpt_handshake_req_reply_wait(ioc, req_sz, (u32*)&get_facts,
-                       reply_sz, (u16*)facts, 5 /*seconds*/, sleepFlag);
+       r = mpt_handshake_req_reply_wait(ioc, req_sz, (u32 *)&get_facts,
+                                        reply_sz, (u16 *)facts, 5);
        if (r != 0)
                return r;
 
@@ -3228,7 +3215,7 @@ GetIocFacts(MPT_ADAPTER *ioc, int sleepFlag, int reason)
                                ioc->name, ioc->req_sz, ioc->req_depth));
 
                        /* Get port facts! */
-                       if ( (r = GetPortFacts(ioc, 0, sleepFlag)) != 0 )
+                       if ( (r = GetPortFacts(ioc, 0)) != 0 )
                                return r;
                }
        } else {
@@ -3247,12 +3234,11 @@ GetIocFacts(MPT_ADAPTER *ioc, int sleepFlag, int reason)
  *     GetPortFacts - Send PortFacts request to MPT adapter.
  *     @ioc: Pointer to MPT_ADAPTER structure
  *     @portnum: Port number
- *     @sleepFlag: Specifies whether the process can sleep
  *
  *     Returns 0 for success, non-zero for failure.
  */
 static int
-GetPortFacts(MPT_ADAPTER *ioc, int portnum, int sleepFlag)
+GetPortFacts(MPT_ADAPTER *ioc, int portnum)
 {
        PortFacts_t              get_pfacts;
        PortFactsReply_t        *pfacts;
@@ -3288,8 +3274,8 @@ GetPortFacts(MPT_ADAPTER *ioc, int portnum, int sleepFlag)
        /* No non-zero fields in the get_pfacts request are greater than
         * 1 byte in size, so we can just fire it off as is.
         */
-       ii = mpt_handshake_req_reply_wait(ioc, req_sz, (u32*)&get_pfacts,
-                               reply_sz, (u16*)pfacts, 5 /*seconds*/, 
sleepFlag);
+       ii = mpt_handshake_req_reply_wait(ioc, req_sz, (u32 *)&get_pfacts,
+                                         reply_sz, (u16 *)pfacts, 5);
        if (ii != 0)
                return ii;
 
@@ -3328,14 +3314,13 @@ GetPortFacts(MPT_ADAPTER *ioc, int portnum, int 
sleepFlag)
 /**
  *     SendIocInit - Send IOCInit request to MPT adapter.
  *     @ioc: Pointer to MPT_ADAPTER structure
- *     @sleepFlag: Specifies whether the process can sleep
  *
  *     Send IOCInit followed by PortEnable to bring IOC to OPERATIONAL state.
  *
  *     Returns 0 for success, non-zero for failure.
  */
 static int
-SendIocInit(MPT_ADAPTER *ioc, int sleepFlag)
+SendIocInit(MPT_ADAPTER *ioc)
 {
        IOCInit_t                ioc_init;
        MPIDefaultReply_t        init_reply;
@@ -3398,8 +3383,10 @@ SendIocInit(MPT_ADAPTER *ioc, int sleepFlag)
        dhsprintk(ioc, printk(MYIOC_s_DEBUG_FMT "Sending IOCInit (req @ %p)\n",
                        ioc->name, &ioc_init));
 
-       r = mpt_handshake_req_reply_wait(ioc, sizeof(IOCInit_t), 
(u32*)&ioc_init,
-                               sizeof(MPIDefaultReply_t), (u16*)&init_reply, 
10 /*seconds*/, sleepFlag);
+       r = mpt_handshake_req_reply_wait(ioc, sizeof(IOCInit_t),
+                                        (u32 *)&ioc_init,
+                                        sizeof(MPIDefaultReply_t),
+                                        (u16 *)&init_reply, 10);
        if (r != 0) {
                printk(MYIOC_s_ERR_FMT "Sending IOCInit 
failed(%d)!\n",ioc->name, r);
                return r;
@@ -3412,7 +3399,7 @@ SendIocInit(MPT_ADAPTER *ioc, int sleepFlag)
        dhsprintk(ioc, printk(MYIOC_s_DEBUG_FMT "Sending PortEnable (req @ 
%p)\n",
                        ioc->name, &ioc_init));
 
-       if ((r = SendPortEnable(ioc, 0, sleepFlag)) != 0) {
+       if ((r = SendPortEnable(ioc, 0)) != 0) {
                printk(MYIOC_s_ERR_FMT "Sending PortEnable 
failed(%d)!\n",ioc->name, r);
                return r;
        }
@@ -3422,14 +3409,10 @@ SendIocInit(MPT_ADAPTER *ioc, int sleepFlag)
         *  LoopInit and TargetDiscovery!
         */
        count = 0;
-       cntdn = ((sleepFlag == CAN_SLEEP) ? HZ : 1000) * 60;    /* 60 seconds */
+       cntdn = 60 * HZ; /* 60 seconds */
        state = mpt_GetIocState(ioc, 1);
        while (state != MPI_IOC_STATE_OPERATIONAL && --cntdn) {
-               if (sleepFlag == CAN_SLEEP) {
-                       msleep(1);
-               } else {
-                       mdelay(1);
-               }
+               msleep(1);
 
                if (!cntdn) {
                        printk(MYIOC_s_ERR_FMT "Wait IOC_OP state 
timeout(%d)!\n",
@@ -3452,14 +3435,13 @@ SendIocInit(MPT_ADAPTER *ioc, int sleepFlag)
  *     SendPortEnable - Send PortEnable request to MPT adapter port.
  *     @ioc: Pointer to MPT_ADAPTER structure
  *     @portnum: Port number to enable
- *     @sleepFlag: Specifies whether the process can sleep
  *
  *     Send PortEnable to bring IOC to OPERATIONAL state.
  *
  *     Returns 0 for success, non-zero for failure.
  */
 static int
-SendPortEnable(MPT_ADAPTER *ioc, int portnum, int sleepFlag)
+SendPortEnable(MPT_ADAPTER *ioc, int portnum)
 {
        PortEnable_t             port_enable;
        MPIDefaultReply_t        reply_buf;
@@ -3487,12 +3469,14 @@ SendPortEnable(MPT_ADAPTER *ioc, int portnum, int 
sleepFlag)
         */
        if (ioc->ir_firmware || ioc->bus_type == SAS) {
                rc = mpt_handshake_req_reply_wait(ioc, req_sz,
-               (u32*)&port_enable, reply_sz, (u16*)&reply_buf,
-               300 /*seconds*/, sleepFlag);
+                                                 (u32 *)&port_enable,
+                                                 reply_sz, (u16 *)&reply_buf,
+                                                 300);
        } else {
                rc = mpt_handshake_req_reply_wait(ioc, req_sz,
-               (u32*)&port_enable, reply_sz, (u16*)&reply_buf,
-               30 /*seconds*/, sleepFlag);
+                                                 (u32 *)&port_enable,
+                                                 reply_sz, (u16 *)&reply_buf,
+                                                 30);
        }
        return rc;
 }
@@ -3564,7 +3548,6 @@ mpt_free_fw_memory(MPT_ADAPTER *ioc)
 /**
  *     mpt_do_upload - Construct and Send FWUpload request to MPT adapter port.
  *     @ioc: Pointer to MPT_ADAPTER structure
- *     @sleepFlag: Specifies whether the process can sleep
  *
  *     Returns 0 for success, >0 for handshake failure
  *             <0 for fw upload failure.
@@ -3575,7 +3558,7 @@ mpt_free_fw_memory(MPT_ADAPTER *ioc)
  *     IOC from running in degraded mode.
  */
 static int
-mpt_do_upload(MPT_ADAPTER *ioc, int sleepFlag)
+mpt_do_upload(MPT_ADAPTER *ioc)
 {
        u8                       reply[sizeof(FWUploadReply_t)];
        FWUpload_t              *prequest;
@@ -3596,8 +3579,7 @@ mpt_do_upload(MPT_ADAPTER *ioc, int sleepFlag)
        dinitprintk(ioc, printk(MYIOC_s_INFO_FMT ": FW Image  @ %p[%p], 
sz=%d[%x] bytes\n",
            ioc->name, ioc->cached_fw, (void *)(ulong)ioc->cached_fw_dma, sz, 
sz));
 
-       prequest = (sleepFlag == NO_SLEEP) ? kzalloc(ioc->req_sz, GFP_ATOMIC) :
-           kzalloc(ioc->req_sz, GFP_KERNEL);
+       prequest = kzalloc(ioc->req_sz, GFP_KERNEL);
        if (!prequest) {
                dinitprintk(ioc, printk(MYIOC_s_DEBUG_FMT "fw upload failed "
                    "while allocating memory \n", ioc->name));
@@ -3629,7 +3611,7 @@ mpt_do_upload(MPT_ADAPTER *ioc, int sleepFlag)
        DBG_DUMP_FW_REQUEST_FRAME(ioc, (u32 *)prequest);
 
        ii = mpt_handshake_req_reply_wait(ioc, request_size, (u32 *)prequest,
-           reply_sz, (u16 *)preply, 65 /*seconds*/, sleepFlag);
+                                         reply_sz, (u16 *)preply, 65);
 
        dinitprintk(ioc, printk(MYIOC_s_DEBUG_FMT "FW Upload completed "
            "rc=%x \n", ioc->name, ii));
@@ -3666,7 +3648,6 @@ mpt_do_upload(MPT_ADAPTER *ioc, int sleepFlag)
  *     mpt_downloadboot - DownloadBoot code
  *     @ioc: Pointer to MPT_ADAPTER structure
  *     @pFwHeader: Pointer to firmware header info
- *     @sleepFlag: Specifies whether the process can sleep
  *
  *     FwDownloadBoot requires Programmed IO access.
  *
@@ -3676,7 +3657,7 @@ mpt_do_upload(MPT_ADAPTER *ioc, int sleepFlag)
  *             <0 for fw upload failure.
  */
 static int
-mpt_downloadboot(MPT_ADAPTER *ioc, MpiFwHeader_t *pFwHeader, int sleepFlag)
+mpt_downloadboot(MPT_ADAPTER *ioc, MpiFwHeader_t *pFwHeader)
 {
        MpiExtImageHeader_t     *pExtImage;
        u32                      fwSize;
@@ -3701,12 +3682,8 @@ mpt_downloadboot(MPT_ADAPTER *ioc, MpiFwHeader_t 
*pFwHeader, int sleepFlag)
        CHIPREG_WRITE32(&ioc->chip->Diagnostic, (MPI_DIAG_PREVENT_IOC_BOOT | 
MPI_DIAG_DISABLE_ARM));
 
        /* wait 1 msec */
-       if (sleepFlag == CAN_SLEEP) {
-               msleep(1);
-       } else {
-               mdelay (1);
-       }
-
+       msleep(1);
+       mdelay(1);
        diag0val = CHIPREG_READ32(&ioc->chip->Diagnostic);
        CHIPREG_WRITE32(&ioc->chip->Diagnostic, diag0val | 
MPI_DIAG_RESET_ADAPTER);
 
@@ -3718,11 +3695,7 @@ mpt_downloadboot(MPT_ADAPTER *ioc, MpiFwHeader_t 
*pFwHeader, int sleepFlag)
                        break;
                }
                /* wait .1 sec */
-               if (sleepFlag == CAN_SLEEP) {
-                       msleep (100);
-               } else {
-                       mdelay (100);
-               }
+               msleep (100);
        }
 
        if ( count == 30 ) {
@@ -3808,11 +3781,7 @@ mpt_downloadboot(MPT_ADAPTER *ioc, MpiFwHeader_t 
*pFwHeader, int sleepFlag)
                    MPI_DIAG_CLEAR_FLASH_BAD_SIG);
 
                /* wait 1 msec */
-               if (sleepFlag == CAN_SLEEP) {
-                       msleep (1);
-               } else {
-                       mdelay (1);
-               }
+               msleep (1);
        }
 
        if (ioc->errata_flag_1064)
@@ -3832,8 +3801,7 @@ mpt_downloadboot(MPT_ADAPTER *ioc, MpiFwHeader_t 
*pFwHeader, int sleepFlag)
 
        if (ioc->bus_type == SAS) {
                ioc_state = mpt_GetIocState(ioc, 0);
-               if ( (GetIocFacts(ioc, sleepFlag,
-                               MPT_HOSTEVENT_IOC_BRINGUP)) != 0 ) {
+               if ( (GetIocFacts(ioc, MPT_HOSTEVENT_IOC_BRINGUP)) != 0 ) {
                        ddlprintk(ioc, printk(MYIOC_s_DEBUG_FMT "GetIocFacts 
failed: IocState=%x\n",
                                        ioc->name, ioc_state));
                        return -EFAULT;
@@ -3848,7 +3816,7 @@ mpt_downloadboot(MPT_ADAPTER *ioc, MpiFwHeader_t 
*pFwHeader, int sleepFlag)
                        if (ioc->bus_type == SAS) {
                                return 0;
                        }
-                       if ((SendIocInit(ioc, sleepFlag)) != 0) {
+                       if ((SendIocInit(ioc)) != 0) {
                                ddlprintk(ioc, printk(MYIOC_s_DEBUG_FMT
                                        "downloadboot: SendIocInit failed\n",
                                        ioc->name));
@@ -3859,11 +3827,7 @@ mpt_downloadboot(MPT_ADAPTER *ioc, MpiFwHeader_t 
*pFwHeader, int sleepFlag)
                                        ioc->name));
                        return 0;
                }
-               if (sleepFlag == CAN_SLEEP) {
-                       msleep (10);
-               } else {
-                       mdelay (10);
-               }
+               msleep (10);
        }
        ddlprintk(ioc, printk(MYIOC_s_DEBUG_FMT
                "downloadboot failed! IocState=%x\n",ioc->name, ioc_state));
@@ -3875,18 +3839,15 @@ mpt_downloadboot(MPT_ADAPTER *ioc, MpiFwHeader_t 
*pFwHeader, int sleepFlag)
  *     KickStart - Perform hard reset of MPT adapter.
  *     @ioc: Pointer to MPT_ADAPTER structure
  *     @force: Force hard reset
- *     @sleepFlag: Specifies whether the process can sleep
  *
  *     This routine places MPT adapter in diagnostic mode via the
  *     WriteSequence register, and then performs a hard reset of adapter
  *     via the Diagnostic register.
  *
- *     Inputs:   sleepflag - CAN_SLEEP (non-interrupt thread)
- *                     or NO_SLEEP (interrupt thread, use mdelay)
- *               force - 1 if doorbell active, board fault state
+ *     Inputs:  force - 1 if doorbell active, board fault state
  *                             board operational, IOC_RECOVERY or
  *                             IOC_BRINGUP and there is an alt_ioc.
- *                       0 else
+ *                      0 else
  *
  *     Returns:
  *              1 - hard reset, READY
@@ -3897,7 +3858,7 @@ mpt_downloadboot(MPT_ADAPTER *ioc, MpiFwHeader_t 
*pFwHeader, int sleepFlag)
  *             -3 - reset but bad FW bit
  */
 static int
-KickStart(MPT_ADAPTER *ioc, int force, int sleepFlag)
+KickStart(MPT_ADAPTER *ioc, int force)
 {
        int hard_reset_done = 0;
        u32 ioc_state=0;
@@ -3908,23 +3869,19 @@ KickStart(MPT_ADAPTER *ioc, int force, int sleepFlag)
                /* Always issue a Msg Unit Reset first. This will clear some
                 * SCSI bus hang conditions.
                 */
-               SendIocReset(ioc, MPI_FUNCTION_IOC_MESSAGE_UNIT_RESET, 
sleepFlag);
+               SendIocReset(ioc, MPI_FUNCTION_IOC_MESSAGE_UNIT_RESET);
 
-               if (sleepFlag == CAN_SLEEP) {
-                       msleep (1000);
-               } else {
-                       mdelay (1000);
-               }
+               msleep (1000);
        }
 
-       hard_reset_done = mpt_diag_reset(ioc, force, sleepFlag);
+       hard_reset_done = mpt_diag_reset(ioc, force);
        if (hard_reset_done < 0)
                return hard_reset_done;
 
        dinitprintk(ioc, printk(MYIOC_s_DEBUG_FMT "Diagnostic reset 
successful!\n",
                ioc->name));
 
-       cntdn = ((sleepFlag == CAN_SLEEP) ? HZ : 1000) * 2;     /* 2 seconds */
+       cntdn = 2 * HZ; /* 2 seconds */
        for (cnt=0; cnt<cntdn; cnt++) {
                ioc_state = mpt_GetIocState(ioc, 1);
                if ((ioc_state == MPI_IOC_STATE_READY) || (ioc_state == 
MPI_IOC_STATE_OPERATIONAL)) {
@@ -3932,11 +3889,7 @@ KickStart(MPT_ADAPTER *ioc, int force, int sleepFlag)
                                        ioc->name, cnt));
                        return hard_reset_done;
                }
-               if (sleepFlag == CAN_SLEEP) {
-                       msleep (10);
-               } else {
-                       mdelay (10);
-               }
+               msleep (10);
        }
 
        dinitprintk(ioc, printk(MYIOC_s_ERR_FMT "Failed to come READY after 
reset! IocState=%x\n",
@@ -3950,8 +3903,6 @@ KickStart(MPT_ADAPTER *ioc, int force, int sleepFlag)
  *     @ioc: Pointer to MPT_ADAPTER structure
  *     @ignore: Set if to honor and clear to ignore
  *             the reset history bit
- *     @sleepFlag: CAN_SLEEP if called in a non-interrupt thread,
- *             else set to NO_SLEEP (use mdelay instead)
  *
  *     This routine places the adapter in diagnostic mode via the
  *     WriteSequence register and then performs a hard reset of adapter
@@ -3964,7 +3915,7 @@ KickStart(MPT_ADAPTER *ioc, int force, int sleepFlag)
  *              -3  diagnostic reset failed
  */
 static int
-mpt_diag_reset(MPT_ADAPTER *ioc, int ignore, int sleepFlag)
+mpt_diag_reset(MPT_ADAPTER *ioc, int ignore)
 {
        u32 diag0val;
        u32 doorbell;
@@ -3986,10 +3937,7 @@ mpt_diag_reset(MPT_ADAPTER *ioc, int ignore, int 
sleepFlag)
                        "address=%p\n",  ioc->name, __func__,
                        &ioc->chip->Doorbell, &ioc->chip->Reset_1078));
                CHIPREG_WRITE32(&ioc->chip->Reset_1078, 0x07);
-               if (sleepFlag == CAN_SLEEP)
-                       msleep(1);
-               else
-                       mdelay(1);
+               msleep(1);
 
                /*
                 * Call each currently registered protocol IOC reset handler
@@ -4017,10 +3965,7 @@ mpt_diag_reset(MPT_ADAPTER *ioc, int ignore, int 
sleepFlag)
                        }
 
                        /* wait 1 sec */
-                       if (sleepFlag == CAN_SLEEP)
-                               msleep(1000);
-                       else
-                               mdelay(1000);
+                       msleep(1000);
                }
                return -1;
        }
@@ -4051,11 +3996,7 @@ mpt_diag_reset(MPT_ADAPTER *ioc, int ignore, int 
sleepFlag)
                        CHIPREG_WRITE32(&ioc->chip->WriteSequence, 
MPI_WRSEQ_5TH_KEY_VALUE);
 
                        /* wait 100 msec */
-                       if (sleepFlag == CAN_SLEEP) {
-                               msleep (100);
-                       } else {
-                               mdelay (100);
-                       }
+                       msleep (100);
 
                        count++;
                        if (count > 20) {
@@ -4130,13 +4071,9 @@ mpt_diag_reset(MPT_ADAPTER *ioc, int ignore, int 
sleepFlag)
                                dprintk(ioc, printk(MYIOC_s_DEBUG_FMT 
"cached_fw: diag0val=%x count=%d\n",
                                        ioc->name, diag0val, count));
                                /* wait 1 sec */
-                               if (sleepFlag == CAN_SLEEP) {
-                                       msleep (1000);
-                               } else {
-                                       mdelay (1000);
-                               }
+                               msleep (1000);
                        }
-                       if ((count = mpt_downloadboot(ioc, cached_fw, 
sleepFlag)) < 0) {
+                       if ((count = mpt_downloadboot(ioc, cached_fw)) < 0) {
                                printk(MYIOC_s_WARN_FMT
                                        "firmware downloadboot failure 
(%d)!\n", ioc->name, count);
                        }
@@ -4161,11 +4098,7 @@ mpt_diag_reset(MPT_ADAPTER *ioc, int ignore, int 
sleepFlag)
                                }
 
                                /* wait 1 sec */
-                               if (sleepFlag == CAN_SLEEP) {
-                                       msleep (1000);
-                               } else {
-                                       mdelay (1000);
-                               }
+                               msleep (1000);
                        }
 
                        if (doorbell != MPI_IOC_STATE_READY)
@@ -4200,11 +4133,7 @@ mpt_diag_reset(MPT_ADAPTER *ioc, int ignore, int 
sleepFlag)
                CHIPREG_WRITE32(&ioc->chip->WriteSequence, 
MPI_WRSEQ_5TH_KEY_VALUE);
 
                /* wait 100 msec */
-               if (sleepFlag == CAN_SLEEP) {
-                       msleep (100);
-               } else {
-                       mdelay (100);
-               }
+               msleep (100);
 
                count++;
                if (count > 20) {
@@ -4259,14 +4188,13 @@ mpt_diag_reset(MPT_ADAPTER *ioc, int ignore, int 
sleepFlag)
  *     @ioc: Pointer to MPT_ADAPTER structure
  *     @reset_type: reset type, expected values are
  *     %MPI_FUNCTION_IOC_MESSAGE_UNIT_RESET or %MPI_FUNCTION_IO_UNIT_RESET
- *     @sleepFlag: Specifies whether the process can sleep
  *
  *     Send IOCReset request to the MPT adapter.
  *
  *     Returns 0 for success, non-zero for failure.
  */
 static int
-SendIocReset(MPT_ADAPTER *ioc, u8 reset_type, int sleepFlag)
+SendIocReset(MPT_ADAPTER *ioc, u8 reset_type)
 {
        int r;
        u32 state;
@@ -4275,32 +4203,25 @@ SendIocReset(MPT_ADAPTER *ioc, u8 reset_type, int 
sleepFlag)
        drsprintk(ioc, printk(MYIOC_s_DEBUG_FMT "Sending IOC reset(0x%02x)!\n",
                        ioc->name, reset_type));
        CHIPREG_WRITE32(&ioc->chip->Doorbell, 
reset_type<<MPI_DOORBELL_FUNCTION_SHIFT);
-       if ((r = WaitForDoorbellAck(ioc, 5, sleepFlag)) < 0)
+       if ((r = WaitForDoorbellAck(ioc, 5, CAN_SLEEP)) < 0)
                return r;
 
        /* FW ACK'd request, wait for READY state
         */
        count = 0;
-       cntdn = ((sleepFlag == CAN_SLEEP) ? HZ : 1000) * 15;    /* 15 seconds */
+       cntdn = 15 * HZ;        /* 15 seconds */
 
        while ((state = mpt_GetIocState(ioc, 1)) != MPI_IOC_STATE_READY) {
                cntdn--;
                count++;
                if (!cntdn) {
-                       if (sleepFlag != CAN_SLEEP)
-                               count *= 10;
-
                        printk(MYIOC_s_ERR_FMT
                            "Wait IOC_READY state (0x%x) timeout(%d)!\n",
                            ioc->name, state, (int)((count+5)/HZ));
                        return -ETIME;
                }
 
-               if (sleepFlag == CAN_SLEEP) {
-                       msleep(1);
-               } else {
-                       mdelay (1);     /* 1 msec delay */
-               }
+               msleep(1);
        }
 
        /* TODO!
@@ -4646,7 +4567,6 @@ PrimeIocFifos(MPT_ADAPTER *ioc)
  *     @replyBytes: Expected size of the reply in bytes
  *     @u16reply: Pointer to area where reply should be written
  *     @maxwait: Max wait time for a reply (in seconds)
- *     @sleepFlag: Specifies whether the process can sleep
  *
  *     NOTES: It is the callers responsibility to byte-swap fields in the
  *     request which are greater than 1 byte in size.  It is also the
@@ -4657,7 +4577,7 @@ PrimeIocFifos(MPT_ADAPTER *ioc)
  */
 static int
 mpt_handshake_req_reply_wait(MPT_ADAPTER *ioc, int reqBytes, u32 *req,
-               int replyBytes, u16 *u16reply, int maxwait, int sleepFlag)
+               int replyBytes, u16 *u16reply, int maxwait)
 {
        MPIDefaultReply_t *mptReply;
        int failcnt = 0;
@@ -4683,7 +4603,7 @@ mpt_handshake_req_reply_wait(MPT_ADAPTER *ioc, int 
reqBytes, u32 *req,
        /*
         * Wait for IOC's doorbell handshake int
         */
-       if ((t = WaitForDoorbellInt(ioc, 5, sleepFlag)) < 0)
+       if ((t = WaitForDoorbellInt(ioc, 5)) < 0)
                failcnt++;
 
        dhsprintk(ioc, printk(MYIOC_s_DEBUG_FMT "HandShake request start 
reqBytes=%d, WaitCnt=%d%s\n",
@@ -4699,7 +4619,7 @@ mpt_handshake_req_reply_wait(MPT_ADAPTER *ioc, int 
reqBytes, u32 *req,
         * our handshake request.
         */
        CHIPREG_WRITE32(&ioc->chip->IntStatus, 0);
-       if (!failcnt && (t = WaitForDoorbellAck(ioc, 5, sleepFlag)) < 0)
+       if (!failcnt && (t = WaitForDoorbellAck(ioc, 5, CAN_SLEEP)) < 0)
                failcnt++;
 
        if (!failcnt) {
@@ -4717,7 +4637,7 @@ mpt_handshake_req_reply_wait(MPT_ADAPTER *ioc, int 
reqBytes, u32 *req,
                                    (req_as_bytes[(ii*4) + 3] << 24));
 
                        CHIPREG_WRITE32(&ioc->chip->Doorbell, word);
-                       if ((t = WaitForDoorbellAck(ioc, 5, sleepFlag)) < 0)
+                       if ((t = WaitForDoorbellAck(ioc, 5, CAN_SLEEP)) < 0)
                                failcnt++;
                }
 
@@ -4730,7 +4650,7 @@ mpt_handshake_req_reply_wait(MPT_ADAPTER *ioc, int 
reqBytes, u32 *req,
                /*
                 * Wait for completion of doorbell handshake reply from the IOC
                 */
-               if (!failcnt && (t = WaitForDoorbellReply(ioc, maxwait, 
sleepFlag)) < 0)
+               if (!failcnt && (t = WaitForDoorbellReply(ioc, maxwait)) < 0)
                        failcnt++;
 
                dhsprintk(ioc, printk(MYIOC_s_DEBUG_FMT "HandShake reply 
count=%d%s\n",
@@ -4804,7 +4724,6 @@ WaitForDoorbellAck(MPT_ADAPTER *ioc, int howlong, int 
sleepFlag)
  *     WaitForDoorbellInt - Wait for IOC to set its doorbell interrupt bit
  *     @ioc: Pointer to MPT_ADAPTER structure
  *     @howlong: How long to wait (in seconds)
- *     @sleepFlag: Specifies whether the process can sleep
  *
  *     This routine waits (up to ~2 seconds max) for IOC doorbell interrupt
  *     (MPI_HIS_DOORBELL_INTERRUPT) to be set in the IntStatus register.
@@ -4812,29 +4731,19 @@ WaitForDoorbellAck(MPT_ADAPTER *ioc, int howlong, int 
sleepFlag)
  *     Returns a negative value on failure, else wait loop count.
  */
 static int
-WaitForDoorbellInt(MPT_ADAPTER *ioc, int howlong, int sleepFlag)
+WaitForDoorbellInt(MPT_ADAPTER *ioc, int howlong)
 {
        int cntdn;
        int count = 0;
        u32 intstat=0;
 
        cntdn = 1000 * howlong;
-       if (sleepFlag == CAN_SLEEP) {
-               while (--cntdn) {
-                       intstat = CHIPREG_READ32(&ioc->chip->IntStatus);
-                       if (intstat & MPI_HIS_DOORBELL_INTERRUPT)
-                               break;
-                       msleep(1);
-                       count++;
-               }
-       } else {
-               while (--cntdn) {
-                       intstat = CHIPREG_READ32(&ioc->chip->IntStatus);
-                       if (intstat & MPI_HIS_DOORBELL_INTERRUPT)
-                               break;
-                       udelay (1000);
-                       count++;
-               }
+       while (--cntdn) {
+               intstat = CHIPREG_READ32(&ioc->chip->IntStatus);
+               if (intstat & MPI_HIS_DOORBELL_INTERRUPT)
+                       break;
+               msleep(1);
+               count++;
        }
 
        if (cntdn) {
@@ -4853,7 +4762,6 @@ WaitForDoorbellInt(MPT_ADAPTER *ioc, int howlong, int 
sleepFlag)
  *     WaitForDoorbellReply - Wait for and capture an IOC handshake reply.
  *     @ioc: Pointer to MPT_ADAPTER structure
  *     @howlong: How long to wait (in seconds)
- *     @sleepFlag: Specifies whether the process can sleep
  *
  *     This routine polls the IOC for a handshake reply, 16 bits at a time.
  *     Reply is cached to IOC private area large enough to hold a maximum
@@ -4862,7 +4770,7 @@ WaitForDoorbellInt(MPT_ADAPTER *ioc, int howlong, int 
sleepFlag)
  *     Returns a negative value on failure, else size of reply in WORDS.
  */
 static int
-WaitForDoorbellReply(MPT_ADAPTER *ioc, int howlong, int sleepFlag)
+WaitForDoorbellReply(MPT_ADAPTER *ioc, int howlong)
 {
        int u16cnt = 0;
        int failcnt = 0;
@@ -4877,12 +4785,12 @@ WaitForDoorbellReply(MPT_ADAPTER *ioc, int howlong, int 
sleepFlag)
         * Get first two u16's so we can look at IOC's intended reply MsgLength
         */
        u16cnt=0;
-       if ((t = WaitForDoorbellInt(ioc, howlong, sleepFlag)) < 0) {
+       if ((t = WaitForDoorbellInt(ioc, howlong)) < 0) {
                failcnt++;
        } else {
                hs_reply[u16cnt++] = 
le16_to_cpu(CHIPREG_READ32(&ioc->chip->Doorbell) & 0x0000FFFF);
                CHIPREG_WRITE32(&ioc->chip->IntStatus, 0);
-               if ((t = WaitForDoorbellInt(ioc, 5, sleepFlag)) < 0)
+               if ((t = WaitForDoorbellInt(ioc, 5)) < 0)
                        failcnt++;
                else {
                        hs_reply[u16cnt++] = 
le16_to_cpu(CHIPREG_READ32(&ioc->chip->Doorbell) & 0x0000FFFF);
@@ -4899,7 +4807,7 @@ WaitForDoorbellReply(MPT_ADAPTER *ioc, int howlong, int 
sleepFlag)
         * reply 16 bits at a time.
         */
        for (u16cnt=2; !failcnt && u16cnt < (2 * mptReply->MsgLength); 
u16cnt++) {
-               if ((t = WaitForDoorbellInt(ioc, 5, sleepFlag)) < 0)
+               if ((t = WaitForDoorbellInt(ioc, 5)) < 0)
                        failcnt++;
                hword = le16_to_cpu(CHIPREG_READ32(&ioc->chip->Doorbell) & 
0x0000FFFF);
                /* don't overflow our IOC hs_reply[] buffer! */
@@ -4908,7 +4816,7 @@ WaitForDoorbellReply(MPT_ADAPTER *ioc, int howlong, int 
sleepFlag)
                CHIPREG_WRITE32(&ioc->chip->IntStatus, 0);
        }
 
-       if (!failcnt && (t = WaitForDoorbellInt(ioc, 5, sleepFlag)) < 0)
+       if (!failcnt && (t = WaitForDoorbellInt(ioc, 5)) < 0)
                failcnt++;
        CHIPREG_WRITE32(&ioc->chip->IntStatus, 0);
 
@@ -5120,7 +5028,7 @@ mptbase_sas_persist_operation(MPT_ADAPTER *ioc, u8 
persist_opcode)
                        printk(MYIOC_s_WARN_FMT
                               "Issuing Reset from %s!!, doorbell=0x%08x\n",
                               ioc->name, __func__, mpt_GetIocState(ioc, 0));
-                       mpt_Soft_Hard_ResetHandler(ioc, CAN_SLEEP);
+                       mpt_Soft_Hard_ResetHandler(ioc);
                        mpt_free_msg_frame(ioc, mf);
                }
                goto out;
@@ -6270,10 +6178,9 @@ mpt_get_manufacturing_pg_0(MPT_ADAPTER *ioc)
  *     SendEventNotification - Send EventNotification (on or off) request to 
adapter
  *     @ioc: Pointer to MPT_ADAPTER structure
  *     @EvSwitch: Event switch flags
- *     @sleepFlag: Specifies whether the process can sleep
  */
 static int
-SendEventNotification(MPT_ADAPTER *ioc, u8 EvSwitch, int sleepFlag)
+SendEventNotification(MPT_ADAPTER *ioc, u8 EvSwitch)
 {
        EventNotification_t     evn;
        MPIDefaultReply_t       reply_buf;
@@ -6290,8 +6197,7 @@ SendEventNotification(MPT_ADAPTER *ioc, u8 EvSwitch, int 
sleepFlag)
            ioc->name, EvSwitch, &evn));
 
        return mpt_handshake_req_reply_wait(ioc, sizeof(EventNotification_t),
-           (u32 *)&evn, sizeof(MPIDefaultReply_t), (u16 *)&reply_buf, 30,
-           sleepFlag);
+           (u32 *)&evn, sizeof(MPIDefaultReply_t), (u16 *)&reply_buf, 30);
 }
 
 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
@@ -6527,10 +6433,10 @@ mpt_config(MPT_ADAPTER *ioc, CONFIGPARMS *pCfg)
                       "Issuing Reset from %s!!, doorbell=0x%08x\n",
                       ioc->name, __func__, mpt_GetIocState(ioc, 0));
                if (retry_count == 0) {
-                       if (mpt_Soft_Hard_ResetHandler(ioc, CAN_SLEEP) != 0)
+                       if (mpt_Soft_Hard_ResetHandler(ioc) != 0)
                                retry_count++;
                } else
-                       mpt_HardResetHandler(ioc, CAN_SLEEP);
+                       mpt_HardResetHandler(ioc);
 
                mpt_free_msg_frame(ioc, mf);
                /* attempt one retry for a timed out command */
@@ -6956,7 +6862,6 @@ EXPORT_SYMBOL(mpt_halt_firmware);
 /**
  *     mpt_SoftResetHandler - Issues a less expensive reset
  *     @ioc: Pointer to MPT_ADAPTER structure
- *     @sleepFlag: Indicates if sleep or schedule must be called.
  *
  *     Returns 0 for SUCCESS or -1 if FAILED.
  *
@@ -6967,7 +6872,7 @@ EXPORT_SYMBOL(mpt_halt_firmware);
  *     to READY state.
  **/
 static int
-mpt_SoftResetHandler(MPT_ADAPTER *ioc, int sleepFlag)
+mpt_SoftResetHandler(MPT_ADAPTER *ioc)
 {
        int              rc;
        int              ii;
@@ -7024,7 +6929,7 @@ mpt_SoftResetHandler(MPT_ADAPTER *ioc, int sleepFlag)
        ioc->active = 0;
        time_count = jiffies;
 
-       rc = SendIocReset(ioc, MPI_FUNCTION_IOC_MESSAGE_UNIT_RESET, sleepFlag);
+       rc = SendIocReset(ioc, MPI_FUNCTION_IOC_MESSAGE_UNIT_RESET);
 
        for (cb_idx = MPT_MAX_PROTOCOL_DRIVERS-1; cb_idx; cb_idx--) {
                if (MptResetHandlers[cb_idx])
@@ -7040,14 +6945,10 @@ mpt_SoftResetHandler(MPT_ADAPTER *ioc, int sleepFlag)
 
        for (ii = 0; ii < 5; ii++) {
                /* Get IOC facts! Allow 5 retries */
-               rc = GetIocFacts(ioc, sleepFlag,
-                       MPT_HOSTEVENT_IOC_RECOVER);
+               rc = GetIocFacts(ioc, MPT_HOSTEVENT_IOC_RECOVER);
                if (rc == 0)
                        break;
-               if (sleepFlag == CAN_SLEEP)
-                       msleep(100);
-               else
-                       mdelay(100);
+               msleep(100);
        }
        if (ii == 5)
                goto out;
@@ -7056,11 +6957,11 @@ mpt_SoftResetHandler(MPT_ADAPTER *ioc, int sleepFlag)
        if (rc != 0)
                goto out;
 
-       rc = SendIocInit(ioc, sleepFlag);
+       rc = SendIocInit(ioc);
        if (rc != 0)
                goto out;
 
-       rc = SendEventNotification(ioc, 1, sleepFlag);
+       rc = SendEventNotification(ioc, 1);
        if (rc != 0)
                goto out;
 
@@ -7100,20 +7001,19 @@ mpt_SoftResetHandler(MPT_ADAPTER *ioc, int sleepFlag)
 /**
  *     mpt_Soft_Hard_ResetHandler - Try less expensive reset
  *     @ioc: Pointer to MPT_ADAPTER structure
- *     @sleepFlag: Indicates if sleep or schedule must be called.
  *
  *     Returns 0 for SUCCESS or -1 if FAILED.
  *     Try for softreset first, only if it fails go for expensive
  *     HardReset.
  **/
 int
-mpt_Soft_Hard_ResetHandler(MPT_ADAPTER *ioc, int sleepFlag) {
-       int ret = -1;
+mpt_Soft_Hard_ResetHandler(MPT_ADAPTER *ioc) {
+       int ret;
 
-       ret = mpt_SoftResetHandler(ioc, sleepFlag);
+       ret = mpt_SoftResetHandler(ioc);
        if (ret == 0)
                return ret;
-       ret = mpt_HardResetHandler(ioc, sleepFlag);
+       ret = mpt_HardResetHandler(ioc);
        return ret;
 }
 EXPORT_SYMBOL(mpt_Soft_Hard_ResetHandler);
@@ -7126,21 +7026,17 @@ EXPORT_SYMBOL(mpt_Soft_Hard_ResetHandler);
 /**
  *     mpt_HardResetHandler - Generic reset handler
  *     @ioc: Pointer to MPT_ADAPTER structure
- *     @sleepFlag: Indicates if sleep or schedule must be called.
  *
  *     Issues SCSI Task Management call based on input arg values.
  *     If TaskMgmt fails, returns associated SCSI request.
  *
- *     Remark: _HardResetHandler can be invoked from an interrupt thread 
(timer)
- *     or a non-interrupt thread.  In the former, must not call schedule().
- *
  *     Note: A return of -1 is a FATAL error case, as it means a
  *     FW reload/initialization failed.
  *
  *     Returns 0 for SUCCESS or -1 if FAILED.
  */
 int
-mpt_HardResetHandler(MPT_ADAPTER *ioc, int sleepFlag)
+mpt_HardResetHandler(MPT_ADAPTER *ioc)
 {
        int      rc;
        u8       cb_idx;
@@ -7195,7 +7091,7 @@ mpt_HardResetHandler(MPT_ADAPTER *ioc, int sleepFlag)
        }
 
        time_count = jiffies;
-       rc = mpt_do_ioc_recovery(ioc, MPT_HOSTEVENT_IOC_RECOVER, sleepFlag);
+       rc = mpt_do_ioc_recovery(ioc, MPT_HOSTEVENT_IOC_RECOVER);
        if (rc != 0) {
                printk(KERN_WARNING MYNAM
                       ": WARNING - (%d) Cannot recover %s, doorbell=0x%08x\n",
diff --git a/drivers/message/fusion/mptbase.h b/drivers/message/fusion/mptbase.h
index 813d46311f6a..3f89c51a9d91 100644
--- a/drivers/message/fusion/mptbase.h
+++ b/drivers/message/fusion/mptbase.h
@@ -927,12 +927,12 @@ extern void        mpt_free_msg_frame(MPT_ADAPTER *ioc, 
MPT_FRAME_HDR *mf);
 extern void     mpt_put_msg_frame(u8 cb_idx, MPT_ADAPTER *ioc, MPT_FRAME_HDR 
*mf);
 extern void     mpt_put_msg_frame_hi_pri(u8 cb_idx, MPT_ADAPTER *ioc, 
MPT_FRAME_HDR *mf);
 
-extern int      mpt_send_handshake_request(u8 cb_idx, MPT_ADAPTER *ioc, int 
reqBytes, u32 *req, int sleepFlag);
+extern int      mpt_send_handshake_request(u8 cb_idx, MPT_ADAPTER *ioc, int 
reqBytes, u32 *req);
 extern int      mpt_verify_adapter(int iocid, MPT_ADAPTER **iocpp);
 extern u32      mpt_GetIocState(MPT_ADAPTER *ioc, int cooked);
 extern void     mpt_print_ioc_summary(MPT_ADAPTER *ioc, char *buf, int *size, 
int len, int showlan);
-extern int      mpt_HardResetHandler(MPT_ADAPTER *ioc, int sleepFlag);
-extern int      mpt_Soft_Hard_ResetHandler(MPT_ADAPTER *ioc, int sleepFlag);
+extern int      mpt_HardResetHandler(MPT_ADAPTER *ioc);
+extern int      mpt_Soft_Hard_ResetHandler(MPT_ADAPTER *ioc);
 extern int      mpt_config(MPT_ADAPTER *ioc, CONFIGPARMS *cfg);
 extern int      mpt_alloc_fw_memory(MPT_ADAPTER *ioc, int size);
 extern void     mpt_free_fw_memory(MPT_ADAPTER *ioc);
diff --git a/drivers/message/fusion/mptctl.c b/drivers/message/fusion/mptctl.c
index 24aebad60366..a20a11eea5a4 100644
--- a/drivers/message/fusion/mptctl.c
+++ b/drivers/message/fusion/mptctl.c
@@ -389,7 +389,8 @@ mptctl_do_taskmgmt(MPT_ADAPTER *ioc, u8 tm_type, u8 bus_id, 
u8 target_id)
                mpt_put_msg_frame_hi_pri(mptctl_taskmgmt_id, ioc, mf);
        else {
                retval = mpt_send_handshake_request(mptctl_taskmgmt_id, ioc,
-                   sizeof(SCSITaskMgmt_t), (u32 *)pScsiTm, CAN_SLEEP);
+                                                   sizeof(SCSITaskMgmt_t),
+                                                   (u32 *)pScsiTm);
                if (retval != 0) {
                        dfailprintk(ioc,
                                printk(MYIOC_s_ERR_FMT
@@ -508,7 +509,7 @@ mptctl_timeout_expired(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf)
 
        dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT "Calling Reset! \n",
                 ioc->name));
-       mpt_Soft_Hard_ResetHandler(ioc, CAN_SLEEP);
+       mpt_Soft_Hard_ResetHandler(ioc);
        mpt_free_msg_frame(ioc, mf);
 }
 
@@ -720,7 +721,7 @@ static int mptctl_do_reset(MPT_ADAPTER *iocp, unsigned long 
arg)
        dctlprintk(iocp, printk(MYIOC_s_DEBUG_FMT "mptctl_do_reset called.\n",
            iocp->name));
 
-       if (mpt_HardResetHandler(iocp, CAN_SLEEP) != 0) {
+       if (mpt_HardResetHandler(iocp) != 0) {
                printk (MYIOC_s_ERR_FMT "%s@%d::mptctl_do_reset - reset 
failed.\n",
                        iocp->name, __FILE__, __LINE__);
                return -1;
@@ -2177,8 +2178,9 @@ mptctl_do_mpt_command (MPT_ADAPTER *ioc, struct 
mpt_ioctl_command karg, void __u
                    (ioc->facts.MsgVersion >= MPI_VERSION_01_05))
                        mpt_put_msg_frame_hi_pri(mptctl_id, ioc, mf);
                else {
-                       rc =mpt_send_handshake_request(mptctl_id, ioc,
-                               sizeof(SCSITaskMgmt_t), (u32*)mf, CAN_SLEEP);
+                       rc = mpt_send_handshake_request(mptctl_id, ioc,
+                                                       sizeof(SCSITaskMgmt_t),
+                                                       (u32 *)mf);
                        if (rc != 0) {
                                dfailprintk(ioc, printk(MYIOC_s_ERR_FMT
                                    "send_handshake FAILED! (ioc %p, mf %p)\n",
diff --git a/drivers/message/fusion/mptsas.c b/drivers/message/fusion/mptsas.c
index 18b91ea1a353..e0508ff16a09 100644
--- a/drivers/message/fusion/mptsas.c
+++ b/drivers/message/fusion/mptsas.c
@@ -2123,7 +2123,7 @@ static int mptsas_phy_reset(struct sas_phy *phy, int 
hard_reset)
                if (ioc->sas_mgmt.status & MPT_MGMT_STATUS_DID_IOCRESET)
                        goto out_unlock;
                if (!timeleft)
-                       mpt_Soft_Hard_ResetHandler(ioc, CAN_SLEEP);
+                       mpt_Soft_Hard_ResetHandler(ioc);
                goto out_unlock;
        }
 
@@ -2307,7 +2307,7 @@ static void mptsas_smp_handler(struct bsg_job *job, 
struct Scsi_Host *shost,
                if (ioc->sas_mgmt.status & MPT_MGMT_STATUS_DID_IOCRESET)
                        goto unmap_in;
                if (!timeleft)
-                       mpt_Soft_Hard_ResetHandler(ioc, CAN_SLEEP);
+                       mpt_Soft_Hard_ResetHandler(ioc);
                goto unmap_in;
        }
        mf = NULL;
@@ -2919,7 +2919,7 @@ mptsas_exp_repmanufacture_info(MPT_ADAPTER *ioc,
                if (ioc->sas_mgmt.status & MPT_MGMT_STATUS_DID_IOCRESET)
                        goto out_free;
                if (!timeleft)
-                       mpt_Soft_Hard_ResetHandler(ioc, CAN_SLEEP);
+                       mpt_Soft_Hard_ResetHandler(ioc);
                goto out_free;
        }
 
@@ -4915,7 +4915,7 @@ mptsas_broadcast_primitive_work(struct fw_event_work 
*fw_event)
                printk(MYIOC_s_WARN_FMT
                       "Issuing Reset from %s!! doorbell=0x%08x\n",
                       ioc->name, __func__, mpt_GetIocState(ioc, 0));
-               mpt_Soft_Hard_ResetHandler(ioc, CAN_SLEEP);
+               mpt_Soft_Hard_ResetHandler(ioc);
        }
        mptsas_free_fw_event(ioc, fw_event);
 }
diff --git a/drivers/message/fusion/mptscsih.c 
b/drivers/message/fusion/mptscsih.c
index a5ef9faf71c7..3ac8fe46cadf 100644
--- a/drivers/message/fusion/mptscsih.c
+++ b/drivers/message/fusion/mptscsih.c
@@ -1529,7 +1529,7 @@ mptscsih_IssueTaskMgmt(MPT_SCSI_HOST *hd, u8 type, u8 
channel, u8 id, u64 lun,
                        ioc->name, type, ioc_raw_state);
                printk(MYIOC_s_WARN_FMT "Issuing HardReset from %s!!\n",
                    ioc->name, __func__);
-               if (mpt_HardResetHandler(ioc, CAN_SLEEP) < 0)
+               if (mpt_HardResetHandler(ioc) < 0)
                        printk(MYIOC_s_WARN_FMT "TaskMgmt HardReset "
                            "FAILED!!\n", ioc->name);
                return 0;
@@ -1602,7 +1602,8 @@ mptscsih_IssueTaskMgmt(MPT_SCSI_HOST *hd, u8 type, u8 
channel, u8 id, u64 lun,
                mpt_put_msg_frame_hi_pri(ioc->TaskCtx, ioc, mf);
        else {
                retval = mpt_send_handshake_request(ioc->TaskCtx, ioc,
-                       sizeof(SCSITaskMgmt_t), (u32*)pScsiTm, CAN_SLEEP);
+                                                   sizeof(SCSITaskMgmt_t),
+                                                   (u32 *)pScsiTm);
                if (retval) {
                        dfailprintk(ioc, printk(MYIOC_s_ERR_FMT
                                "TaskMgmt handshake FAILED!(mf=%p, rc=%d) \n",
@@ -1641,8 +1642,8 @@ mptscsih_IssueTaskMgmt(MPT_SCSI_HOST *hd, u8 type, u8 
channel, u8 id, u64 lun,
                       "Issuing Reset from %s!! doorbell=0x%08x\n",
                       ioc->name, __func__, mpt_GetIocState(ioc, 0));
                retval = (ioc->bus_type == SAS) ?
-                       mpt_HardResetHandler(ioc, CAN_SLEEP) :
-                       mpt_Soft_Hard_ResetHandler(ioc, CAN_SLEEP);
+                       mpt_HardResetHandler(ioc) :
+                       mpt_Soft_Hard_ResetHandler(ioc);
                mpt_free_msg_frame(ioc, mf);
        }
 
@@ -1933,7 +1934,7 @@ mptscsih_host_reset(struct scsi_cmnd *SCpnt)
        /*  If our attempts to reset the host failed, then return a failed
         *  status.  The host will be taken off line by the SCSI mid-layer.
         */
-       retval = mpt_Soft_Hard_ResetHandler(ioc, CAN_SLEEP);
+       retval = mpt_Soft_Hard_ResetHandler(ioc);
        if (retval < 0)
                status = FAILED;
        else
@@ -2977,7 +2978,7 @@ mptscsih_do_cmd(MPT_SCSI_HOST *hd, INTERNAL_CMD *io)
                               " cmd=0x%02x\n",
                               ioc->name, __func__, mpt_GetIocState(ioc, 0),
                               cmd);
-                       mpt_Soft_Hard_ResetHandler(ioc, CAN_SLEEP);
+                       mpt_Soft_Hard_ResetHandler(ioc);
                        mpt_free_msg_frame(ioc, mf);
                }
                goto out;
diff --git a/drivers/message/fusion/mptspi.c b/drivers/message/fusion/mptspi.c
index eabc4de5816c..9eb695810bd2 100644
--- a/drivers/message/fusion/mptspi.c
+++ b/drivers/message/fusion/mptspi.c
@@ -666,7 +666,7 @@ mptscsih_quiesce_raid(MPT_SCSI_HOST *hd, int quiesce, u8 
channel, u8 id)
                if (!timeleft) {
                        printk(MYIOC_s_WARN_FMT "Issuing Reset from %s!!\n",
                            ioc->name, __func__);
-                       mpt_HardResetHandler(ioc, CAN_SLEEP);
+                       mpt_HardResetHandler(ioc);
                        mpt_free_msg_frame(ioc, mf);
                }
                goto out;
-- 
2.28.0

Reply via email to