pr_debug("transport task timeout fired! task: %p cmd: %p\n", task, cmd);
spin_lock_irqsave(&cmd->t_state_lock, flags);
- if (task->task_flags & TF_TIMER_STOP) {
- spin_unlock_irqrestore(&cmd->t_state_lock, flags);
- return;
- }
task->task_flags &= ~TF_TIMER_RUNNING;
/*
if (!(task->task_flags & TF_TIMER_RUNNING))
return;
- task->task_flags |= TF_TIMER_STOP;
spin_unlock_irqrestore(&cmd->t_state_lock, *flags);
del_timer_sync(&task->task_timer);
spin_lock_irqsave(&cmd->t_state_lock, *flags);
task->task_flags &= ~TF_TIMER_RUNNING;
- task->task_flags &= ~TF_TIMER_STOP;
}
static void transport_stop_all_task_timers(struct se_cmd *cmd)
TF_TIMEOUT = (1 << 2),
TF_REQUEST_STOP = (1 << 3),
TF_TIMER_RUNNING = (1 << 4),
- TF_TIMER_STOP = (1 << 5),
};
/* Special transport agnostic struct se_cmd->t_states */