diff options
author | Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com> | 2017-07-05 22:00:45 -0400 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2017-07-13 05:28:29 -0400 |
commit | 2daace78a8c94e2cd20164b8efc18171c56e92ec (patch) | |
tree | 3f7d31b2eb1e66280cb31b0b43b6c1307173d138 | |
parent | b855629b9a4107c37999723c09cc9fd357b53caf (diff) |
s390: chp: handle CRW_ERC_INIT for channel-path status change
When channel path is identified as the report source code (RSC)
of a CRW, and initialized (CRW_ERC_INIT) is recognized as the
error recovery code (ERC) by the channel subsystem, it indicates
a "path has come" event.
Let's handle this case in chp_process_crw().
Reviewed-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
-rw-r--r-- | drivers/s390/cio/chp.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/s390/cio/chp.c b/drivers/s390/cio/chp.c index 7e0d4f724dda..432fc40990bd 100644 --- a/drivers/s390/cio/chp.c +++ b/drivers/s390/cio/chp.c | |||
@@ -559,6 +559,7 @@ static void chp_process_crw(struct crw *crw0, struct crw *crw1, | |||
559 | chpid.id = crw0->rsid; | 559 | chpid.id = crw0->rsid; |
560 | switch (crw0->erc) { | 560 | switch (crw0->erc) { |
561 | case CRW_ERC_IPARM: /* Path has come. */ | 561 | case CRW_ERC_IPARM: /* Path has come. */ |
562 | case CRW_ERC_INIT: | ||
562 | if (!chp_is_registered(chpid)) | 563 | if (!chp_is_registered(chpid)) |
563 | chp_new(chpid); | 564 | chp_new(chpid); |
564 | chsc_chp_online(chpid); | 565 | chsc_chp_online(chpid); |