GFP_KERNEL); 
GFP_KERNEL|GFP_DMA); 
qeth_alloc_qdio_buffers(struct qeth_card *card){	int i, j;	QETH_DBF_TEXT(setup, 2, "allcqdbf");	if (card->qdio.state == QETH_QDIO_ALLOCATED)		return 0;	card->qdio.in_q = kmalloc(sizeof(struct qeth_qdio_q), GFP_KERNEL);	if (!card->qdio.in_q)		return - ENOMEM;	QETH_DBF_TEXT(setup, 2, "inq");	QETH_DBF_HEX(setup, 2, &card->qdio.in_q, sizeof(void *));	memset(card->qdio.in_q, 0, sizeof(struct qeth_qdio_q));	/* give inbound qeth_qdio_buffers their qdio_buffers */	for (i = 0; i < QDIO_MAX_BUFFERS_PER_Q; ++i)		card->qdio.in_q->bufs[i].buffer =			&card->qdio.in_q->qdio_bufs[i];	/* inbound buffer pool */	if (qeth_alloc_buffer_pool(card)){		kfree(card->qdio.in_q);		return -ENOMEM;	}	/* outbound */	card->qdio.out_qs =		kmalloc(card->qdio.no_out_queues *			sizeof(struct qeth_qdio_out_q *), GFP_KERNEL);	if (!card->qdio.out_qs){		qeth_free_buffer_pool(card);		return -ENOMEM;	}	for (i = 0; i < card->qdio.no_out_queues; ++i){		card->qdio.out_qs[i] = kmalloc(sizeof(struct qeth_qdio_out_q),					       GFP_KERNEL);		if (!card->qdio.out_qs[i]){			while (i > 0)				kfree(card->qdio.out_qs[--i]);			kfree(card->qdio.out_qs);			return -ENOMEM;		}		QETH_DBF_TEXT_(setup, 2, "outq %i", i);		QETH_DBF_HEX(setup, 2, &card->qdio.out_qs[i], sizeof(void *));		memset(card->qdio.out_qs[i], 0, sizeof(struct qeth_qdio_out_q));		card->qdio.out_qs[i]->queue_no = i;		/* give outbound qeth_qdio_buffers their qdio_buffers */		for (j = 0; j < QDIO_MAX_BUFFERS_PER_Q; ++j){			card->qdio.out_qs[i]->bufs[j].buffer =				&card->qdio.out_qs[i]->qdio_bufs[j];			skb_queue_head_init(&card->qdio.out_qs[i]->bufs[j].					    skb_list);			INIT_LIST_HEAD(&card->qdio.out_qs[i]->bufs[j].ctx_list);		}	}	card->qdio.state = QETH_QDIO_ALLOCATED;	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/9123e0d78990246304fe681167b8d8097f1e02d7/qeth_main.c/buggy/drivers/s390/net/qeth_main.c