summaryrefslogtreecommitdiffstats
path: root/drivers/s390/cio/eadm_sch.c
diff options
context:
space:
mode:
authorMartin Schwidefsky2014-05-27 14:40:39 +0200
committerMartin Schwidefsky2014-05-28 10:39:16 +0200
commit63aef00b55d37e9fad837a8b38a2c261f0d32041 (patch)
tree3cc75663f7b7aef3e303d440a927488e3660657e /drivers/s390/cio/eadm_sch.c
parents390/lowcore: reserve 96 bytes for IRB in lowcore (diff)
downloadkernel-qcow2-linux-63aef00b55d37e9fad837a8b38a2c261f0d32041.tar.gz
kernel-qcow2-linux-63aef00b55d37e9fad837a8b38a2c261f0d32041.tar.xz
kernel-qcow2-linux-63aef00b55d37e9fad837a8b38a2c261f0d32041.zip
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");