aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/s390/scsi/zfcp_erp.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/s390/scsi/zfcp_erp.c b/drivers/s390/scsi/zfcp_erp.c
index b73e37027eb5..fdc9b4352a64 100644
--- a/drivers/s390/scsi/zfcp_erp.c
+++ b/drivers/s390/scsi/zfcp_erp.c
@@ -1311,6 +1311,11 @@ static int zfcp_erp_thread(void *data)
1311 1311
1312 while (!(atomic_read(&adapter->status) & 1312 while (!(atomic_read(&adapter->status) &
1313 ZFCP_STATUS_ADAPTER_ERP_THREAD_KILL)) { 1313 ZFCP_STATUS_ADAPTER_ERP_THREAD_KILL)) {
1314
1315 zfcp_rec_dbf_event_thread_lock("erthrd1", adapter);
1316 ignore = down_interruptible(&adapter->erp_ready_sem);
1317 zfcp_rec_dbf_event_thread_lock("erthrd2", adapter);
1318
1314 write_lock_irqsave(&adapter->erp_lock, flags); 1319 write_lock_irqsave(&adapter->erp_lock, flags);
1315 next = adapter->erp_ready_head.next; 1320 next = adapter->erp_ready_head.next;
1316 write_unlock_irqrestore(&adapter->erp_lock, flags); 1321 write_unlock_irqrestore(&adapter->erp_lock, flags);
@@ -1322,10 +1327,6 @@ static int zfcp_erp_thread(void *data)
1322 if (zfcp_erp_strategy(act) != ZFCP_ERP_DISMISSED) 1327 if (zfcp_erp_strategy(act) != ZFCP_ERP_DISMISSED)
1323 zfcp_erp_wakeup(adapter); 1328 zfcp_erp_wakeup(adapter);
1324 } 1329 }
1325
1326 zfcp_rec_dbf_event_thread_lock("erthrd1", adapter);
1327 ignore = down_interruptible(&adapter->erp_ready_sem);
1328 zfcp_rec_dbf_event_thread_lock("erthrd2", adapter);
1329 } 1330 }
1330 1331
1331 atomic_clear_mask(ZFCP_STATUS_ADAPTER_ERP_THREAD_UP, &adapter->status); 1332 atomic_clear_mask(ZFCP_STATUS_ADAPTER_ERP_THREAD_UP, &adapter->status);