diff options
-rw-r--r-- | drivers/s390/scsi/zfcp_aux.c | 1 | ||||
-rw-r--r-- | drivers/s390/scsi/zfcp_ccw.c | 4 |
2 files changed, 4 insertions, 1 deletions
diff --git a/drivers/s390/scsi/zfcp_aux.c b/drivers/s390/scsi/zfcp_aux.c index 351d2e711ec5..5dcac24a7a1b 100644 --- a/drivers/s390/scsi/zfcp_aux.c +++ b/drivers/s390/scsi/zfcp_aux.c | |||
@@ -602,7 +602,6 @@ void zfcp_adapter_dequeue(struct zfcp_adapter *adapter) | |||
602 | int retval = 0; | 602 | int retval = 0; |
603 | unsigned long flags; | 603 | unsigned long flags; |
604 | 604 | ||
605 | cancel_work_sync(&adapter->scan_work); | ||
606 | cancel_work_sync(&adapter->stat_work); | 605 | cancel_work_sync(&adapter->stat_work); |
607 | zfcp_fc_wka_ports_force_offline(adapter->gs); | 606 | zfcp_fc_wka_ports_force_offline(adapter->gs); |
608 | zfcp_adapter_scsi_unregister(adapter); | 607 | zfcp_adapter_scsi_unregister(adapter); |
diff --git a/drivers/s390/scsi/zfcp_ccw.c b/drivers/s390/scsi/zfcp_ccw.c index 95644b71836e..9fe32f7ec8d2 100644 --- a/drivers/s390/scsi/zfcp_ccw.c +++ b/drivers/s390/scsi/zfcp_ccw.c | |||
@@ -102,7 +102,11 @@ static void zfcp_ccw_remove(struct ccw_device *ccw_device) | |||
102 | adapter = dev_get_drvdata(&ccw_device->dev); | 102 | adapter = dev_get_drvdata(&ccw_device->dev); |
103 | if (!adapter) | 103 | if (!adapter) |
104 | goto out; | 104 | goto out; |
105 | mutex_unlock(&zfcp_data.config_mutex); | ||
106 | |||
107 | cancel_work_sync(&adapter->scan_work); | ||
105 | 108 | ||
109 | mutex_lock(&zfcp_data.config_mutex); | ||
106 | write_lock_irq(&zfcp_data.config_lock); | 110 | write_lock_irq(&zfcp_data.config_lock); |
107 | list_for_each_entry_safe(port, p, &adapter->port_list_head, list) { | 111 | list_for_each_entry_safe(port, p, &adapter->port_list_head, list) { |
108 | list_for_each_entry_safe(unit, u, &port->unit_list_head, list) { | 112 | list_for_each_entry_safe(unit, u, &port->unit_list_head, list) { |