Re: Unable to read memory mapped PCI memory the second time ==

B. James Phillippe (bryan@terran.org)
Sat, 10 Jul 1999 16:53:06 -0700 (PDT)


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/