aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/cio/cio.h
diff options
context:
space:
mode:
authorPeter Oberparleiter <peter.oberparleiter@de.ibm.com>2007-04-27 10:01:35 -0400
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2007-04-27 10:01:40 -0400
commit7ad6a24970325294a22a08446d473384c15b928e (patch)
treec8f1e25035b207e2a45a29138309acaee20d6cb6 /drivers/s390/cio/cio.h
parent83b3370c79b91b9be3f6540c3c914e689134b45f (diff)
[S390] cio: fix subchannel channel-path data usage
Ensure that channel-path related subchannel data is only retrieved and used when it is valid and that it is updated when it may have changed. Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/cio/cio.h')
-rw-r--r--drivers/s390/cio/cio.h16
1 files changed, 4 insertions, 12 deletions
diff --git a/drivers/s390/cio/cio.h b/drivers/s390/cio/cio.h
index e62ab5c52863..7446c39951a7 100644
--- a/drivers/s390/cio/cio.h
+++ b/drivers/s390/cio/cio.h
@@ -1,19 +1,11 @@
1#ifndef S390_CIO_H 1#ifndef S390_CIO_H
2#define S390_CIO_H 2#define S390_CIO_H
3 3
4#include "schid.h"
5#include <linux/mutex.h> 4#include <linux/mutex.h>
6#include <linux/device.h> 5#include <linux/device.h>
7 6#include <asm/chpid.h>
8/* 7#include "chsc.h"
9 * where we put the ssd info 8#include "schid.h"
10 */
11struct ssd_info {
12 __u8 valid:1;
13 __u8 type:7; /* subchannel type */
14 __u8 chpid[8]; /* chpids */
15 __u16 fla[8]; /* full link addresses */
16} __attribute__ ((packed));
17 9
18/* 10/*
19 * path management control word 11 * path management control word
@@ -109,7 +101,7 @@ struct subchannel {
109 struct schib schib; /* subchannel information block */ 101 struct schib schib; /* subchannel information block */
110 struct orb orb; /* operation request block */ 102 struct orb orb; /* operation request block */
111 struct ccw1 sense_ccw; /* static ccw for sense command */ 103 struct ccw1 sense_ccw; /* static ccw for sense command */
112 struct ssd_info ssd_info; /* subchannel description */ 104 struct chsc_ssd_info ssd_info; /* subchannel description */
113 struct device dev; /* entry in device tree */ 105 struct device dev; /* entry in device tree */
114 struct css_driver *driver; 106 struct css_driver *driver;
115} __attribute__ ((aligned(8))); 107} __attribute__ ((aligned(8)));