Commit 683c5418 authored by Peter Oberparleiter's avatar Peter Oberparleiter Committed by Heiko Carstens

[S390] cio: suppress chpid event in case of configure error

Do not send CHP_ONLINE/CHP_OFFLINE events to subchannel drivers when a
channel-path configure request failed.
Signed-off-by: default avatarPeter Oberparleiter <peter.oberparleiter@de.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
parent f08adc00
...@@ -624,6 +624,7 @@ static void cfg_func(struct work_struct *work) ...@@ -624,6 +624,7 @@ static void cfg_func(struct work_struct *work)
{ {
struct chp_id chpid; struct chp_id chpid;
enum cfg_task_t t; enum cfg_task_t t;
int rc;
mutex_lock(&cfg_lock); mutex_lock(&cfg_lock);
t = cfg_none; t = cfg_none;
...@@ -638,14 +639,24 @@ static void cfg_func(struct work_struct *work) ...@@ -638,14 +639,24 @@ static void cfg_func(struct work_struct *work)
switch (t) { switch (t) {
case cfg_configure: case cfg_configure:
sclp_chp_configure(chpid); rc = sclp_chp_configure(chpid);
if (rc)
CIO_MSG_EVENT(2, "chp: sclp_chp_configure(%x.%02x)="
"%d\n", chpid.cssid, chpid.id, rc);
else {
info_expire(); info_expire();
chsc_chp_online(chpid); chsc_chp_online(chpid);
}
break; break;
case cfg_deconfigure: case cfg_deconfigure:
sclp_chp_deconfigure(chpid); rc = sclp_chp_deconfigure(chpid);
if (rc)
CIO_MSG_EVENT(2, "chp: sclp_chp_deconfigure(%x.%02x)="
"%d\n", chpid.cssid, chpid.id, rc);
else {
info_expire(); info_expire();
chsc_chp_offline(chpid); chsc_chp_offline(chpid);
}
break; break;
case cfg_none: case cfg_none:
/* Get updated information after last change. */ /* Get updated information after last change. */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment