On Thu, 2011-05-05 at 18:13 -0700, Yinghai Lu wrote: > @@ -3252,6 +3252,9 @@ static int device_notifier(struct notifi > return 0; > > if (action == BUS_NOTIFY_UNBOUND_DRIVER && !iommu_pass_through) { > + /* before we remove dev with domain, flush IOTLB */ > + flush_unmaps(); > + > domain_remove_one_dev_info(domain, pdev); > > if (!(domain->flags & DOMAIN_FLAG_VIRTUAL_MACHINE) && That calls flush_unmaps() without the async_umap_flush_lock held, doesn't it? A few days ago I asked someone else to test this candidate patch for a similar issue: http://david.woodhou.se/flush-unmaps-on-unbind.patch -- David Woodhouse Open Source Technology Centre David.Woodhouse@xxxxxxxxx Intel Corporation -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html