mirror of https://gitee.com/openkylin/linux.git
[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: Peter Oberparleiter <peter.oberparleiter@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
This commit is contained in:
parent
f08adc008d
commit
683c5418e6
|
@ -624,6 +624,7 @@ static void cfg_func(struct work_struct *work)
|
|||
{
|
||||
struct chp_id chpid;
|
||||
enum cfg_task_t t;
|
||||
int rc;
|
||||
|
||||
mutex_lock(&cfg_lock);
|
||||
t = cfg_none;
|
||||
|
@ -638,14 +639,24 @@ static void cfg_func(struct work_struct *work)
|
|||
|
||||
switch (t) {
|
||||
case cfg_configure:
|
||||
sclp_chp_configure(chpid);
|
||||
info_expire();
|
||||
chsc_chp_online(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();
|
||||
chsc_chp_online(chpid);
|
||||
}
|
||||
break;
|
||||
case cfg_deconfigure:
|
||||
sclp_chp_deconfigure(chpid);
|
||||
info_expire();
|
||||
chsc_chp_offline(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();
|
||||
chsc_chp_offline(chpid);
|
||||
}
|
||||
break;
|
||||
case cfg_none:
|
||||
/* Get updated information after last change. */
|
||||
|
|
Loading…
Reference in New Issue