Re: bbb kexec bug: Unhandled fault external abort on non-linefetch (0x1028) at 0xfa1ac140

2016-01-01 Thread Dave Young
Hi, Grygorii

Thanks fot your reply.

On 12/28/15 at 02:15pm, Grygorii Strashko wrote:
> On 12/28/2015 09:18 AM, Dave Young wrote:
> > On 12/27/15 at 03:38pm, Dave Young wrote:
> >> Here is what I get when I test kdump on Beagle bone black:
> >>
> >> Added a printk line at the begin of function omap_gpio_rmw:
> >> printk("## %lx, %x, %x\n", base, reg, mask);
> >>
> >> Any hints how to fix it? I tried call the machine_kexec_mask_interrupts
> >> at runtime kernel also panics so it may not limit to kdump case.
> >>
> >> [   66.340168] ## fa1ac000, 140, 1
> >> [   66.344456] Unhandled fault: external abort on non-linefetch (0x1028) 
> >> at 0xfa1ac140
> >> [   66.352142] pgd = dd9f
> 
> [...]
> 
> >> [   66.727278] [] (omap_set_gpio_triggering) from [] 
> >> (omap_gpio_mask_irq+0x29/0x34)
> 
> Usually such back-trace means that you are trying to access HW
> which is disabled (powered off) already. Or this HW IP has never been enabled.

It is possible, but how to detect such disabled gpio in this for_each_irq_desc
loop? I tried below, it works for me but I'm not sure if it is a right fix.

---
 arch/arm/kernel/machine_kexec.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- linux.orig/arch/arm/kernel/machine_kexec.c
+++ linux/arch/arm/kernel/machine_kexec.c
@@ -106,7 +106,7 @@ static void machine_kexec_mask_interrupt
if (chip->irq_eoi && irqd_irq_inprogress(>irq_data))
chip->irq_eoi(>irq_data);
 
-   if (chip->irq_mask)
+   if ((chip->irq_mask) && !irqd_irq_masked(>irq_data))
chip->irq_mask(>irq_data);
 
if (chip->irq_disable && !irqd_irq_disabled(>irq_data))

> 
> >> [   66.736457] [] (omap_gpio_mask_irq) from [] 
> >> (machine_crash_shutdown+0xb9/0x104)
> >> [   66.745551] [] (machine_crash_shutdown) from [] 
> >> (crash_kexec+0x35/0x68)
> >> [   66.753942] [] (crash_kexec) from [] 
> >> (die+0x1b9/0x390)
> >> [   66.760859] [] (die) from [] 
> >> (__do_kernel_fault.part.0+0x4f/0x1cc)
> >> [   66.768824] [] (__do_kernel_fault.part.0) from [] 
> >> (do_page_fault+0x155/0x29c)
> >> [   66.40] [] (do_page_fault) from [] 
> >> (do_DataAbort+0x2f/0x88)
> >> [   66.785432] [] (do_DataAbort) from [] 
> >> (__dabt_svc+0x3b/0x80)
> >> [   66.792858] Exception stack(0xddc39e58 to 0xddc39ea0)
> >> [   66.797929] 9e40:   
> >> 0063 df93647c
> >> [   66.806144] 9e60: 1f26a000  0001 0063 0007 c0702e3c 
> >>  ddc38000
> >> [   66.814359] 9e80:  7f70d614 0030 ddc39ea8 c021e54b c021e54c 
> >> 600e0033 
> >> [   66.822575] [] (__dabt_svc) from [] 
> >> (sysrq_handle_crash+0x18/0x1c)
> >> [   66.830530] [] (sysrq_handle_crash) from [] 
> >> (__handle_sysrq+0x79/0x10c)
> >> [   66.838919] [] (__handle_sysrq) from [] 
> >> (write_sysrq_trigger+0x45/0x50)
> >> [   66.847310] [] (write_sysrq_trigger) from [] 
> >> (proc_reg_write+0x43/0x68)
> >> [   66.855700] [] (proc_reg_write) from [] 
> >> (__vfs_write+0xf/0x8c)
> >> [   66.863304] [] (__vfs_write) from [] 
> >> (vfs_write+0x5f/0x128)
> >> [   66.870646] [] (vfs_write) from [] 
> >> (SyS_write+0x2b/0x68)
> >> [   66.877729] [] (SyS_write) from [] 
> >> (ret_fast_syscall+0x1/0x4c)
> >> [   66.885332] Code: 443c 4643 f6a9 f9a1 (6823) 0732
> >> [   66.890145] ---[ end trace 5a39094ece4dc200 ]---
> >> [   66.894782] Kernel panic - not syncing: Fatal exception
> >> [   66.900033] ---[ end Kernel panic - not syncing: Fatal exception
> >>
> 
> 
> -- 
> regards,
> -grygorii

Thanks
Dave
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: bbb kexec bug: Unhandled fault external abort on non-linefetch (0x1028) at 0xfa1ac140

2015-12-28 Thread Grygorii Strashko
On 12/28/2015 09:18 AM, Dave Young wrote:
> On 12/27/15 at 03:38pm, Dave Young wrote:
>> Here is what I get when I test kdump on Beagle bone black:
>>
>> Added a printk line at the begin of function omap_gpio_rmw:
>> printk("## %lx, %x, %x\n", base, reg, mask);
>>
>> Any hints how to fix it? I tried call the machine_kexec_mask_interrupts
>> at runtime kernel also panics so it may not limit to kdump case.
>>
>> [   66.340168] ## fa1ac000, 140, 1
>> [   66.344456] Unhandled fault: external abort on non-linefetch (0x1028) at 
>> 0xfa1ac140
>> [   66.352142] pgd = dd9f

[...]

>> [   66.727278] [] (omap_set_gpio_triggering) from [] 
>> (omap_gpio_mask_irq+0x29/0x34)

Usually such back-trace means that you are trying to access HW
which is disabled (powered off) already. Or this HW IP has never been enabled.

>> [   66.736457] [] (omap_gpio_mask_irq) from [] 
>> (machine_crash_shutdown+0xb9/0x104)
>> [   66.745551] [] (machine_crash_shutdown) from [] 
>> (crash_kexec+0x35/0x68)
>> [   66.753942] [] (crash_kexec) from [] (die+0x1b9/0x390)
>> [   66.760859] [] (die) from [] 
>> (__do_kernel_fault.part.0+0x4f/0x1cc)
>> [   66.768824] [] (__do_kernel_fault.part.0) from [] 
>> (do_page_fault+0x155/0x29c)
>> [   66.40] [] (do_page_fault) from [] 
>> (do_DataAbort+0x2f/0x88)
>> [   66.785432] [] (do_DataAbort) from [] 
>> (__dabt_svc+0x3b/0x80)
>> [   66.792858] Exception stack(0xddc39e58 to 0xddc39ea0)
>> [   66.797929] 9e40:   
>> 0063 df93647c
>> [   66.806144] 9e60: 1f26a000  0001 0063 0007 c0702e3c 
>>  ddc38000
>> [   66.814359] 9e80:  7f70d614 0030 ddc39ea8 c021e54b c021e54c 
>> 600e0033 
>> [   66.822575] [] (__dabt_svc) from [] 
>> (sysrq_handle_crash+0x18/0x1c)
>> [   66.830530] [] (sysrq_handle_crash) from [] 
>> (__handle_sysrq+0x79/0x10c)
>> [   66.838919] [] (__handle_sysrq) from [] 
>> (write_sysrq_trigger+0x45/0x50)
>> [   66.847310] [] (write_sysrq_trigger) from [] 
>> (proc_reg_write+0x43/0x68)
>> [   66.855700] [] (proc_reg_write) from [] 
>> (__vfs_write+0xf/0x8c)
>> [   66.863304] [] (__vfs_write) from [] 
>> (vfs_write+0x5f/0x128)
>> [   66.870646] [] (vfs_write) from [] 
>> (SyS_write+0x2b/0x68)
>> [   66.877729] [] (SyS_write) from [] 
>> (ret_fast_syscall+0x1/0x4c)
>> [   66.885332] Code: 443c 4643 f6a9 f9a1 (6823) 0732
>> [   66.890145] ---[ end trace 5a39094ece4dc200 ]---
>> [   66.894782] Kernel panic - not syncing: Fatal exception
>> [   66.900033] ---[ end Kernel panic - not syncing: Fatal exception
>>


-- 
regards,
-grygorii
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: bbb kexec bug: Unhandled fault external abort on non-linefetch (0x1028) at 0xfa1ac140

2015-12-27 Thread Dave Young
Ccing more people.

On 12/27/15 at 03:38pm, Dave Young wrote:
> Hi,
> 
> Here is what I get when I test kdump on Beagle bone black:
> 
> Added a printk line at the begin of function omap_gpio_rmw:
> printk("## %lx, %x, %x\n", base, reg, mask);
> 
> Any hints how to fix it? I tried call the machine_kexec_mask_interrupts
> at runtime kernel also panics so it may not limit to kdump case.
> 
> [   66.340168] ## fa1ac000, 140, 1
> [   66.344456] Unhandled fault: external abort on non-linefetch (0x1028) at 
> 0xfa1ac140
> [   66.352142] pgd = dd9f
> [   66.354856] [fa1ac140] *pgd=48011452(bad)
> [   66.358896] Internal error: : 1028 [#2] SMP THUMB2
> [   66.363703] Modules linked in: ti_cpsw cpsw_ale cpsw_common 
> omap_hwspinlock hwspinlock_core ir_lirc_codec lirc_dev ir_xmp_decoder is
> [   66.391072] CPU: 0 PID: 402 Comm: bash Not tainted 4.4.0-rc6+ #80
> [   66.397190] Hardware name: Generic AM33XX (Flattened Device Tree)
> [   66.403307] task: df51d240 ti: ddc38000 task.ti: ddc38000
> [   66.408731] PC is at omap_set_gpio_triggering+0x86/0x23c
> [   66.414065] LR is at omap_set_gpio_triggering+0x87/0x23c
> [   66.419398] pc : []lr : []psr: a00e01b3
> [   66.419398] sp : ddc39c30  ip : 001f  fp : c021e550
> [   66.430923] r10: 0002  r9 : c021e554  r8 : 0001
> [   66.436168] r7 : fa1ac000  r6 :   r5 : df0d4a10  r4 : fa1ac140
> [   66.442721] r3 : 0001  r2 : 0007  r1 :   r0 : 0020
> [   66.449276] Flags: NzCv  IRQs off  FIQs on  Mode SVC_32  ISA Thumb  
> Segment none
> [   66.456701] Control: 50c5387d  Table: 9d9f0019  DAC: 0051
> [   66.462469] Process bash (pid: 402, stack limit = 0xddc38218)
> [   66.468237] Stack: (0xddc39c30 to 0xddc3a000)
> [   66.472612] 9c20: df0d4a10 df0d4a64 
>  a00e0193
> [   66.480827] 9c40: 000b c021e554 0002 c01f2551 c01f2529 df0d7700 
> 005a df0d7890
> [   66.489041] 9c60: c06f3530 c0012f35 ddc39c78 c0768f04 ddc39c80 ddc39e58 
> 200e0113 c00803fd
> [   66.497256] 9c80: 0063 df93647c 1f26a000  0001 0063 
> 0007 c0702e3c
> [   66.505471] 9ca0:  ddc38000  7f70d614 0030 ddc39ea8 
> c021e54b c021e54c
> [   66.513686] 9cc0: 600e0033  c0730644 c06d86f4 ddc39e58 c0010f51 
> ddc38218 000b
> [   66.521901] 9ce0: 600e0113 200e0113 0020 ddc38000 bf00 0004 
> 3800 20653466
> [   66.530116] 9d00: 61663566 37396620 33322064 28203030 63313037 64622029 
> 00203031 df78b5c4
> [   66.538331] 9d20: 0031 c005f8df c05f3de0 ddc39d4c 000a  
> ddc39e58 0805
> [   66.546546] 9d40: df78b580 df78b580 c076c724 df78b5c4 0031 c001bc23 
>  c0412e11
> [   66.554761] 9d60: c06cd6dc   c006021b c005f36e 0001 
> 0800 
> [   66.562976] 9d80: c0755f44 c041250d  c06d8a0c 0805  
> ddc39e8c ddc39e58
> [   66.571191] 9da0: c06d8a5c  7f70d614 c00091ff  0001 
> 0e65 0406
> [   66.579405] 9dc0:  0406 600e0013 c0412165 0406 c005f1c3 
> 000f 0a2f88ba
> [   66.587620] 9de0: 000f c0753f28 c07335f8 c0753308 600e0013 c06f3408 
>  0001
> [   66.595834] 9e00: df936478 0001 1f26a000 1f26a000 200e0013 c005f00b 
> 0001 000f
> [   66.604049] 9e20: 0001 c005f665 dfd4c668 c041215b 9b34a83f c00b49b9 
>  c021e54c
> [   66.612265] 9e40: 600e0033  ddc39e8c  ddc38000 c041247b 
> 0063 df93647c
> [   66.620480] 9e60: 1f26a000  0001 0063 0007 c0702e3c 
>  ddc38000
> [   66.628696] 9e80:  7f70d614 0030 ddc39ea8 c021e54b c021e54c 
> 600e0033 
> [   66.636910] 9ea0: 0051 c021e54b c06f349c c021e8b5 0055 0002 
> 0051 0001
> [   66.645125] 9ec0:  df26d7c0 ddc38000 c021ec79 ddc39f88 c021ec35 
>  c010695f
> [   66.653340] 9ee0: df241200 c010691d c0423f80 ddc39f88 0002 c00ca6a3 
> c06d8a7c 
> [   66.661556] 9f00: be9ac93c c00091ff 0400 c0019001 b6f7a000 1000 
> df78b580 0002
> [   66.669770] 9f20: dec84c38 df241200  c00cab05 0073 c00b82f7 
> 000b6f7a be9ac380
> [   66.677985] 9f40: df241200 0002 b6f7a000 ddc39f88 0002  
> 7f70d614 c00cacd7
> [   66.686200] 9f60:   be9ac93c df241200 df241200  
>  0002
> [   66.694415] 9f80: ddc38000 c00cb313   0002 b6f7a000 
> b6ee2d60 0004
> [   66.702630] 9fa0: c000df84 c000ddc1 0002 b6f7a000 0001 b6f7a000 
> 0002 
> [   66.710845] 9fc0: 0002 b6f7a000 b6ee2d60 0004 0002  
> 7f72cd94 7f70d614
> [   66.719060] 9fe0:  be9ac8fc b6dfcae4 b6e60690 600e0010 0001 
>  
> [   66.727278] [] (omap_set_gpio_triggering) from [] 
> (omap_gpio_mask_irq+0x29/0x34)
> [   66.736457] [] (omap_gpio_mask_irq) from [] 
> (machine_crash_shutdown+0xb9/0x104)
> [   66.745551] [] 

bbb kexec bug: Unhandled fault external abort on non-linefetch (0x1028) at 0xfa1ac140

2015-12-26 Thread Dave Young
Hi,

Here is what I get when I test kdump on Beagle bone black:

Added a printk line at the begin of function omap_gpio_rmw:
printk("## %lx, %x, %x\n", base, reg, mask);

Any hints how to fix it? I tried call the machine_kexec_mask_interrupts
at runtime kernel also panics so it may not limit to kdump case.

[   66.340168] ## fa1ac000, 140, 1
[   66.344456] Unhandled fault: external abort on non-linefetch (0x1028) at 
0xfa1ac140
[   66.352142] pgd = dd9f
[   66.354856] [fa1ac140] *pgd=48011452(bad)
[   66.358896] Internal error: : 1028 [#2] SMP THUMB2
[   66.363703] Modules linked in: ti_cpsw cpsw_ale cpsw_common omap_hwspinlock 
hwspinlock_core ir_lirc_codec lirc_dev ir_xmp_decoder is
[   66.391072] CPU: 0 PID: 402 Comm: bash Not tainted 4.4.0-rc6+ #80
[   66.397190] Hardware name: Generic AM33XX (Flattened Device Tree)
[   66.403307] task: df51d240 ti: ddc38000 task.ti: ddc38000
[   66.408731] PC is at omap_set_gpio_triggering+0x86/0x23c
[   66.414065] LR is at omap_set_gpio_triggering+0x87/0x23c
[   66.419398] pc : []lr : []psr: a00e01b3
[   66.419398] sp : ddc39c30  ip : 001f  fp : c021e550
[   66.430923] r10: 0002  r9 : c021e554  r8 : 0001
[   66.436168] r7 : fa1ac000  r6 :   r5 : df0d4a10  r4 : fa1ac140
[   66.442721] r3 : 0001  r2 : 0007  r1 :   r0 : 0020
[   66.449276] Flags: NzCv  IRQs off  FIQs on  Mode SVC_32  ISA Thumb  Segment 
none
[   66.456701] Control: 50c5387d  Table: 9d9f0019  DAC: 0051
[   66.462469] Process bash (pid: 402, stack limit = 0xddc38218)
[   66.468237] Stack: (0xddc39c30 to 0xddc3a000)
[   66.472612] 9c20: df0d4a10 df0d4a64 
 a00e0193
[   66.480827] 9c40: 000b c021e554 0002 c01f2551 c01f2529 df0d7700 
005a df0d7890
[   66.489041] 9c60: c06f3530 c0012f35 ddc39c78 c0768f04 ddc39c80 ddc39e58 
200e0113 c00803fd
[   66.497256] 9c80: 0063 df93647c 1f26a000  0001 0063 
0007 c0702e3c
[   66.505471] 9ca0:  ddc38000  7f70d614 0030 ddc39ea8 
c021e54b c021e54c
[   66.513686] 9cc0: 600e0033  c0730644 c06d86f4 ddc39e58 c0010f51 
ddc38218 000b
[   66.521901] 9ce0: 600e0113 200e0113 0020 ddc38000 bf00 0004 
3800 20653466
[   66.530116] 9d00: 61663566 37396620 33322064 28203030 63313037 64622029 
00203031 df78b5c4
[   66.538331] 9d20: 0031 c005f8df c05f3de0 ddc39d4c 000a  
ddc39e58 0805
[   66.546546] 9d40: df78b580 df78b580 c076c724 df78b5c4 0031 c001bc23 
 c0412e11
[   66.554761] 9d60: c06cd6dc   c006021b c005f36e 0001 
0800 
[   66.562976] 9d80: c0755f44 c041250d  c06d8a0c 0805  
ddc39e8c ddc39e58
[   66.571191] 9da0: c06d8a5c  7f70d614 c00091ff  0001 
0e65 0406
[   66.579405] 9dc0:  0406 600e0013 c0412165 0406 c005f1c3 
000f 0a2f88ba
[   66.587620] 9de0: 000f c0753f28 c07335f8 c0753308 600e0013 c06f3408 
 0001
[   66.595834] 9e00: df936478 0001 1f26a000 1f26a000 200e0013 c005f00b 
0001 000f
[   66.604049] 9e20: 0001 c005f665 dfd4c668 c041215b 9b34a83f c00b49b9 
 c021e54c
[   66.612265] 9e40: 600e0033  ddc39e8c  ddc38000 c041247b 
0063 df93647c
[   66.620480] 9e60: 1f26a000  0001 0063 0007 c0702e3c 
 ddc38000
[   66.628696] 9e80:  7f70d614 0030 ddc39ea8 c021e54b c021e54c 
600e0033 
[   66.636910] 9ea0: 0051 c021e54b c06f349c c021e8b5 0055 0002 
0051 0001
[   66.645125] 9ec0:  df26d7c0 ddc38000 c021ec79 ddc39f88 c021ec35 
 c010695f
[   66.653340] 9ee0: df241200 c010691d c0423f80 ddc39f88 0002 c00ca6a3 
c06d8a7c 
[   66.661556] 9f00: be9ac93c c00091ff 0400 c0019001 b6f7a000 1000 
df78b580 0002
[   66.669770] 9f20: dec84c38 df241200  c00cab05 0073 c00b82f7 
000b6f7a be9ac380
[   66.677985] 9f40: df241200 0002 b6f7a000 ddc39f88 0002  
7f70d614 c00cacd7
[   66.686200] 9f60:   be9ac93c df241200 df241200  
 0002
[   66.694415] 9f80: ddc38000 c00cb313   0002 b6f7a000 
b6ee2d60 0004
[   66.702630] 9fa0: c000df84 c000ddc1 0002 b6f7a000 0001 b6f7a000 
0002 
[   66.710845] 9fc0: 0002 b6f7a000 b6ee2d60 0004 0002  
7f72cd94 7f70d614
[   66.719060] 9fe0:  be9ac8fc b6dfcae4 b6e60690 600e0010 0001 
 
[   66.727278] [] (omap_set_gpio_triggering) from [] 
(omap_gpio_mask_irq+0x29/0x34)
[   66.736457] [] (omap_gpio_mask_irq) from [] 
(machine_crash_shutdown+0xb9/0x104)
[   66.745551] [] (machine_crash_shutdown) from [] 
(crash_kexec+0x35/0x68)
[   66.753942] [] (crash_kexec) from [] (die+0x1b9/0x390)
[   66.760859] [] (die) from [] 
(__do_kernel_fault.part.0+0x4f/0x1cc)
[   66.768824] [] (__do_kernel_fault.part.0) from [] 
(do_page_fault+0x155/0x29c)
[   66.40]