Message ID | 537B0EA7.8070608@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Sekhar, On Tue, May 20, 2014 at 1:43 PM, Sekhar Nori <nsekhar@ti.com> wrote: > On Tuesday 20 May 2014 12:49 PM, Prabhakar Lad wrote: >> Hi, >> >> On Tue, May 20, 2014 at 12:08 AM, Kevin Hilman <khilman@linaro.org> wrote: >>> As found by my automated boot tester[1], dm365 EVM and da850 EVM started >>> failing boot tests in today's linux-next. >>> >>> I haven't had the time to bisect, but it appears to be related to some >>> devres failures in the EMAC driver. Full boot log below for the >>> da850evm (the dm365 fault looks the same.) >>> >> I too hit this issue, this was introduced with commit id: >> e194312854edc22a2faf1931b3c0608fe20cb969 (drivers: net: >> davinci_cpdma: Convert kzalloc() to devm_kzalloc().) >> Reverting this patch fixes it. >> From the outset patch looks good, not sure why exactly it is failing. > > Following patch seems to help. I will post it for review after some more > analysis. > I am not sure if you hit the following issue later fixing above one, I see following issue on DA850 evm, git bisect points me to commit id: 975c3a671f11279441006a29a19f55ccc15fb320 ( mm: non-atomically mark page accessed during page cache allocation where possible) Unable to handle kernel paging request at virtual address 30e03501 pgd = c68cc000 [30e03501] *pgd=00000000 Internal error: Oops: 1 [#1] PREEMPT ARM Modules linked in: CPU: 0 PID: 1015 Comm: network.sh Not tainted 3.15.0-rc5-00323-g975c3a6 #9 task: c70c4e00 ti: c73d0000 task.ti: c73d0000 PC is at init_page_accessed+0xc/0x24 LR is at shmem_write_begin+0x54/0x60 pc : [<c0088aa0>] lr : [<c00923e8>] psr: 20000013 sp : c73d1d90 ip : c73d1da0 fp : c73d1d9c r10: c73d1dec r9 : 00000000 r8 : 00000000 r7 : c73d1e6c r6 : c694d7bc r5 : ffffffe4 r4 : c73d1dec r3 : c73d0000 r2 : 00000001 r1 : 00000000 r0 : 30e03501 Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user Control: 0005317f Table: c68cc000 DAC: 00000015 Process network.sh (pid: 1015, stack limit = 0xc73d01c0) Stack: (0xc73d1d90 to 0xc73d2000) 1d80: c73d1dbc c73d1da0 c00923e8 c0088aa4 1da0: 000200da 00000000 00000005 00000000 c73d1e1c c73d1dc0 c0079d5c c00923a4 1dc0: 00000005 00000000 c73d1dec c73d1de8 00000000 c73d0000 00001000 c0347920 1de0: c68b1000 00000000 0000000a 30e03501 0000000a c73d0000 c68b1000 c694d7bc 1e00: c73d1ef0 00000005 00020401 00000005 c73d1eac c73d1e20 c007cb7c c0079bf4 1e20: c73d1e4c c73d0000 c73d1e4c c73d1e38 c00429ac c694d700 00000005 00000000 1e40: c73d1e94 00000000 c033d5c8 c0042858 c73d1f28 c73d1eb0 00000000 00000000 1e60: 00000000 00000001 b6fcf000 c73d1f28 00000001 00000000 00000005 00000005 1e80: c73d0000 c68b1000 c73d1ef0 00000001 c694d75c c73d1f28 c73d0000 00000000 1ea0: c73d1ee4 c73d1eb0 c007cddc c007c884 c000b540 c000c36c c73d1f7c c73d1f50 1ec0: c73d1ef0 c70c4e00 c73d1f80 c73d1f80 c00098a4 c73d0000 c73d1f4c c73d1ee8 1ee0: c00bb0f0 c007cd80 00000000 00000000 c68b1000 00000000 00000000 00000000 1f00: c70c4e00 00000000 00000000 00000000 00000000 00000000 00000005 00000000 1f20: 00000000 00000000 b6fcf000 00000005 c73d1f80 c68b1000 00000005 b6fcf000 1f40: c73d1f7c c73d1f50 c00bc240 c00bb06c c00d8378 c00d82dc c68b1000 c68b1000 1f60: 00000005 b6fcf000 c00098a4 00000000 c73d1fa4 c73d1f80 c00bc3f4 c00bc198 1f80: 00000000 00000000 00000005 b6fcf000 b6efd5e8 00000004 00000000 c73d1fa8 1fa0: c0009740 c00bc3bc 00000005 b6fcf000 00000001 b6fcf000 00000005 00000000 1fc0: 00000005 b6fcf000 b6efd5e8 00000004 00000005 000ad3f0 00000001 000ad008 1fe0: b6fcf000 bef1e1c8 b6e3bc70 b6e8babc 60000010 00000001 00000000 00000000 Backtrace: [<c0088a94>] (init_page_accessed) from [<c00923e8>] (shmem_write_begin+0x54/0x60) [<c0092394>] (shmem_write_begin) from [<c0079d5c>] (generic_perform_write+0x178/0x1e0) r5:00000000 r4:00000005 [<c0079be4>] (generic_perform_write) from [<c007cb7c>] (__generic_file_aio_write+0x308/0x4fc) r10:00000005 r9:00020401 r8:00000005 r7:c73d1ef0 r6:c694d7bc r5:c68b1000 r4:c73d0000 [<c007c874>] (__generic_file_aio_write) from [<c007cddc>] (generic_file_aio_write+0x6c/0x100) r10:00000000 r9:c73d0000 r8:c73d1f28 r7:c694d75c r6:00000001 r5:c73d1ef0 r4:c68b1000 [<c007cd70>] (generic_file_aio_write) from [<c00bb0f0>] (do_sync_write+0x94/0xbc) r9:c73d0000 r8:c00098a4 r7:c73d1f80 r6:c73d1f80 r5:c70c4e00 r4:c73d1ef0 [<c00bb05c>] (do_sync_write) from [<c00bc240>] (vfs_write+0xb8/0x190) r6:b6fcf000 r5:00000005 r4:c68b1000 [<c00bc188>] (vfs_write) from [<c00bc3f4>] (SyS_write+0x48/0x8c) r10:00000000 r8:c00098a4 r7:b6fcf000 r6:00000005 r5:c68b1000 r4:c68b1000 [<c00bc3ac>] (SyS_write) from [<c0009740>] (ret_fast_syscall+0x0/0x2c) r7:00000004 r6:b6efd5e8 r5:b6fcf000 r4:00000005 Code: e89da830 e1a0c00d e92dd800 e24cb004 (e5903000) ---[ end trace 37a953844ea656a1 ]--- Unable to handle kernel paging request at virtual address 26be3681 pgd = c68a0000 [26be3681] *pgd=00000000 Internal error: Oops: 1 [#2] PREEMPT ARM Modules linked in: CPU: 0 PID: 1155 Comm: udevd Tainted: G D 3.15.0-rc5-00323-g975c3a6 #9 task: c7264a80 ti: c7108000 task.ti: c7108000 PC is at init_page_accessed+0xc/0x24 LR is at shmem_write_begin+0x54/0x60 pc : [<c0088aa0>] lr : [<c00923e8>] psr: 20000013 sp : c7109d90 ip : c7109da0 fp : c7109d9c r10: c7109dec r9 : 00000000 r8 : 00000000 r7 : c7109e6c r6 : c68eb39c r5 : ffffffe4 r4 : c7109dec r3 : c7108000 r2 : 00000001 r1 : 00000000 r0 : 26be3681 Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user Control: 0005317f Table: c68a0000 DAC: 00000015 Process udevd (pid: 1155, stack limit = 0xc71081c0) Stack: (0xc7109d90 to 0xc710a000) 9d80: c7109dbc c7109da0 c00923e8 c0088aa4 9da0: 000200da 00000000 00000017 00000000 c7109e1c c7109dc0 c0079d5c c00923a4 9dc0: 00000017 00000000 c7109dec c7109de8 00000000 c7108000 00001000 c0347920 9de0: c7239a00 00000000 00000010 26be3681 00000010 c7108000 c7239a00 c68eb39c 9e00: c7109ef0 00000017 00020001 00000017 c7109eac c7109e20 c007cb7c c0079bf4 9e20: c7109e4c c7108000 c7109e4c c7109e38 c00429ac c68eb2e0 00000017 00000000 9e40: c7109e94 00000000 c033d5c8 c0042858 c7109f28 c7109eb0 00000000 00000000 9e60: 00000000 00000001 b6fe8000 c7109f28 00000001 00000000 00000017 00000017 9e80: c7108000 c7239a00 c7109ef0 00000001 c68eb33c c7109f28 c7108000 00000000 9ea0: c7109ee4 c7109eb0 c007cddc c007c884 c000b540 c000c36c c7109f7c c7109f50 9ec0: c7109ef0 c7264a80 c7109f80 c7109f80 c00098a4 c7108000 c7109f4c c7109ee8 9ee0: c00bb0f0 c007cd80 00000000 00000000 c7239a00 00000000 00000000 00000000 9f00: c7264a80 00000000 00000000 00000000 00000000 00000000 00000017 00000000 9f20: 00000000 00000000 b6fe8000 00000017 c7109f80 c7239a00 00000017 b6fe8000 9f40: c7109f7c c7109f50 c00bc240 c00bb06c c00d8378 c00d82dc c7239a00 c7239a00 9f60: 00000017 b6fe8000 c00098a4 00000000 c7109fa4 c7109f80 c00bc3f4 c00bc198 9f80: 00000000 00000000 00000017 b6fe8000 00036be8 00000004 00000000 c7109fa8 9fa0: c0009740 c00bc3bc 00000017 b6fe8000 00000004 b6fe8000 00000017 00000000 9fc0: 00000017 b6fe8000 00036be8 00000004 00000017 00030ca0 00026008 00000000 9fe0: b6fe8000 bedadf88 b6eeec70 b6f3eabc 60000010 00000004 00000000 00000000 Backtrace: [<c0088a94>] (init_page_accessed) from [<c00923e8>] (shmem_write_begin+0x54/0x60) [<c0092394>] (shmem_write_begin) from [<c0079d5c>] (generic_perform_write+0x178/0x1e0) r5:00000000 r4:00000017 [<c0079be4>] (generic_perform_write) from [<c007cb7c>] (__generic_file_aio_write+0x308/0x4fc) r10:00000017 r9:00020001 r8:00000017 r7:c7109ef0 r6:c68eb39c r5:c7239a00 r4:c7108000 [<c007c874>] (__generic_file_aio_write) from [<c007cddc>] (generic_file_aio_write+0x6c/0x100) r10:00000000 r9:c7108000 r8:c7109f28 r7:c68eb33c r6:00000001 r5:c7109ef0 r4:c7239a00 [<c007cd70>] (generic_file_aio_write) from [<c00bb0f0>] (do_sync_write+0x94/0xbc) r9:c7108000 r8:c00098a4 r7:c7109f80 r6:c7109f80 r5:c7264a80 r4:c7109ef0 [<c00bb05c>] (do_sync_write) from [<c00bc240>] (vfs_write+0xb8/0x190) r6:b6fe8000 r5:00000017 r4:c7239a00 [<c00bc188>] (vfs_write) from [<c00bc3f4>] (SyS_write+0x48/0x8c) r10:00000000 r8:c00098a4 r7:b6fe8000 r6:00000017 r5:c7239a00 r4:c7239a00 [<c00bc3ac>] (SyS_write) from [<c0009740>] (ret_fast_syscall+0x0/0x2c) r7:00000004 r6:00036be8 r5:b6fe8000 r4:00000017 Code: e89da830 e1a0c00d e92dd800 e24cb004 (e5903000) ---[ end trace 37a953844ea656a2 ]--- random: nonblocking pool is initialized Thanks, --Prabhakar Lad > Thanks, > Sekhar > > diff --git a/drivers/net/ethernet/ti/davinci_emac.c b/drivers/net/ethernet/ti/da > index e76eae5..9cd0d9c 100644 > --- a/drivers/net/ethernet/ti/davinci_emac.c > +++ b/drivers/net/ethernet/ti/davinci_emac.c > @@ -1930,7 +1930,7 @@ static int davinci_emac_probe(struct platform_device *pdev > hw_ram_addr = (u32 __force)res->start + pdata->ctrl_ram_offset; > > memset(&dma_params, 0, sizeof(dma_params)); > - dma_params.dev = emac_dev; > + dma_params.dev = &pdev->dev; > dma_params.dmaregs = priv->emac_base; > dma_params.rxthresh = priv->emac_base + 0x120; > dma_params.rxfree = priv->emac_base + 0x140; >
On Tuesday 20 May 2014 02:46 PM, Prabhakar Lad wrote: > Hi Sekhar, > > On Tue, May 20, 2014 at 1:43 PM, Sekhar Nori <nsekhar@ti.com> wrote: >> On Tuesday 20 May 2014 12:49 PM, Prabhakar Lad wrote: >>> Hi, >>> >>> On Tue, May 20, 2014 at 12:08 AM, Kevin Hilman <khilman@linaro.org> wrote: >>>> As found by my automated boot tester[1], dm365 EVM and da850 EVM started >>>> failing boot tests in today's linux-next. >>>> >>>> I haven't had the time to bisect, but it appears to be related to some >>>> devres failures in the EMAC driver. Full boot log below for the >>>> da850evm (the dm365 fault looks the same.) >>>> >>> I too hit this issue, this was introduced with commit id: >>> e194312854edc22a2faf1931b3c0608fe20cb969 (drivers: net: >>> davinci_cpdma: Convert kzalloc() to devm_kzalloc().) >>> Reverting this patch fixes it. >>> From the outset patch looks good, not sure why exactly it is failing. >> >> Following patch seems to help. I will post it for review after some more >> analysis. >> > I am not sure if you hit the following issue later fixing above one, > I see following issue on DA850 evm, No, I am using ramdisk though. Are you using NFS? > > git bisect points me to > commit id: 975c3a671f11279441006a29a19f55ccc15fb320 > ( mm: non-atomically mark page accessed during page cache allocation > where possible) Does reverting this cause the issue to disappear? Thanks, Sekhar
On Tue, May 20, 2014 at 2:51 PM, Sekhar Nori <nsekhar@ti.com> wrote: > On Tuesday 20 May 2014 02:46 PM, Prabhakar Lad wrote: >> Hi Sekhar, >> >> On Tue, May 20, 2014 at 1:43 PM, Sekhar Nori <nsekhar@ti.com> wrote: >>> On Tuesday 20 May 2014 12:49 PM, Prabhakar Lad wrote: >>>> Hi, >>>> >>>> On Tue, May 20, 2014 at 12:08 AM, Kevin Hilman <khilman@linaro.org> wrote: >>>>> As found by my automated boot tester[1], dm365 EVM and da850 EVM started >>>>> failing boot tests in today's linux-next. >>>>> >>>>> I haven't had the time to bisect, but it appears to be related to some >>>>> devres failures in the EMAC driver. Full boot log below for the >>>>> da850evm (the dm365 fault looks the same.) >>>>> >>>> I too hit this issue, this was introduced with commit id: >>>> e194312854edc22a2faf1931b3c0608fe20cb969 (drivers: net: >>>> davinci_cpdma: Convert kzalloc() to devm_kzalloc().) >>>> Reverting this patch fixes it. >>>> From the outset patch looks good, not sure why exactly it is failing. >>> >>> Following patch seems to help. I will post it for review after some more >>> analysis. >>> >> I am not sure if you hit the following issue later fixing above one, >> I see following issue on DA850 evm, > > No, I am using ramdisk though. Are you using NFS? > Yes I am using NFS. >> >> git bisect points me to >> commit id: 975c3a671f11279441006a29a19f55ccc15fb320 >> ( mm: non-atomically mark page accessed during page cache allocation >> where possible) > > Does reverting this cause the issue to disappear? > Yep reverting this patch fixes it up back again. Thanks, --Prabhakar Lad
diff --git a/drivers/net/ethernet/ti/davinci_emac.c b/drivers/net/ethernet/ti/da index e76eae5..9cd0d9c 100644 --- a/drivers/net/ethernet/ti/davinci_emac.c +++ b/drivers/net/ethernet/ti/davinci_emac.c @@ -1930,7 +1930,7 @@ static int davinci_emac_probe(struct platform_device *pdev hw_ram_addr = (u32 __force)res->start + pdata->ctrl_ram_offset; memset(&dma_params, 0, sizeof(dma_params)); - dma_params.dev = emac_dev; + dma_params.dev = &pdev->dev; dma_params.dmaregs = priv->emac_base; dma_params.rxthresh = priv->emac_base + 0x120; dma_params.rxfree = priv->emac_base + 0x140;