[S390] cio: ensure single load of irq handler pointer
Add barrier to prevent compiler from reloading pointer to irq handler. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
committed by
Martin Schwidefsky
parent
98c1c68252
commit
87fa5af80c
@@ -133,6 +133,8 @@ void do_adapter_IO(u8 isc)
|
|||||||
while (word) {
|
while (word) {
|
||||||
if (word & INDICATOR_MASK) {
|
if (word & INDICATOR_MASK) {
|
||||||
airq = airqs[isc][i];
|
airq = airqs[isc][i];
|
||||||
|
/* Make sure gcc reads from airqs only once. */
|
||||||
|
barrier();
|
||||||
if (likely(airq))
|
if (likely(airq))
|
||||||
airq->handler(&indicators[isc].byte[i],
|
airq->handler(&indicators[isc].byte[i],
|
||||||
airq->drv_data);
|
airq->drv_data);
|
||||||
|
Reference in New Issue
Block a user