target: remove transport_free_se_cmd
authorChristoph Hellwig <hch@lst.de>
Tue, 13 Sep 2011 21:08:19 +0000 (23:08 +0200)
committerNicholas Bellinger <nab@linux-iscsi.org>
Mon, 24 Oct 2011 03:20:31 +0000 (03:20 +0000)
It is only called by transport_release_cmd, so inline it there.  Also add
a kerneldoc comment for transport_release_cmd while we are at it.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
drivers/target/target_core_transport.c
include/target/target_core_transport.h

index 0c1d004548b1f8d49614ab99e11b5173f1cf4447..49df0971a37f2ae38db01c32e5617d8b67cf226d 100644 (file)
@@ -1640,19 +1640,6 @@ static int transport_check_alloc_task_attr(struct se_cmd *cmd)
        return 0;
 }
 
-void transport_free_se_cmd(
-       struct se_cmd *se_cmd)
-{
-       if (se_cmd->se_tmr_req)
-               core_tmr_release_req(se_cmd->se_tmr_req);
-       /*
-        * Check and free any extended CDB buffer that was allocated
-        */
-       if (se_cmd->t_task_cdb != se_cmd->__t_task_cdb)
-               kfree(se_cmd->t_task_cdb);
-}
-EXPORT_SYMBOL(transport_free_se_cmd);
-
 static void transport_generic_wait_for_tasks(struct se_cmd *, int, int);
 
 /*     transport_generic_allocate_tasks():
@@ -4371,11 +4358,21 @@ queue_full:
        return ret;
 }
 
+/**
+ * transport_release_cmd - free a command
+ * @cmd:       command to free
+ *
+ * This routine unconditionally frees a command, and reference counting
+ * or list removal must be done in the caller.
+ */
 void transport_release_cmd(struct se_cmd *cmd)
 {
        BUG_ON(!cmd->se_tfo);
 
-       transport_free_se_cmd(cmd);
+       if (cmd->se_tmr_req)
+               core_tmr_release_req(cmd->se_tmr_req);
+       if (cmd->t_task_cdb != cmd->__t_task_cdb)
+               kfree(cmd->t_task_cdb);
        cmd->se_tfo->release_cmd(cmd);
 }
 EXPORT_SYMBOL(transport_release_cmd);
index 0482a28629ff899f6580dbc7e14954973e8a5710..99a671e0f9da31a18b021c97f481b74366c73bde 100644 (file)
@@ -169,7 +169,6 @@ extern void transport_init_se_cmd(struct se_cmd *,
                                        unsigned char *);
 void *transport_kmap_first_data_page(struct se_cmd *cmd);
 void transport_kunmap_first_data_page(struct se_cmd *cmd);
-extern void transport_free_se_cmd(struct se_cmd *);
 extern int transport_generic_allocate_tasks(struct se_cmd *, unsigned char *);
 extern int transport_handle_cdb_direct(struct se_cmd *);
 extern int transport_generic_handle_cdb_map(struct se_cmd *);