aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/scsi/zfcp_ccw.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/s390/scsi/zfcp_ccw.c')
-rw-r--r--drivers/s390/scsi/zfcp_ccw.c24
1 files changed, 11 insertions, 13 deletions
diff --git a/drivers/s390/scsi/zfcp_ccw.c b/drivers/s390/scsi/zfcp_ccw.c
index edc5015e920d..66d3b88844b0 100644
--- a/drivers/s390/scsi/zfcp_ccw.c
+++ b/drivers/s390/scsi/zfcp_ccw.c
@@ -170,9 +170,10 @@ zfcp_ccw_set_online(struct ccw_device *ccw_device)
170 BUG_ON(!zfcp_reqlist_isempty(adapter)); 170 BUG_ON(!zfcp_reqlist_isempty(adapter));
171 adapter->req_no = 0; 171 adapter->req_no = 0;
172 172
173 zfcp_erp_modify_adapter_status(adapter, ZFCP_STATUS_COMMON_RUNNING, 173 zfcp_erp_modify_adapter_status(adapter, 10, NULL,
174 ZFCP_SET); 174 ZFCP_STATUS_COMMON_RUNNING, ZFCP_SET);
175 zfcp_erp_adapter_reopen(adapter, ZFCP_STATUS_COMMON_ERP_FAILED); 175 zfcp_erp_adapter_reopen(adapter, ZFCP_STATUS_COMMON_ERP_FAILED, 85,
176 NULL);
176 zfcp_erp_wait(adapter); 177 zfcp_erp_wait(adapter);
177 goto out; 178 goto out;
178 179
@@ -197,7 +198,7 @@ zfcp_ccw_set_offline(struct ccw_device *ccw_device)
197 198
198 down(&zfcp_data.config_sema); 199 down(&zfcp_data.config_sema);
199 adapter = dev_get_drvdata(&ccw_device->dev); 200 adapter = dev_get_drvdata(&ccw_device->dev);
200 zfcp_erp_adapter_shutdown(adapter, 0); 201 zfcp_erp_adapter_shutdown(adapter, 0, 86, NULL);
201 zfcp_erp_wait(adapter); 202 zfcp_erp_wait(adapter);
202 zfcp_erp_thread_kill(adapter); 203 zfcp_erp_thread_kill(adapter);
203 up(&zfcp_data.config_sema); 204 up(&zfcp_data.config_sema);
@@ -223,24 +224,21 @@ zfcp_ccw_notify(struct ccw_device *ccw_device, int event)
223 case CIO_GONE: 224 case CIO_GONE:
224 ZFCP_LOG_NORMAL("adapter %s: device gone\n", 225 ZFCP_LOG_NORMAL("adapter %s: device gone\n",
225 zfcp_get_busid_by_adapter(adapter)); 226 zfcp_get_busid_by_adapter(adapter));
226 debug_text_event(adapter->erp_dbf,1,"dev_gone"); 227 zfcp_erp_adapter_shutdown(adapter, 0, 87, NULL);
227 zfcp_erp_adapter_shutdown(adapter, 0);
228 break; 228 break;
229 case CIO_NO_PATH: 229 case CIO_NO_PATH:
230 ZFCP_LOG_NORMAL("adapter %s: no path\n", 230 ZFCP_LOG_NORMAL("adapter %s: no path\n",
231 zfcp_get_busid_by_adapter(adapter)); 231 zfcp_get_busid_by_adapter(adapter));
232 debug_text_event(adapter->erp_dbf,1,"no_path"); 232 zfcp_erp_adapter_shutdown(adapter, 0, 88, NULL);
233 zfcp_erp_adapter_shutdown(adapter, 0);
234 break; 233 break;
235 case CIO_OPER: 234 case CIO_OPER:
236 ZFCP_LOG_NORMAL("adapter %s: operational again\n", 235 ZFCP_LOG_NORMAL("adapter %s: operational again\n",
237 zfcp_get_busid_by_adapter(adapter)); 236 zfcp_get_busid_by_adapter(adapter));
238 debug_text_event(adapter->erp_dbf,1,"dev_oper"); 237 zfcp_erp_modify_adapter_status(adapter, 11, NULL,
239 zfcp_erp_modify_adapter_status(adapter,
240 ZFCP_STATUS_COMMON_RUNNING, 238 ZFCP_STATUS_COMMON_RUNNING,
241 ZFCP_SET); 239 ZFCP_SET);
242 zfcp_erp_adapter_reopen(adapter, 240 zfcp_erp_adapter_reopen(adapter, ZFCP_STATUS_COMMON_ERP_FAILED,
243 ZFCP_STATUS_COMMON_ERP_FAILED); 241 89, NULL);
244 break; 242 break;
245 } 243 }
246 zfcp_erp_wait(adapter); 244 zfcp_erp_wait(adapter);
@@ -272,7 +270,7 @@ zfcp_ccw_shutdown(struct ccw_device *cdev)
272 270
273 down(&zfcp_data.config_sema); 271 down(&zfcp_data.config_sema);
274 adapter = dev_get_drvdata(&cdev->dev); 272 adapter = dev_get_drvdata(&cdev->dev);
275 zfcp_erp_adapter_shutdown(adapter, 0); 273 zfcp_erp_adapter_shutdown(adapter, 0, 90, NULL);
276 zfcp_erp_wait(adapter); 274 zfcp_erp_wait(adapter);
277 up(&zfcp_data.config_sema); 275 up(&zfcp_data.config_sema);
278} 276}