struct timer_list fabric_block_timer;
        unsigned long bit_flags;
        atomic_t num_rsrc_err;
-       atomic_t num_cmd_success;
        unsigned long last_rsrc_error_time;
        unsigned long last_ramp_down_time;
 #ifdef CONFIG_SCSI_LPFC_DEBUG_FS
 
        struct Scsi_Host  *shost;
        struct scsi_device *sdev;
        unsigned long new_queue_depth;
-       unsigned long num_rsrc_err, num_cmd_success;
+       unsigned long num_rsrc_err;
        int i;
 
        num_rsrc_err = atomic_read(&phba->num_rsrc_err);
-       num_cmd_success = atomic_read(&phba->num_cmd_success);
 
        /*
         * The error and success command counters are global per
                for (i = 0; i <= phba->max_vports && vports[i] != NULL; i++) {
                        shost = lpfc_shost_from_vport(vports[i]);
                        shost_for_each_device(sdev, shost) {
-                               new_queue_depth =
-                                       sdev->queue_depth * num_rsrc_err /
-                                       (num_rsrc_err + num_cmd_success);
-                               if (!new_queue_depth)
-                                       new_queue_depth = sdev->queue_depth - 1;
+                               if (num_rsrc_err >= sdev->queue_depth)
+                                       new_queue_depth = 1;
                                else
                                        new_queue_depth = sdev->queue_depth -
-                                                               new_queue_depth;
+                                               num_rsrc_err;
                                scsi_change_queue_depth(sdev, new_queue_depth);
                        }
                }
        lpfc_destroy_vport_work_array(phba, vports);
        atomic_set(&phba->num_rsrc_err, 0);
-       atomic_set(&phba->num_cmd_success, 0);
 }
 
 /**