From 21dfda5c6f40eed2379eefe45ee52d5f567bb694 Mon Sep 17 00:00:00 2001 From: Heiko Carstens Date: Thu, 26 Mar 2009 15:24:10 +0100 Subject: [PATCH] --- yaml --- r: 135613 b: refs/heads/master c: 87fa5af80cdd5053b27a546725948c2b74ec82b2 h: refs/heads/master i: 135611: 1626b65ae40a32ed56db176a8b3f52a0b2bb09e8 v: v3 --- [refs] | 2 +- trunk/drivers/s390/cio/airq.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 55d019a1881f..1474569f178c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 98c1c6825247c71e3d8a9a5439ba21fce7563014 +refs/heads/master: 87fa5af80cdd5053b27a546725948c2b74ec82b2 diff --git a/trunk/drivers/s390/cio/airq.c b/trunk/drivers/s390/cio/airq.c index fe6cea15bbaf..d3850dc30e42 100644 --- a/trunk/drivers/s390/cio/airq.c +++ b/trunk/drivers/s390/cio/airq.c @@ -133,6 +133,8 @@ void do_adapter_IO(u8 isc) while (word) { if (word & INDICATOR_MASK) { airq = airqs[isc][i]; + /* Make sure gcc reads from airqs only once. */ + barrier(); if (likely(airq)) airq->handler(&indicators[isc].byte[i], airq->drv_data);