lockdep goes off on the iova copy_reserved_iova because it and a function it calls grabs locks in the from, and the to of the copy operation.
This patch gives the reserved_ioval_list locks special lockdep classes. --mgross Signed-off-by: <[EMAIL PROTECTED]> Index: linux-2.6.24-mm1/drivers/pci/intel-iommu.c =================================================================== --- linux-2.6.24-mm1.orig/drivers/pci/intel-iommu.c 2008-02-20 15:52:23.000000000 -0800 +++ linux-2.6.24-mm1/drivers/pci/intel-iommu.c 2008-02-20 16:08:27.000000000 -0800 @@ -1127,6 +1127,8 @@ } static struct iova_domain reserved_iova_list; +static struct lock_class_key reserved_alloc_key; +static struct lock_class_key reserved_rbtree_key; static void dmar_init_reserved_ranges(void) { @@ -1137,6 +1139,11 @@ init_iova_domain(&reserved_iova_list, DMA_32BIT_PFN); + lockdep_set_class(&reserved_iova_list.iova_alloc_lock, + &reserved_alloc_key); + lockdep_set_class(&reserved_iova_list.iova_rbtree_lock, + &reserved_rbtree_key); + /* IOAPIC ranges shouldn't be accessed by DMA */ iova = reserve_iova(&reserved_iova_list, IOVA_PFN(IOAPIC_RANGE_START), IOVA_PFN(IOAPIC_RANGE_END)); -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/