Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752070Ab1E2Igm (ORCPT ); Sun, 29 May 2011 04:36:42 -0400 Received: from mail-vw0-f46.google.com ([209.85.212.46]:36856 "EHLO mail-vw0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751267Ab1E2Igk convert rfc822-to-8bit (ORCPT ); Sun, 29 May 2011 04:36:40 -0400 DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=eHBg8NTVpz/QuPu3a6ZdwSaPS6YI9FtuRT8efqC1AB2xbDpZABloabNLjydilj8e2x 1nwHUVQRhFytEMLuRzYOe4MS2bP0tVNjX9xO/ov/STn9LN0LDD8WKWXLxj9h+sIdmmHd OY2l7j1F+WWB3CQ+FUB+vDvv5zlHa2u3FAvuc= MIME-Version: 1.0 In-Reply-To: References: <20110528205701.GA1788@doriath.ww600.siemens.net> Date: Sun, 29 May 2011 12:36:39 +0400 Message-ID: Subject: Re: IrDA driver fails on PXA255 From: Dmitry Eremin-Solenikov To: David Rientjes Cc: Nicolas Pitre , Russell King , linux-arm-kernel , linux-kernel , Eric Miao , Samuel Ortiz Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3103 Lines: 56 Hello, On Sun, May 29, 2011 at 3:34 AM, David Rientjes wrote: > On Sun, 29 May 2011, Dmitry Eremin-Solenikov wrote: > >> Hello, >> >> Since a197b59ae6e8bee56fcef37ea2482dc08414e2ac (mm: fail GFP_DMA >> allocations when ZONE_DMA is not configured), pxaficp_ir.c driver fails >> to probe: pxa_irda_init_iobuf asks for a buffer with GFP_KERNEL | >> GFP_DMA flags, which fail nicely with the following trace: >> >> ------------[ cut here ]------------ >> WARNING: at mm/page_alloc.c:2251 >> __alloc_pages_nodemask+0xa0/0x5ac() >> Modules linked in: >> [] (unwind_backtrace+0x0/0xf0) from [] (warn_slowpath_common+0x4c/0x64) >> [] (warn_slowpath_common+0x4c/0x64) from [] (warn_slowpath_null+0x18/0x1c) >> [] (warn_slowpath_null+0x18/0x1c) from [] (__alloc_pages_nodemask+0xa0/0x5ac) >> [] (__alloc_pages_nodemask+0xa0/0x5ac) from [] (__get_free_pages+0x10/0x3c) >> [] (__get_free_pages+0x10/0x3c) from [] (pxa_irda_init_iobuf+0x18/0x48) >> [] (pxa_irda_init_iobuf+0x18/0x48) from [] (pxa_irda_probe+0x11c/0x32c) >> [] (pxa_irda_probe+0x11c/0x32c) from [] (platform_drv_probe+0x14/0x18) >> [] (platform_drv_probe+0x14/0x18) from [] (really_probe+0xa0/0x158) >> [] (really_probe+0xa0/0x158) from [] (driver_probe_device+0x4c/0x64) >> [] (driver_probe_device+0x4c/0x64) from [] (__driver_attach+0x60/0x84) >> [] (__driver_attach+0x60/0x84) from [] (bus_for_each_dev+0x48/0x84) >> [] (bus_for_each_dev+0x48/0x84) from [] (bus_add_driver+0xa8/0x220) >> [] (bus_add_driver+0xa8/0x220) from [] (driver_register+0xac/0x13c) >> [] (driver_register+0xac/0x13c) from [] (do_one_initcall+0x94/0x16c) >> [] (do_one_initcall+0x94/0x16c) from [] (kernel_init+0x94/0x140) >> [] (kernel_init+0x94/0x140) from [] (kernel_thread_exit+0x0/0x8) >> ---[ end trace 0b8bf08f70147098 ]--- >> > > The driver is attempting to allocate DMA memory and you have > CONFIG_ZONE_DMA disabled, which is the only reason you would get this > warning. ?If the allocation did not fail as a result of a197b59ae6e8, the > page allocator may return any memory in a higher zone that the driver may > not be expecting. ?If you had never noticed a problem before, it may be > possible that the driver doesn't actually have any zone restrictions and > GFP_DMA can be removed, but this code is pretty old. ?Otherwise, it'll > need to depend on ZONE_DMA in the Kconfig. What about changing your patch for less intrusive one (to emit a WARN_ON) for at least one or two major releases and only then changing it back to the current state? -- With best wishes Dmitry -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/