mirror of
https://github.com/torvalds/linux.git
synced 2024-11-11 14:42:24 +00:00
[SCSI] zfcp: Call get_device on port before calling put_device
zfcp_unit_release calls put_device on the port. Ensure that get_device has been called before possibly triggering the release function through put_device or device_unregister. Reviewed-by: Swen Schillig <swen@vnet.ibm.com> Signed-off-by: Christof Schmitt <christof.schmitt@de.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
This commit is contained in:
parent
0df138476c
commit
1a9708cd35
@ -142,6 +142,8 @@ int zfcp_unit_add(struct zfcp_port *port, u64 fcp_lun)
|
|||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
get_device(&port->dev);
|
||||||
|
|
||||||
if (device_register(&unit->dev)) {
|
if (device_register(&unit->dev)) {
|
||||||
put_device(&unit->dev);
|
put_device(&unit->dev);
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
@ -152,8 +154,6 @@ int zfcp_unit_add(struct zfcp_port *port, u64 fcp_lun)
|
|||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
get_device(&port->dev);
|
|
||||||
|
|
||||||
write_lock_irq(&port->unit_list_lock);
|
write_lock_irq(&port->unit_list_lock);
|
||||||
list_add_tail(&unit->list, &port->unit_list);
|
list_add_tail(&unit->list, &port->unit_list);
|
||||||
write_unlock_irq(&port->unit_list_lock);
|
write_unlock_irq(&port->unit_list_lock);
|
||||||
|
Loading…
Reference in New Issue
Block a user