diff options
author | Sebastian Ott <sebott@linux.vnet.ibm.com> | 2010-10-25 10:10:31 -0400 |
---|---|---|
committer | Martin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com> | 2010-10-25 10:10:18 -0400 |
commit | c38a90a34cfc880eb2f7234c511cdb7d8bdebc45 (patch) | |
tree | cf10e8b31b59c3f4734fd8254468f4cc83efdcaf /drivers/s390/cio/chsc.c | |
parent | 906c9768c7750ce76b85597174b9c3599a6ca9f6 (diff) |
[S390] cio: update descriptor in chsc_chp_vary
Update the channel path descriptor at the beginning of to the
vary_on operation.
Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/cio/chsc.c')
-rw-r--r-- | drivers/s390/cio/chsc.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/s390/cio/chsc.c b/drivers/s390/cio/chsc.c index 27aca3906a53..44d7cc2f9738 100644 --- a/drivers/s390/cio/chsc.c +++ b/drivers/s390/cio/chsc.c | |||
@@ -495,6 +495,7 @@ __s390_vary_chpid_on(struct subchannel_id schid, void *data) | |||
495 | */ | 495 | */ |
496 | int chsc_chp_vary(struct chp_id chpid, int on) | 496 | int chsc_chp_vary(struct chp_id chpid, int on) |
497 | { | 497 | { |
498 | struct channel_path *chp = chpid_to_chp(chpid); | ||
498 | struct chp_link link; | 499 | struct chp_link link; |
499 | 500 | ||
500 | memset(&link, 0, sizeof(struct chp_link)); | 501 | memset(&link, 0, sizeof(struct chp_link)); |
@@ -504,11 +505,12 @@ int chsc_chp_vary(struct chp_id chpid, int on) | |||
504 | /* | 505 | /* |
505 | * Redo PathVerification on the devices the chpid connects to | 506 | * Redo PathVerification on the devices the chpid connects to |
506 | */ | 507 | */ |
507 | 508 | if (on) { | |
508 | if (on) | 509 | /* Try to update the channel path descritor. */ |
510 | chsc_determine_base_channel_path_desc(chpid, &chp->desc); | ||
509 | for_each_subchannel_staged(s390_subchannel_vary_chpid_on, | 511 | for_each_subchannel_staged(s390_subchannel_vary_chpid_on, |
510 | __s390_vary_chpid_on, &link); | 512 | __s390_vary_chpid_on, &link); |
511 | else | 513 | } else |
512 | for_each_subchannel_staged(s390_subchannel_vary_chpid_off, | 514 | for_each_subchannel_staged(s390_subchannel_vary_chpid_off, |
513 | NULL, &link); | 515 | NULL, &link); |
514 | 516 | ||