summaryrefslogtreecommitdiffstats
path: root/drivers/s390/cio/chsc_sch.c
diff options
context:
space:
mode:
authorMartin Schwidefsky <schwidefsky@de.ibm.com>2014-05-27 14:40:39 +0200
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2014-05-28 10:39:16 +0200
commit63aef00b55d37e9fad837a8b38a2c261f0d32041 (patch)
tree3cc75663f7b7aef3e303d440a927488e3660657e /drivers/s390/cio/chsc_sch.c
parents390/lowcore: reserve 96 bytes for IRB in lowcore (diff)
downloadlinux-63aef00b55d37e9fad837a8b38a2c261f0d32041.tar.xz
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/chsc_sch.c')
-rw-r--r--drivers/s390/cio/chsc_sch.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/s390/cio/chsc_sch.c b/drivers/s390/cio/chsc_sch.c
index 1d3661af7bd8..3d22d2a4ce14 100644
--- a/drivers/s390/cio/chsc_sch.c
+++ b/drivers/s390/cio/chsc_sch.c
@@ -58,7 +58,7 @@ static void chsc_subchannel_irq(struct subchannel *sch)
{
struct chsc_private *private = dev_get_drvdata(&sch->dev);
struct chsc_request *request = private->request;
- struct irb *irb = (struct irb *)&S390_lowcore.irb;
+ struct irb *irb = &__get_cpu_var(cio_irb);
CHSC_LOG(4, "irb");
CHSC_LOG_HEX(4, irb, sizeof(*irb));