cleanup_scsi_cmd:
                sc->result = DID_TRANSPORT_DISRUPTED << 16;
-               FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, "fnic_cleanup_io:"
-                             " DID_TRANSPORT_DISRUPTED\n");
+               FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host,
+                             "%s: sc duration = %lu DID_TRANSPORT_DISRUPTED\n",
+                             __func__, (jiffies - start_time));
 
                if (atomic64_read(&fnic->io_cmpl_skip))
                        atomic64_dec(&fnic->io_cmpl_skip);
        struct fnic_stats *fnic_stats;
        struct abort_stats *abts_stats;
        struct terminate_stats *term_stats;
+       enum fnic_ioreq_state old_ioreq_state;
        int tag;
        DECLARE_COMPLETION_ONSTACK(tm_done);
 
         * the completion wont be done till mid-layer, since abort
         * has already started.
         */
+       old_ioreq_state = CMD_STATE(sc);
        CMD_STATE(sc) = FNIC_IOREQ_ABTS_PENDING;
        CMD_ABTS_STATUS(sc) = FCPIO_INVALID_CODE;
 
        if (fnic_queue_abort_io_req(fnic, sc->request->tag, task_req,
                                    fc_lun.scsi_lun, io_req)) {
                spin_lock_irqsave(io_lock, flags);
+               if (CMD_STATE(sc) == FNIC_IOREQ_ABTS_PENDING)
+                       CMD_STATE(sc) = old_ioreq_state;
                io_req = (struct fnic_io_req *)CMD_SP(sc);
                if (io_req)
                        io_req->abts_done = NULL;
        if (CMD_ABTS_STATUS(sc) == FCPIO_INVALID_CODE) {
                spin_unlock_irqrestore(io_lock, flags);
                if (task_req == FCPIO_ITMF_ABT_TASK) {
-                       FNIC_SCSI_DBG(KERN_INFO,
-                               fnic->lport->host, "Abort Driver Timeout\n");
                        atomic64_inc(&abts_stats->abort_drv_timeouts);
                } else {
-                       FNIC_SCSI_DBG(KERN_INFO, fnic->lport->host,
-                               "Terminate Driver Timeout\n");
                        atomic64_inc(&term_stats->terminate_drv_timeouts);
                }
                CMD_FLAGS(sc) |= FNIC_IO_ABT_TERM_TIMED_OUT;