mpt3sas_halt_firmware(ioc);
 
        /* wait for an active reset in progress to complete */
-       if (!mutex_trylock(&ioc->reset_in_progress_mutex)) {
-               do {
-                       ssleep(1);
-               } while (ioc->shost_recovery == 1);
-               dtmprintk(ioc, pr_info(MPT3SAS_FMT "%s: exit\n", ioc->name,
-                   __func__));
-               return ioc->ioc_reset_in_progress_status;
-       }
+       mutex_lock(&ioc->reset_in_progress_mutex);
 
        spin_lock_irqsave(&ioc->ioc_reset_in_progress_lock, flags);
        ioc->shost_recovery = 1;
            ioc->name, __func__, ((r == 0) ? "SUCCESS" : "FAILED")));
 
        spin_lock_irqsave(&ioc->ioc_reset_in_progress_lock, flags);
-       ioc->ioc_reset_in_progress_status = r;
        ioc->shost_recovery = 0;
        spin_unlock_irqrestore(&ioc->ioc_reset_in_progress_lock, flags);
        ioc->ioc_reset_count++;
 
        struct mutex    reset_in_progress_mutex;
        spinlock_t      ioc_reset_in_progress_lock;
        u8              ioc_link_reset_in_progress;
-       u8              ioc_reset_in_progress_status;
 
        u8              ignore_loginfos;
        u8              remove_host;