Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 253979
b: refs/heads/master
c: 42c6951
h: refs/heads/master
i:
  253977: 28e4872
  253975: cae8501
v: v3
  • Loading branch information
Nicholas Bellinger committed May 27, 2011
1 parent 643b0d3 commit 3bba1f3
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 2 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 1e7de68c57daf75ec4b721f101f88cccf029e38c
refs/heads/master: 42c6951e2f7a665bcb57b92fe3f806ba48152c0e
13 changes: 12 additions & 1 deletion trunk/drivers/target/target_core_transport.c
Original file line number Diff line number Diff line change
Expand Up @@ -762,7 +762,6 @@ static void transport_lun_remove_cmd(struct se_cmd *cmd)
transport_all_task_dev_remove_state(cmd);
spin_unlock_irqrestore(&T_TASK(cmd)->t_state_lock, flags);

transport_free_dev_tasks(cmd);

check_lun:
spin_lock_irqsave(&lun->lun_cmd_lock, flags);
Expand Down Expand Up @@ -2058,6 +2057,13 @@ int transport_generic_handle_tmr(
}
EXPORT_SYMBOL(transport_generic_handle_tmr);

void transport_generic_free_cmd_intr(
struct se_cmd *cmd)
{
transport_add_cmd_to_queue(cmd, TRANSPORT_FREE_CMD_INTR);
}
EXPORT_SYMBOL(transport_generic_free_cmd_intr);

static int transport_stop_tasks_for_cmd(struct se_cmd *cmd)
{
struct se_task *task, *task_tmp;
Expand Down Expand Up @@ -5301,6 +5307,8 @@ void transport_generic_free_cmd(
if (wait_for_tasks && cmd->transport_wait_for_tasks)
cmd->transport_wait_for_tasks(cmd, 0, 0);

transport_free_dev_tasks(cmd);

transport_generic_remove(cmd, release_to_pool,
session_reinstatement);
}
Expand Down Expand Up @@ -6136,6 +6144,9 @@ static int transport_processing_thread(void *param)
case TRANSPORT_REMOVE:
transport_generic_remove(cmd, 1, 0);
break;
case TRANSPORT_FREE_CMD_INTR:
transport_generic_free_cmd(cmd, 0, 1, 0);
break;
case TRANSPORT_PROCESS_TMR:
transport_generic_do_tmr(cmd);
break;
Expand Down
1 change: 1 addition & 0 deletions trunk/include/target/target_core_base.h
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,7 @@ enum transport_state_table {
TRANSPORT_REMOVE = 14,
TRANSPORT_FREE = 15,
TRANSPORT_NEW_CMD_MAP = 16,
TRANSPORT_FREE_CMD_INTR = 17,
};

/* Used for struct se_cmd->se_cmd_flags */
Expand Down
1 change: 1 addition & 0 deletions trunk/include/target/target_core_transport.h
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,7 @@ extern int transport_generic_handle_cdb_map(struct se_cmd *);
extern int transport_generic_handle_data(struct se_cmd *);
extern void transport_new_cmd_failure(struct se_cmd *);
extern int transport_generic_handle_tmr(struct se_cmd *);
extern void transport_generic_free_cmd_intr(struct se_cmd *);
extern void __transport_stop_task_timer(struct se_task *, unsigned long *);
extern unsigned char transport_asciihex_to_binaryhex(unsigned char val[2]);
extern int transport_generic_map_mem_to_cmd(struct se_cmd *cmd, struct scatterlist *, u32,
Expand Down

0 comments on commit 3bba1f3

Please sign in to comment.