summary refs log tree commit diff
path: root/drivers
diff options
context:
space:
mode:
authorCornelia Huck <cornelia.huck@de.ibm.com>2006-06-29 14:56:45 +0200
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2006-06-29 14:56:45 +0200
commit231caa1cac555bdd5cb64bf91b554b38e8ddf715 (patch)
treeefe8d5567e4a4dcfcfe03fe3ea944be0e332a613 /drivers
parentda039bd1e872b89e1c92c6c891c43b96d0a1bc41 (diff)
downloadlinux-231caa1cac555bdd5cb64bf91b554b38e8ddf715.tar.gz
[S390] channel measurement fix.
Specify correct sizeof() in chp_measurement_read() and return
correct amount of read data.

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/s390/cio/chsc.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/s390/cio/chsc.c b/drivers/s390/cio/chsc.c
index 72187e54dcac..4a9da5bdd535 100644
--- a/drivers/s390/cio/chsc.c
+++ b/drivers/s390/cio/chsc.c
@@ -918,12 +918,13 @@ chp_measurement_read(struct kobject *kobj, char *buf, loff_t off, size_t count)
 	chp = to_channelpath(container_of(kobj, struct device, kobj));
 	css = to_css(chp->dev.parent);
 
-	size = sizeof(struct cmg_chars);
+	size = sizeof(struct cmg_entry);
 
 	/* Only allow single reads. */
 	if (off || count < size)
 		return 0;
 	chp_measurement_copy_block((struct cmg_entry *)buf, css, chp->id);
+	count = size;
 	return count;
 }