Skip to content

Commit

Permalink
[S390] cio: suppress chpid event in case of configure error
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Peter Oberparleiter authored and Heiko Carstens committed Jul 14, 2008
1 parent f08adc0 commit 683c541
Showing 1 changed file with 17 additions and 6 deletions.
23 changes: 17 additions & 6 deletions drivers/s390/cio/chp.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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. */
Expand Down

0 comments on commit 683c541

Please sign in to comment.