[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-id: <54634E6F.6050303@samsung.com>
Date: Wed, 12 Nov 2014 21:11:27 +0900
From: Chanwoo Choi <cw00.choi@...sung.com>
To: Vinod Koul <vinod.koul@...el.com>
Cc: dan.j.williams@...el.com, geunsik.lim@...sung.com,
inki.dae@...sung.com, chanho61.park@...sung.com,
dmaengine@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] dma: pl330: Fix bug to allocate resources on ARM 64bit SoC
Hi Vinod,
On 11/12/2014 08:30 PM, Vinod Koul wrote:
> On Wed, Nov 12, 2014 at 08:02:13PM +0900, Chanwoo Choi wrote:
>> This patch fix following bug to allocate resources on ARM 64bit SoC.
>> The patch[1] adds to check wheter dev is NULL or not.
>
> Fixed already by below in my tree
Thanks for reply.
Chanwoo Choi
>
> commit 1d7e691f1b1793f8a9439b2e8eae069e5996a187
> Author: Andrew Jackson <Andrew.Jackson@....com>
> Date: Thu Nov 6 11:39:47 2014 +0000
>
> dmaengine: pl330: Correct device assignment.
>
> Commit f6f2421c0a1c removed pl330_info structure by embedding it into
> pl330_dmac structure, but did not ensure that the dmac->ddma.dev
> pointer gets initialised before use. When dma_alloc_coherent() gets
> called on arm64 a WARN() gets triggered due to dev being NULL.
>
> ------------[ cut here ]------------
> WARNING: CPU: 1 PID: 1 at arch/arm64/mm/dma-mapping.c:49
> __dma_alloc_coherent+0xd0/0xe0()
> Use an actual device structure for DMA allocation
> Modules linked in:
> CPU: 1 PID: 1 Comm: swapper/0 Not tainted 3.17.0+ #5
> Call trace:
> [<ffffffc000087f24>] dump_backtrace+0x0/0x130
> [<ffffffc000088064>] show_stack+0x10/0x1c
> [<ffffffc0004e8af8>] dump_stack+0x74/0xb8
> [<ffffffc0000aa444>] warn_slowpath_common+0x8c/0xb4
> [<ffffffc0000aa4b8>] warn_slowpath_fmt+0x4c/0x58
> [<ffffffc000092580>] __dma_alloc_coherent+0xcc/0xe0
> [<ffffffc000092734>] __dma_alloc_noncoherent+0x64/0x158
> [<ffffffc000312cd8>] pl330_probe+0x650/0x8f0
> [<ffffffc00030e1d4>] amba_probe+0xa0/0xc8
> [<ffffffc000350240>] really_probe+0xc4/0x22c
> [<ffffffc0003504b4>] __driver_attach+0xa0/0xa8
> [<ffffffc00034e5fc>] bus_for_each_dev+0x54/0x98
> [<ffffffc00034fd8c>] driver_attach+0x1c/0x28
> [<ffffffc00034fa08>] bus_add_driver+0x14c/0x204
> [<ffffffc000350b84>] driver_register+0x64/0x130
> [<ffffffc00030dcf8>] amba_driver_register+0x50/0x5c
> [<ffffffc0006a60d0>] pl330_driver_init+0x10/0x1c
> [<ffffffc0000814ac>] do_one_initcall+0x88/0x19c
> [<ffffffc00068dab8>] kernel_init_freeable+0x140/0x1e0
> [<ffffffc0004e5e18>] kernel_init+0x10/0xd4
> ---[ end trace 76f2d47a444e523e ]---
> (NULL device *): dmac_alloc_resources:1821 Can't allocate memory!
> (NULL device *): Unable to create channels for DMAC
>
> This patch will also ensure that any dev_err messages are printed
> with the appropriate device name.
>
> Signed-off-by: Liviu Dudau <Liviu.Dudau@....com>
> Signed-off-by: Andrew Jackson <Andrew.Jackson@....com>
> Signed-off-by: Vinod Koul <vinod.koul@...el.com>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists