Messages in this thread | | | Date | Sat, 10 Jul 1999 16:53:06 -0700 (PDT) | From | "B. James Phillippe" <> | Subject | Re: Unable to read memory mapped PCI memory the second time == freezeup.. |
| |
On Sat, 10 Jul 1999, Klaus Nielsen wrote:
> On Sat, 10 Jul 1999, B. James Phillippe wrote: > > On Sat, 10 Jul 1999, Klaus Nielsen wrote: > > > I have tried changing compiler (to gcc 2.7.2.3), changing the modem > > > board with one that works with my WinNT driver, adding udelay(60) > > > between accesses, using readb() instead of direct access - no change. > > > > Silly question, but as Jeff suggested, when you tried readb you also > > tried writeb, yes? :-) > > Yup :) > > After a few talks Jeff suggested to try using mb(); and wmb();
So I heard. :-)
> Doing this removed my problem. However I do not understand > completely. If the CPU just rarranged the order of the instructions
I'm afraid I don't understand it either; I didn't think memory barrier operations were needed on IA32. I also don't know why it would lock your system instead of just producing erroneous results, unless somehow the device itself is locking up the bus as the result of an unordered write (?)
-bp -- # bryan at terran dot org # http://www.terran.org/~bryan
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |