[PATCH 2.4.32] Fix AVM C4 ISDN card init problems with newer CPUs

From: Jukka Partanen
Date: Thu Aug 03 2006 - 12:51:18 EST


AVM C4 ISDN NIC: Add three memory barriers, taken from 2.6.7,
(they are there in 2.6.17.7 too), to fix module initialization
problems appearing with at least some newer Celerons and
Pentium III.

Signed-off-by: Jukka Partanen <jspartanen@xxxxxxxxx>

--- drivers/isdn/avmb1/c4.c.orig 2006-08-03 19:32:17.000000000 +0000
+++ drivers/isdn/avmb1/c4.c 2006-08-03 19:32:55.000000000 +0000
@@ -151,6 +151,7 @@
while (c4inmeml(card->mbase+DOORBELL) != 0xffffffff) {
if (!time_before(jiffies, stop))
return -1;
+ mb();
}
return 0;
}
@@ -305,6 +306,7 @@
if (!time_before(jiffies, stop))
return;
c4outmeml(card->mbase+DOORBELL, DBELL_ADDR);
+ mb();
}

c4_poke(card, DC21285_ARMCSR_BASE + CHAN_1_CONTROL, 0);
@@ -328,6 +330,7 @@
if (!time_before(jiffies, stop))
return 2;
c4outmeml(card->mbase+DOORBELL, DBELL_ADDR);
+ mb();
}

c4_poke(card, DC21285_ARMCSR_BASE + CHAN_1_CONTROL, 0);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/