From patchwork Thu Jun 2 18:59:37 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mika Westerberg X-Patchwork-Id: 98459 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3D9CFB6FB2 for ; Fri, 3 Jun 2011 05:02:08 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753428Ab1FBTCD (ORCPT ); Thu, 2 Jun 2011 15:02:03 -0400 Received: from mail-ew0-f46.google.com ([209.85.215.46]:61050 "EHLO mail-ew0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753265Ab1FBTB6 (ORCPT ); Thu, 2 Jun 2011 15:01:58 -0400 Received: by mail-ew0-f46.google.com with SMTP id 4so414248ewy.19 for ; Thu, 02 Jun 2011 12:01:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:sender:from:to:cc:subject:date:message-id :x-mailer:in-reply-to:references:in-reply-to:references; bh=nvhNnfPYcoBE/Twut2biAIEbm8SY8u1AXGVd2BXYW+Q=; b=N/+S4WE4EEzxMBVBriUUNOlloKyEbTt0p2/l5FQOna0NGi0iXHhgwvPc4Mkx4GTi4F vG7V6uGJNvXQlp7INRNcl173wdDshaFUo6vFhUzc5IUZs7HEgtLDPouF2NAP+C5tcXGf dRYtZ+TuKQiNEUIQrwXaNQNcA2Tfv8/oy12lY= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=sender:from:to:cc:subject:date:message-id:x-mailer:in-reply-to :references; b=xfxUaAaAQkCQUxf8QSYDzj3pIB4asR2sStuExewV61PZYpnaNEKWj8tAN59908UTG8 8yvyOwXy9Yk6MtTU8lPl/JKEX2t3aVg1peOZ+doNG6DZ8oeDRQXY0e9QATnO+uqpgo49 R6BAHB6aZR4ZRo/3+aOdUJRmxXxYskKr63tSM= Received: by 10.14.2.80 with SMTP id 56mr420387eee.17.1307041318234; Thu, 02 Jun 2011 12:01:58 -0700 (PDT) Received: from acer.healthdatacare.com (a88-115-37-157.elisa-laajakaista.fi [88.115.37.157]) by mx.google.com with ESMTPS id t52sm595726eej.0.2011.06.02.12.01.56 (version=SSLv3 cipher=OTHER); Thu, 02 Jun 2011 12:01:57 -0700 (PDT) From: Mika Westerberg To: netdev@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org, kernel@wantstofly.org, hsweeten@visionengravers.com, ryan@bluewatersys.com, Mika Westerberg Subject: [PATCH v2 4/5] net: ep93xx_eth: drop GFP_DMA from call to dma_alloc_coherent() Date: Thu, 2 Jun 2011 21:59:37 +0300 Message-Id: X-Mailer: git-send-email 1.7.4.4 In-Reply-To: References: In-Reply-To: References: Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Commit a197b59ae6e8 (mm: fail GFP_DMA allocations when ZONE_DMA is not configured) made page allocator to return NULL if GFP_DMA is set but CONFIG_ZONE_DMA is disabled. This causes ep93xx_eth to fail: WARNING: at mm/page_alloc.c:2251 __alloc_pages_nodemask+0x11c/0x638() Modules linked in: [] (unwind_backtrace+0x0/0xf4) from [] (warn_slowpath_common+0x48/0x60) [] (warn_slowpath_common+0x48/0x60) from [] (warn_slowpath_null+0x1c/0x24) [] (warn_slowpath_null+0x1c/0x24) from [] (__alloc_pages_nodemask+0x11c/0x638) [] (__alloc_pages_nodemask+0x11c/0x638) from [] (__dma_alloc+0x8c/0x3ec) [] (__dma_alloc+0x8c/0x3ec) from [] (dma_alloc_coherent+0x54/0x60) [] (dma_alloc_coherent+0x54/0x60) from [] (ep93xx_open+0x20/0x864) [] (ep93xx_open+0x20/0x864) from [] (__dev_open+0xb8/0x108) [] (__dev_open+0xb8/0x108) from [] (__dev_change_flags+0x70/0x128) [] (__dev_change_flags+0x70/0x128) from [] (dev_change_flags+0x10/0x48) [] (dev_change_flags+0x10/0x48) from [] (ip_auto_config+0x190/0xf68) [] (ip_auto_config+0x190/0xf68) from [] (do_one_initcall+0x34/0x18c) [] (do_one_initcall+0x34/0x18c) from [] (kernel_init+0x94/0x134) [] (kernel_init+0x94/0x134) from [] (kernel_thread_exit+0x0/0x8) Since there is no restrictions for DMA on ep93xx, we can fix this by just removing the GFP_DMA flag from the call. Signed-off-by: Mika Westerberg Acked-by: Russell King Acked-by: H Hartley Sweeten --- drivers/net/arm/ep93xx_eth.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/arm/ep93xx_eth.c b/drivers/net/arm/ep93xx_eth.c index 0c9df11..56b51a1 100644 --- a/drivers/net/arm/ep93xx_eth.c +++ b/drivers/net/arm/ep93xx_eth.c @@ -495,7 +495,7 @@ static int ep93xx_alloc_buffers(struct ep93xx_priv *ep) int i; ep->descs = dma_alloc_coherent(dev, sizeof(struct ep93xx_descs), - &ep->descs_dma_addr, GFP_KERNEL | GFP_DMA); + &ep->descs_dma_addr, GFP_KERNEL); if (ep->descs == NULL) return 1;