return -ENOMEM;
                }
                for (j = 0; j < QETH_MAX_BUFFER_ELEMENTS(card); ++j) {
-                       ptr = (void *) __get_free_page(GFP_KERNEL|GFP_DMA);
+                       ptr = (void *) __get_free_page(GFP_KERNEL);
                        if (!ptr) {
                                while (j > 0)
                                        free_page((unsigned long)
                return 0;
 
        card->qdio.in_q = kmalloc(sizeof(struct qeth_qdio_q),
-                                 GFP_KERNEL|GFP_DMA);
+                                 GFP_KERNEL);
        if (!card->qdio.in_q)
                goto out_nomem;
        QETH_DBF_TEXT(setup, 2, "inq");
                goto out_freepool;
        for (i = 0; i < card->qdio.no_out_queues; ++i) {
                card->qdio.out_qs[i] = kmalloc(sizeof(struct qeth_qdio_out_q),
-                                              GFP_KERNEL|GFP_DMA);
+                                              GFP_KERNEL);
                if (!card->qdio.out_qs[i])
                        goto out_freeoutq;
                QETH_DBF_TEXT_(setup, 2, "outq %i", i);
                        struct qeth_buffer_pool_entry, list);
        for (i = 0; i < QETH_MAX_BUFFER_ELEMENTS(card); ++i) {
                if (page_count(virt_to_page(entry->elements[i])) > 1) {
-                       page = alloc_page(GFP_ATOMIC|GFP_DMA);
+                       page = alloc_page(GFP_ATOMIC);
                        if (!page) {
                                return NULL;
                        } else {