Commit be46e39a authored by Qinglang Miao's avatar Qinglang Miao Committed by Martin K. Petersen
Browse files

scsi: zfcp: Move the position of put_device()

Place the put_device() call after device_unregister() in both
zfcp_unit_remove() and zfcp_sysfs_port_remove_store() to make it more
natural. put_device() ought to be the last time we touch the object in both
functions.

Add comments after put_device() to make code clearer.

Link: https://lore.kernel.org/r/0a568c7733ba0f1dde28b0c663b90270d44dd540.1618417667.git.bblock@linux.ibm.com


Suggested-by: default avatarSteffen Maier <maier@linux.ibm.com>
Suggested-by: default avatarBenjamin Block <bblock@linux.ibm.com>
Signed-off-by: default avatarQinglang Miao <miaoqinglang@huawei.com>
Signed-off-by: default avatarBenjamin Block <bblock@linux.ibm.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent 20540a56
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -327,10 +327,10 @@ static ssize_t zfcp_sysfs_port_remove_store(struct device *dev,
	list_del(&port->list);
	write_unlock_irq(&adapter->port_list_lock);

	put_device(&port->dev);

	zfcp_erp_port_shutdown(port, 0, "syprs_1");
	device_unregister(&port->dev);

	put_device(&port->dev); /* undo zfcp_get_port_by_wwpn() */
 out:
	zfcp_ccw_adapter_put(adapter);
	return retval ? retval : (ssize_t) count;
+2 −2
Original line number Diff line number Diff line
@@ -255,9 +255,9 @@ int zfcp_unit_remove(struct zfcp_port *port, u64 fcp_lun)
		scsi_device_put(sdev);
	}

	put_device(&unit->dev);

	device_unregister(&unit->dev);

	put_device(&unit->dev); /* undo _zfcp_unit_find() */

	return 0;
}