summaryrefslogtreecommitdiff
path: root/drivers/s390/cio/eadm_sch.c
diff options
context:
space:
mode:
authorMartin Schwidefsky <schwidefsky@de.ibm.com>2014-05-27 16:40:39 +0400
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2014-05-28 12:39:16 +0400
commit63aef00b55d37e9fad837a8b38a2c261f0d32041 (patch)
tree3cc75663f7b7aef3e303d440a927488e3660657e /drivers/s390/cio/eadm_sch.c
parent993072ee67aa179c48c85eb19869804e68887d86 (diff)
downloadlinux-63aef00b55d37e9fad837a8b38a2c261f0d32041.tar.xz
s390/lowcore: replace lowcore irb array with a per-cpu variable
Remove the 96-byte irb array from the lowcore and create a per-cpu variable instead. That way we will pick up any change in the definition of the struct irb automatically. Acked-By: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/cio/eadm_sch.c')
-rw-r--r--drivers/s390/cio/eadm_sch.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/s390/cio/eadm_sch.c b/drivers/s390/cio/eadm_sch.c
index 3a2ee4a740b4..c4f7bf3e24c2 100644
--- a/drivers/s390/cio/eadm_sch.c
+++ b/drivers/s390/cio/eadm_sch.c
@@ -134,7 +134,7 @@ static void eadm_subchannel_irq(struct subchannel *sch)
{
struct eadm_private *private = get_eadm_private(sch);
struct eadm_scsw *scsw = &sch->schib.scsw.eadm;
- struct irb *irb = (struct irb *)&S390_lowcore.irb;
+ struct irb *irb = &__get_cpu_var(cio_irb);
int error = 0;
EADM_LOG(6, "irq");