On 24-08-08 21:48, Krzysztof Helt wrote: >From the Documentation/memory-barriers.txt > " > (*) inX(), outX(): > ... > They are guaranteed to be fully ordered with respect to each other. > > They are not guaranteed to be fully ordered with respect to other types of > memory and I/O operation. > ... > " > > No barriers are needed in this case. On x86 certainly not and I would expect these barriers are there for cases/architectures where inb() and outb() are redefined to memory mapped I/O or there would just be no point at all. In that case, the first outb() writes an index and we'd better make sure that it hits the hardware before we write the value. Hence my suspicion that if at all, the mb() should be in between. No idea who added those and why... Rene _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel