CVSROOT: /cvs Module name: src Changes by: o...@cvs.openbsd.org 2009/04/05 15:57:41
Modified files: sys/arch/sparc64/dev: iommu.c viommu.c Log message: In the rare case where after we've loaded the iomap into the hardware, if we fail while assembling the dmamap due to the memory not fitting into our constraints we'll return from the function with the iomap still loaded, and more importantly with memory still allocated from the extent(9). So in such a case, make sure we clean up after outselves. In order to make this cleaner, remove an impossible condition check (kettenis and myself are satisfied that it will never happen), and make iomap_load_map void (it can't fail), so that we can only fail after both the extent is allocated and the iomap is loaded, and not inbetween the two. I tested iommu, kettenis tested viommu. ok kette...@.