Commit c82b59e7 authored by tangwenji's avatar tangwenji Committed by Nicholas Bellinger

target: fix destroy device in target_configure_device

After dev->transport->configure_device succeeds, target_configure_device
exits abnormally, dev_flags has not set DF_CONFIGURED yet, does not call
destroy_device function in free_device.
Signed-off-by: default avatartangwenji <tang.wenji@zte.com.cn>
Acked-by: default avatarMike Christie <mchristi@redhat.com>
Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
parent 892782ca
...@@ -997,7 +997,7 @@ int target_configure_device(struct se_device *dev) ...@@ -997,7 +997,7 @@ int target_configure_device(struct se_device *dev)
ret = core_setup_alua(dev); ret = core_setup_alua(dev);
if (ret) if (ret)
goto out_free_index; goto out_destroy_device;
/* /*
* Startup the struct se_device processing thread * Startup the struct se_device processing thread
...@@ -1041,6 +1041,8 @@ int target_configure_device(struct se_device *dev) ...@@ -1041,6 +1041,8 @@ int target_configure_device(struct se_device *dev)
out_free_alua: out_free_alua:
core_alua_free_lu_gp_mem(dev); core_alua_free_lu_gp_mem(dev);
out_destroy_device:
dev->transport->destroy_device(dev);
out_free_index: out_free_index:
mutex_lock(&device_mutex); mutex_lock(&device_mutex);
idr_remove(&devices_idr, dev->dev_index); idr_remove(&devices_idr, dev->dev_index);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment