From 8797dbd5330d1c3824cd07274b8457bfb0bc96d5 Mon Sep 17 00:00:00 2001 From: Vladislav Bolkhovitin Date: Wed, 15 Dec 2010 20:45:13 +0000 Subject: [PATCH] Cleanup. In scst_cmd_done_pr_preempt() cmd->pr_abort_counter and, hence, saved_cmd_done must be not NULL. git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3100 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- scst/src/scst_pres.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/scst/src/scst_pres.c b/scst/src/scst_pres.c index a27739fe3..700e1da3e 100644 --- a/scst/src/scst_pres.c +++ b/scst/src/scst_pres.c @@ -2339,15 +2339,12 @@ static void scst_cmd_done_pr_preempt(struct scst_cmd *cmd, int next_state, TRACE_ENTRY(); - saved_cmd_done = NULL; /* to remove warning that it's used not inited */ + if (!atomic_dec_and_test(&cmd->pr_abort_counter->pr_abort_pending_cnt)) + goto out; - if (cmd->pr_abort_counter != NULL) { - if (!atomic_dec_and_test(&cmd->pr_abort_counter->pr_abort_pending_cnt)) - goto out; - saved_cmd_done = cmd->pr_abort_counter->saved_cmd_done; - kfree(cmd->pr_abort_counter); - cmd->pr_abort_counter = NULL; - } + saved_cmd_done = cmd->pr_abort_counter->saved_cmd_done; + kfree(cmd->pr_abort_counter); + cmd->pr_abort_counter = NULL; saved_cmd_done(cmd, next_state, pref_context);