On Maw, 2006-03-07 at 13:54 -0500, linux-os (Dick Johnson) wrote: > On Tue, 7 Mar 2006, Alan Cox wrote: > > writel(STOP_DMA, &foodev->ctrl); > > free_dma_buffers(foodev); > > > > This leads to horrible disasters. > > This might be a good place to document: > dummy = readl(&foodev->ctrl);
Absolutely. And this falls outside of the memory barrier functions. > > Will flush all pending writes to the PCI bus and that: > (void) readl(&foodev->ctrl); > ... won't because `gcc` may optimize it away. In fact, variable > "dummy" should be global or `gcc` may make it go away as well. If they were ordinary functions then maybe, but they are not so a simple readl(&foodev->ctrl) will be sufficient and isn't optimised away. Alan - To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
