[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>
diff --git a/drivers/s390/cio/chp.c b/drivers/s390/cio/chp.c
index 62df43b..19078d5 100644
--- a/drivers/s390/cio/chp.c
+++ b/drivers/s390/cio/chp.c
@@ -525,7 +525,7 @@
 	}
 }
 
-int chp_ssd_get_mask(struct chsc_ssd_info *ssd, struct res_acc_data *data)
+int chp_ssd_get_mask(struct chsc_ssd_info *ssd, struct chp_link *link)
 {
 	int i;
 	int mask;
@@ -534,10 +534,10 @@
 		mask = 0x80 >> i;
 		if (!(ssd->path_mask & mask))
 			continue;
-		if (!chp_id_is_equal(&ssd->chpid[i], &data->chpid))
+		if (!chp_id_is_equal(&ssd->chpid[i], &link->chpid))
 			continue;
 		if ((ssd->fla_valid_mask & mask) &&
-		    ((ssd->fla[i] & data->fla_mask) != data->fla))
+		    ((ssd->fla[i] & link->fla_mask) != link->fla))
 			continue;
 		return mask;
 	}