On Wed, Aug 17, 2011 at 07:10:02PM -0400, Ohad Ben-Cohen wrote: > +/** > + * omap_iommu_attach() - attach iommu device to an iommu domain > + * @dev: target omap iommu device > + * @iopgd: page table > **/ > -struct iommu *iommu_get(const char *name) > +static struct iommu *omap_iommu_attach(struct device *dev, u32 *iopgd) > { > int err = -ENOMEM; > - struct device *dev; > - struct iommu *obj; > - > - dev = driver_find_device(&omap_iommu_driver.driver, NULL, (void *)name, > - device_match_by_alias); > - if (!dev) > - return ERR_PTR(-ENODEV); > - > - obj = to_iommu(dev); > + struct iommu *obj = to_iommu(dev); > > mutex_lock(&obj->iommu_lock); I don't think using a mutex here is a good idea. This prevents this function to be called from atomic context. The iommu_map and _unmap functions need to allowed in atomic-context and I don't want different context constraints within the iommu-api. Can this be easily converted to a spin_lock? Joerg -- AMD Operating System Research Center Advanced Micro Devices GmbH Einsteinring 24 85609 Dornach General Managers: Alberto Bozzo, Andrew Bowd Registration: Dornach, Landkr. Muenchen; Registerger. Muenchen, HRB Nr. 43632 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html