[PATCH 33/38] scsi: transport: add missing put_device call

From: Levente Kurusa
Date: Thu Dec 19 2013 - 10:08:24 EST


This is required so that we give up the last reference to the device.
Remove the kfree() as well, because the put_device() will result in
iscsi_endpoint_release being called and hence it will be kfree'd.

Signed-off-by: Levente Kurusa <levex@xxxxxxxxx>
---
drivers/scsi/scsi_transport_iscsi.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/scsi/scsi_transport_iscsi.c b/drivers/scsi/scsi_transport_iscsi.c
index 63a6ca4..ff20f35 100644
--- a/drivers/scsi/scsi_transport_iscsi.c
+++ b/drivers/scsi/scsi_transport_iscsi.c
@@ -219,8 +219,10 @@ iscsi_create_endpoint(int dd_size)
ep->dev.class = &iscsi_endpoint_class;
dev_set_name(&ep->dev, "ep-%llu", (unsigned long long) id);
err = device_register(&ep->dev);
- if (err)
- goto free_ep;
+ if (err) {
+ put_device(&ep->dev);
+ return NULL;
+ }

err = sysfs_create_group(&ep->dev.kobj, &iscsi_endpoint_group);
if (err)
@@ -233,10 +235,6 @@ iscsi_create_endpoint(int dd_size)
unregister_dev:
device_unregister(&ep->dev);
return NULL;
-
-free_ep:
- kfree(ep);
- return NULL;
}
EXPORT_SYMBOL_GPL(iscsi_create_endpoint);

--
1.8.3.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/