aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/cio/chp.c
diff options
context:
space:
mode:
authorCornelia Huck <cornelia.huck@de.ibm.com>2008-07-14 03:59:02 -0400
committerHeiko Carstens <heiko.carstens@de.ibm.com>2008-07-14 04:02:11 -0400
commit99611f87176b2a908d8c66ab19a5fc550a3cd13a (patch)
tree2c9898f347d00aeab5ffcbf74c90469efb86043e /drivers/s390/cio/chp.c
parent6ef556ccc8fd256259745c4f0d0ab65aaf703824 (diff)
[S390] cio: Repair chpid event handling.
Passing the affected chpid in chp_event() worked only by chance since chpid is the first element in res_acc_data. Make it work properly by generalizing res_acc_data as chp_link and always passing around a properly filled out chp_link structure in chp_event(). Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Diffstat (limited to 'drivers/s390/cio/chp.c')
-rw-r--r--drivers/s390/cio/chp.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/s390/cio/chp.c b/drivers/s390/cio/chp.c
index 62df43b2124c..19078d528853 100644
--- a/drivers/s390/cio/chp.c
+++ b/drivers/s390/cio/chp.c
@@ -525,7 +525,7 @@ static void chp_process_crw(struct crw *crw0, struct crw *crw1,
525 } 525 }
526} 526}
527 527
528int chp_ssd_get_mask(struct chsc_ssd_info *ssd, struct res_acc_data *data) 528int chp_ssd_get_mask(struct chsc_ssd_info *ssd, struct chp_link *link)
529{ 529{
530 int i; 530 int i;
531 int mask; 531 int mask;
@@ -534,10 +534,10 @@ int chp_ssd_get_mask(struct chsc_ssd_info *ssd, struct res_acc_data *data)
534 mask = 0x80 >> i; 534 mask = 0x80 >> i;
535 if (!(ssd->path_mask & mask)) 535 if (!(ssd->path_mask & mask))
536 continue; 536 continue;
537 if (!chp_id_is_equal(&ssd->chpid[i], &data->chpid)) 537 if (!chp_id_is_equal(&ssd->chpid[i], &link->chpid))
538 continue; 538 continue;
539 if ((ssd->fla_valid_mask & mask) && 539 if ((ssd->fla_valid_mask & mask) &&
540 ((ssd->fla[i] & data->fla_mask) != data->fla)) 540 ((ssd->fla[i] & link->fla_mask) != link->fla))
541 continue; 541 continue;
542 return mask; 542 return mask;
543 } 543 }