ptr = (void *) __get_free_page(GFP_KERNEL); 
ptr = (void *) __get_free_page(GFP_KERNEL|GFP_DMA); 
qeth_alloc_buffer_pool(struct qeth_card *card){	struct qeth_buffer_pool_entry *pool_entry;	void *ptr;	int i, j;	QETH_DBF_TEXT(trace,5,"alocpool");	for (i = 0; i < card->qdio.init_pool.buf_count; ++i){	 	pool_entry = kmalloc(sizeof(*pool_entry), GFP_KERNEL);		if (!pool_entry){			qeth_free_buffer_pool(card);			return -ENOMEM;		}		for(j = 0; j < QETH_MAX_BUFFER_ELEMENTS(card); ++j){			ptr = (void *) __get_free_page(GFP_KERNEL);			if (!ptr) {				while (j > 0)					free_page((unsigned long)						  pool_entry->elements[--j]);				kfree(pool_entry);				qeth_free_buffer_pool(card);				return -ENOMEM;			}			pool_entry->elements[j] = ptr;		}		list_add(&pool_entry->init_list,			 &card->qdio.init_pool.entry_list);	}	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/9123e0d78990246304fe681167b8d8097f1e02d7/qeth_main.c/buggy/drivers/s390/net/qeth_main.c