aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/target
diff options
context:
space:
mode:
authorNicholas Bellinger <nab@linux-iscsi.org>2011-11-12 12:29:51 -0500
committerNicholas Bellinger <nab@linux-iscsi.org>2011-12-06 01:00:51 -0500
commit6297b07cbc42eb6b53eb88fce70a4727ea230797 (patch)
tree34996a19baaa466e274b361e4437da97b85d249f /drivers/target
parent97c34f3b04978799fd6eada69e1a8d84b74d9599 (diff)
target: Drop config_item_name usage in fabric TFO->free_wwn()
This patch removes config_item_name() informational usage of TFO->free_wwn() treewide in loopback, tcm_fc, ib_srpt and tcm_vhost module code. Using v4 target_core_fabric_configfs.c logic, a fabric call for config_item_name() in TFO->drop_wwn() context returns NULL as target_fabric_drop_wwn() invoking config_item_put() -> config_group_put() will release fabric_port->port_wwn.wwn_group before the last config_item_put() -> TFO->drop_wwn() is invoked. Reported-by: Bart Van Assche <bvanassche@acm.org> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Diffstat (limited to 'drivers/target')
-rw-r--r--drivers/target/loopback/tcm_loop.c9
-rw-r--r--drivers/target/tcm_fc/tfc_conf.c3
2 files changed, 5 insertions, 7 deletions
diff --git a/drivers/target/loopback/tcm_loop.c b/drivers/target/loopback/tcm_loop.c
index cbf5e4513741..0ca89f02e26f 100644
--- a/drivers/target/loopback/tcm_loop.c
+++ b/drivers/target/loopback/tcm_loop.c
@@ -1342,17 +1342,16 @@ void tcm_loop_drop_scsi_hba(
1342{ 1342{
1343 struct tcm_loop_hba *tl_hba = container_of(wwn, 1343 struct tcm_loop_hba *tl_hba = container_of(wwn,
1344 struct tcm_loop_hba, tl_hba_wwn); 1344 struct tcm_loop_hba, tl_hba_wwn);
1345 int host_no = tl_hba->sh->host_no; 1345
1346 pr_debug("TCM_Loop_ConfigFS: Deallocating emulated Target"
1347 " SAS Address: %s at Linux/SCSI Host ID: %d\n",
1348 tl_hba->tl_wwn_address, tl_hba->sh->host_no);
1346 /* 1349 /*
1347 * Call device_unregister() on the original tl_hba->dev. 1350 * Call device_unregister() on the original tl_hba->dev.
1348 * tcm_loop_fabric_scsi.c:tcm_loop_release_adapter() will 1351 * tcm_loop_fabric_scsi.c:tcm_loop_release_adapter() will
1349 * release *tl_hba; 1352 * release *tl_hba;
1350 */ 1353 */
1351 device_unregister(&tl_hba->dev); 1354 device_unregister(&tl_hba->dev);
1352
1353 pr_debug("TCM_Loop_ConfigFS: Deallocated emulated Target"
1354 " SAS Address: %s at Linux/SCSI Host ID: %d\n",
1355 config_item_name(&wwn->wwn_group.cg_item), host_no);
1356} 1355}
1357 1356
1358/* Start items for tcm_loop_cit */ 1357/* Start items for tcm_loop_cit */
diff --git a/drivers/target/tcm_fc/tfc_conf.c b/drivers/target/tcm_fc/tfc_conf.c
index 5f770412ca40..9402b7387cac 100644
--- a/drivers/target/tcm_fc/tfc_conf.c
+++ b/drivers/target/tcm_fc/tfc_conf.c
@@ -436,8 +436,7 @@ static void ft_del_lport(struct se_wwn *wwn)
436 struct ft_lport_acl *lacl = container_of(wwn, 436 struct ft_lport_acl *lacl = container_of(wwn,
437 struct ft_lport_acl, fc_lport_wwn); 437 struct ft_lport_acl, fc_lport_wwn);
438 438
439 pr_debug("del lport %s\n", 439 pr_debug("del lport %s\n", lacl->name);
440 config_item_name(&wwn->wwn_group.cg_item));
441 mutex_lock(&ft_lport_lock); 440 mutex_lock(&ft_lport_lock);
442 list_del(&lacl->list); 441 list_del(&lacl->list);
443 mutex_unlock(&ft_lport_lock); 442 mutex_unlock(&ft_lport_lock);