diff options
author | Jan Glauber <jang@linux.vnet.ibm.com> | 2011-01-05 14:47:52 +0300 |
---|---|---|
committer | Martin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com> | 2011-01-05 14:47:28 +0300 |
commit | 958c0ba403cb6a693b54be2389f9ef53377fa259 (patch) | |
tree | 7fb99145dc1254c136081cf492dcc75b11a8e723 /drivers/s390/cio/qdio.h | |
parent | 0195843bfda90a215f3b72c9aac2fd0bc9244b67 (diff) | |
download | linux-958c0ba403cb6a693b54be2389f9ef53377fa259.tar.xz |
[S390] qdio: use proper QEBSM operand for SIGA-R and SIGA-S
If QIOASSIST is enabled for a qdio device the SIGA instruction requires
a modified function code. This function code modifier was missing for
SIGA-R and SIGA-S which can lead to a kernel panic caused by an
operand exception.
Cc: stable@kernel.org
Signed-off-by: Jan Glauber <jang@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/cio/qdio.h')
-rw-r--r-- | drivers/s390/cio/qdio.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/s390/cio/qdio.h b/drivers/s390/cio/qdio.h index 40ca0b9241e5..0a42da4beafa 100644 --- a/drivers/s390/cio/qdio.h +++ b/drivers/s390/cio/qdio.h @@ -91,6 +91,12 @@ enum qdio_irq_states { #define AC1_SC_QEBSM_AVAILABLE 0x02 /* available for subchannel */ #define AC1_SC_QEBSM_ENABLED 0x01 /* enabled for subchannel */ +/* SIGA flags */ +#define QDIO_SIGA_WRITE 0x00 +#define QDIO_SIGA_READ 0x01 +#define QDIO_SIGA_SYNC 0x02 +#define QDIO_SIGA_QEBSM_FLAG 0x80 + #ifdef CONFIG_64BIT static inline int do_sqbs(u64 token, unsigned char state, int queue, int *start, int *count) |