[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:
committed by
Heiko Carstens
parent
f08adc008d
commit
683c5418e6
@@ -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)
|
|||||||
|
|
||||||
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. */
|
||||||
|
Reference in New Issue
Block a user