diff options
Diffstat (limited to 'drivers/s390/scsi/zfcp_ccw.c')
-rw-r--r-- | drivers/s390/scsi/zfcp_ccw.c | 24 |
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 | } |