diff options
-rw-r--r-- | drivers/s390/scsi/zfcp_erp.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/s390/scsi/zfcp_erp.c b/drivers/s390/scsi/zfcp_erp.c index 03cd6365ed04..64471ba6ac09 100644 --- a/drivers/s390/scsi/zfcp_erp.c +++ b/drivers/s390/scsi/zfcp_erp.c | |||
@@ -1246,6 +1246,11 @@ static int zfcp_erp_strategy(struct zfcp_erp_action *erp_action) | |||
1246 | goto unlock; | 1246 | goto unlock; |
1247 | } | 1247 | } |
1248 | 1248 | ||
1249 | if (erp_action->status & ZFCP_STATUS_ERP_TIMEDOUT) { | ||
1250 | retval = ZFCP_ERP_FAILED; | ||
1251 | goto check_target; | ||
1252 | } | ||
1253 | |||
1249 | zfcp_erp_action_to_running(erp_action); | 1254 | zfcp_erp_action_to_running(erp_action); |
1250 | 1255 | ||
1251 | /* no lock to allow for blocking operations */ | 1256 | /* no lock to allow for blocking operations */ |
@@ -1278,6 +1283,7 @@ static int zfcp_erp_strategy(struct zfcp_erp_action *erp_action) | |||
1278 | goto unlock; | 1283 | goto unlock; |
1279 | } | 1284 | } |
1280 | 1285 | ||
1286 | check_target: | ||
1281 | retval = zfcp_erp_strategy_check_target(erp_action, retval); | 1287 | retval = zfcp_erp_strategy_check_target(erp_action, retval); |
1282 | zfcp_erp_action_dequeue(erp_action); | 1288 | zfcp_erp_action_dequeue(erp_action); |
1283 | retval = zfcp_erp_strategy_statechange(erp_action, retval); | 1289 | retval = zfcp_erp_strategy_statechange(erp_action, retval); |