}
 EXPORT_SYMBOL(transport_generic_allocate_tasks);
 
-static void transport_generic_request_failure(struct se_cmd *,
-                       struct se_device *, int, int);
+static void transport_generic_request_failure(struct se_cmd *, int, int);
+
 /*
  * Used by fabric module frontends to queue tasks directly.
  * Many only be used from process context only
                return 0;
        else if (ret < 0) {
                cmd->transport_error_status = ret;
-               transport_generic_request_failure(cmd, NULL, 0,
+               transport_generic_request_failure(cmd, 0,
                                (cmd->data_direction != DMA_TO_DEVICE));
        }
        return 0;
  */
 static void transport_generic_request_failure(
        struct se_cmd *cmd,
-       struct se_device *dev,
        int complete,
        int sc)
 {
                atomic_read(&cmd->t_transport_stop),
                atomic_read(&cmd->t_transport_sent));
 
-       if (dev)
-               atomic_inc(&dev->depth_left);
        /*
         * For SAM Task Attribute emulation for failed struct se_cmd
         */
 
        if (se_dev_check_online(cmd->se_orig_obj_ptr) != 0) {
                cmd->transport_error_status = PYX_TRANSPORT_LU_COMM_FAILURE;
-               transport_generic_request_failure(cmd, NULL, 0, 1);
+               transport_generic_request_failure(cmd, 0, 1);
                return 0;
        }
 
                        del_timer_sync(&task->task_timer);
                        atomic_set(&cmd->transport_sent, 0);
                        transport_stop_tasks_for_cmd(cmd);
-                       transport_generic_request_failure(cmd, dev, 0, 1);
+                       atomic_inc(&dev->depth_left);
+                       transport_generic_request_failure(cmd, 0, 1);
                        goto check_depth;
                }
                /*
                        del_timer_sync(&task->task_timer);
                        atomic_set(&cmd->transport_sent, 0);
                        transport_stop_tasks_for_cmd(cmd);
-                       transport_generic_request_failure(cmd, dev, 0, 1);
+                       atomic_inc(&dev->depth_left);
+                       transport_generic_request_failure(cmd, 0, 1);
                }
        }
 
                        ret = cmd->se_tfo->new_cmd_map(cmd);
                        if (ret < 0) {
                                cmd->transport_error_status = ret;
-                               transport_generic_request_failure(cmd, NULL,
+                               transport_generic_request_failure(cmd,
                                                0, (cmd->data_direction !=
                                                    DMA_TO_DEVICE));
                                break;
                                break;
                        else if (ret < 0) {
                                cmd->transport_error_status = ret;
-                               transport_generic_request_failure(cmd, NULL,
+                               transport_generic_request_failure(cmd,
                                        0, (cmd->data_direction !=
                                         DMA_TO_DEVICE));
                        }
                        transport_generic_do_tmr(cmd);
                        break;
                case TRANSPORT_COMPLETE_FAILURE:
-                       transport_generic_request_failure(cmd, NULL, 1, 1);
+                       transport_generic_request_failure(cmd, 1, 1);
                        break;
                case TRANSPORT_COMPLETE_TIMEOUT:
                        transport_generic_request_timeout(cmd);