Ralf, could you please apply the patch below. Please also apply it to include/asm-mips64/pci.h (the 64-bit version). /Carsten Brian Murphy wrote: > It seems like this problem is (yet again) caused by lack of cache flushing. > The attached patch adds a dma_cache_wback_inv to pci_map_sg in pci.h > to the if fork in which sg->address is not set. > > This fixes my problem. > > Can someone with commit access please apply this patch? > > /Brian > > ------------------------------------------------------------------------ > Index: include/asm-mips/pci.h > =================================================================== > RCS file: /cvs/linux-mips/include/asm-mips/pci.h,v > retrieving revision 1.1.1.2 > diff -u -r1.1.1.2 pci.h > --- include/asm-mips/pci.h 19 Aug 2002 18:00:29 -0000 1.1.1.2 > +++ include/asm-mips/pci.h 12 Sep 2002 20:06:31 -0000 > @@ -200,9 +200,13 @@ > dma_cache_wback_inv((unsigned long)sg->address, > sg->length); > sg->dma_address = bus_to_baddr(hwdev, __pa(sg->address)); > - } else > + } else { > sg->dma_address = page_to_bus(sg->page) + > sg->offset; > + dma_cache_wback_inv( > + (unsigned long)(page_address(sg->page)+ > + sg->offset), sg->length); > + } > } > > return nents; -- _ _ ____ ___ Carsten Langgaard Mailto:carstenl@mips.com |\ /|||___)(___ MIPS Denmark Direct: +45 4486 5527 | \/ ||| ____) Lautrupvang 4B Switch: +45 4486 5555 TECHNOLOGIES 2750 Ballerup Fax...: +45 4486 5556 Denmark http://www.mips.com