aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/scsi/zfcp_aux.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/s390/scsi/zfcp_aux.c')
-rw-r--r--drivers/s390/scsi/zfcp_aux.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/s390/scsi/zfcp_aux.c b/drivers/s390/scsi/zfcp_aux.c
index a8c965b6f744..ee13a455c823 100644
--- a/drivers/s390/scsi/zfcp_aux.c
+++ b/drivers/s390/scsi/zfcp_aux.c
@@ -351,7 +351,7 @@ err_out_free:
351 */ 351 */
352void zfcp_unit_dequeue(struct zfcp_unit *unit) 352void zfcp_unit_dequeue(struct zfcp_unit *unit)
353{ 353{
354 zfcp_unit_wait(unit); 354 wait_event(unit->remove_wq, atomic_read(&unit->refcount) == 0);
355 write_lock_irq(&zfcp_data.config_lock); 355 write_lock_irq(&zfcp_data.config_lock);
356 list_del(&unit->list); 356 list_del(&unit->list);
357 write_unlock_irq(&zfcp_data.config_lock); 357 write_unlock_irq(&zfcp_data.config_lock);
@@ -740,7 +740,7 @@ err_out:
740 */ 740 */
741void zfcp_port_dequeue(struct zfcp_port *port) 741void zfcp_port_dequeue(struct zfcp_port *port)
742{ 742{
743 zfcp_port_wait(port); 743 wait_event(port->remove_wq, atomic_read(&port->refcount) == 0);
744 write_lock_irq(&zfcp_data.config_lock); 744 write_lock_irq(&zfcp_data.config_lock);
745 list_del(&port->list); 745 list_del(&port->list);
746 port->adapter->ports--; 746 port->adapter->ports--;