 spin_lock(&init_mm.page_table_lock); 
static int __init dma_alloc_init(void){	pgd_t *pgd;	pmd_t *pmd;	pte_t *pte;	int ret = 0;	spin_lock(&init_mm.page_table_lock);	do {		pgd = pgd_offset(&init_mm, CONSISTENT_BASE);		pmd = pmd_alloc(&init_mm, pgd, CONSISTENT_BASE);		if (!pmd) {			printk(KERN_ERR "%s: no pmd tables\n", __func__);			ret = -ENOMEM;			break;		}		WARN_ON(!pmd_none(*pmd));		pte = pte_alloc_kernel(&init_mm, pmd, CONSISTENT_BASE);		if (!pte) {			printk(KERN_ERR "%s: no pte tables\n", __func__);			ret = -ENOMEM;			break;		}		consistent_pte = pte;	} while (0);	spin_unlock(&init_mm.page_table_lock);	return ret;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/872fec16d9a0ed3b75b8893aa217e49cca575ee5/dma-mapping.c/buggy/arch/ppc/kernel/dma-mapping.c