[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Re: [PATCH 03/15] [swiotlb] Add swiotlb_register_engine function.
> > +EXPORT_SYMBOL(iommu_sw); > > should be EXPORT_SYMBOL_GPL Yup. > > > static int late_alloc; > > > > static int __init > > @@ -126,6 +132,48 @@ static dma_addr_t swiotlb_virt_to_bus(struct device > > *hwdev, > > return phys_to_dma(hwdev, virt_to_phys(address)); > > } > > > > +/* > > + * Register a software IO TLB engine. > > + * > > + * The registration allows the software IO TLB functions in the > > + * swiotlb library to function properly. > > + * > > + * All the values in the iotlb structure must be set. > > + * > > + * If the registration fails, it is assumed that the caller will free > > + * all of the resources allocated in the swiotlb_engine structure. > > + */ > > +int swiotlb_register_engine(struct swiotlb_engine *iommu) > > +{ > > + if (!iommu || !iommu->name || !iommu->release) { > > + printk(KERN_ERR "DMA: Trying to register a SWIOTLB engine" \ > > + " improperly!"); > > + return -EINVAL; > > + } > > + > > + if (iommu_sw && iommu_sw->name) { > > According to above, you can't have !iommu_sw->name. Yup. Artificats of previous implementation. > > > + int retval = -EINVAL; > > + > > + /* 'release' must check for out-standing DMAs and flush them > > + * out or fail. */ > > + if (iommu_sw->release) > > + retval = iommu_sw->release(iommu_sw); > > Same here, you can't have !iommu_sw->release, just call unconditionally. Ok. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |