[PATCH v3 0/6] serial: imx: various improvements
During shutdown when a userspace service is disabled (which generates an uart close), we got kernel crashes in the imx serial driver : [ 1257.657423] Unhandled fault: external abort on non-linefetch (0x1008) at 0xf0938000 [ 1257.665122] pgd = ecf2 [ 1257.667838] [f0938000] *pgd=de819811, *pte=53fc0653, *ppte=53fc0453 [ 1257.674179] Internal error: : 1008 [#1] SMP ARM [ 1257.678722] Modules linked in: [ 1257.681807] CPU: 0 PID: 3850 Comm: emerald_acq Not tainted 4.8.0 #10 [ 1257.688168] Hardware name: Freescale i.MX53 (Device Tree Support) [ 1257.694269] task: e5c48000 task.stack: ed0b4000 [ 1257.698827] PC is at imx_rxint+0x5c/0x228 [ 1257.702859] LR is at lock_acquired+0x494/0x57c [ 1257.707312] pc : [<80484884>]lr : [<80173aa0>]psr: 20070193 [ 1257.707312] sp : ed0b5c60 ip : ed0b5be8 fp : ed0b5c9c [ 1257.718795] r10: r9 : r8 : 0004 [ 1257.724027] r7 : 0030 r6 : ee83e258 r5 : r4 : ee09f410 [ 1257.730561] r3 : 0015c30c r2 : f0938000 r1 : 0135 r0 : 40070193 [ 1257.737099] Flags: nzCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment none [ 1257.744327] Control: 10c5387d Table: dcf20019 DAC: 0051 [ 1257.750080] Process emerald_acq (pid: 3850, stack limit = 0xed0b4210) [ 1257.756527] Stack: (0xed0b5c60 to 0xed0b6000) [ 1257.760898] 5c60: ed0b5cf4 40070193 80175f64 80faf384 e5c484c0 ee09f410 7240 5099 [ 1257.769087] 5c80: 0030 0030 80e025c4 ed0b5cf4 ed0b5ca0 80485b18 80484834 [ 1257.777275] 5ca0: 8012fe26 60070193 ee81b210 0001 ed0b5cdc ed0b5cc8 [ 1257.785463] 5cc0: 80171d28 80171c3c 80e2d634 ee096740 ee81b200 ee81b210 0001 0030 [ 1257.793651] 5ce0: 80e025c4 ed0b5d34 ed0b5cf8 80182f10 804857fc e5c484c0 0002 [ 1257.801839] 5d00: ee81b200 ed0b5d3c 60070193 ee81b200 ee81b200 ee81b210 0001 ee81c400 [ 1257.810027] 5d20: 0001 0008 ed0b5d54 ed0b5d38 801832d8 80182ed0 808f4b60 [ 1257.818216] 5d40: ee81b200 ee81b260 ed0b5d74 ed0b5d58 8018335c 801832b8 ee81b200 ee81b260 [ 1257.826404] 5d60: ee81b210 0001 ed0b5d94 ed0b5d78 80186ba0 80183320 80debe8c 0030 [ 1257.834592] 5d80: 0001 ed0b5da4 ed0b5d98 80182420 80186af4 ed0b5dcc ed0b5da8 [ 1257.842780] 5da0: 801827a0 801823fc 80e8350c 0020 0001 ed0b5df8 0001 [ 1257.850968] 5dc0: ed0b5df4 ed0b5dd0 80101530 8018274c 808f4bec 20070013 ed0b5e2c [ 1257.859156] 5de0: ee09f410 ed0b4000 ed0b5e5c ed0b5df8 808f55f0 801014c8 0001 0130 [ 1257.867345] 5e00: e5c48000 60070013 ee09f410 60070013 ee09f410 ed06a640 [ 1257.875533] 5e20: 0008 ed0b5e5c ed0b5df0 ed0b5e48 801756a8 808f4bec 20070013 [ 1257.883722] 5e40: 0051 7f00 ee09f410 0b01 ed0b5e7c ed0b5e60 80485d74 808f4bb4 [ 1257.891912] 5e60: ee83e258 ee09f410 ee83e3a4 80e2d634 ed0b5ea4 ed0b5e80 8047f514 80485c70 [ 1257.900100] 5e80: ee83e258 ed375000 ee09f410 ee83e310 ee83e3ac ed06a640 ed0b5ecc ed0b5ea8 [ 1257.908288] 5ea0: 80481304 8047f400 ed375000 eeabce60 ee7973e8 ed06a640 [ 1257.916477] 5ec0: ed0b5f14 ed0b5ed0 80462fe0 804811ac 0008 eeabce60 0001 0001 [ 1257.924665] 5ee0: 802713dc ed0b5f54 ed06a640 eeabce60 ee2c6910 ee7973e8 [ 1257.932854] 5f00: eeabce60 0008 ed0b5f54 ed0b5f18 80271404 80462ee8 [ 1257.941044] 5f20: ed06c640 ed06a648 ed0b5f4c e5c48400 80e84054 e5c48440 e5c48000 [ 1257.949232] 5f40: ed0b5f64 ed0b5f58 802715c4 80271378 ed0b5f8c ed0b5f68 [ 1257.957420] 5f60: 80146034 802715b8 ed0b4000 ed0b5fb0 801086c4 801086c4 ed0b4000 [ 1257.965610] 5f80: ed0b5fac ed0b5f90 8010cc68 80145f78 0054756c 767474b4 0006 [ 1257.973798] 5fa0: ed0b5fb0 80108548 8010cbc4 76f2a084 0002 [ 1257.981986] 5fc0: 0054756c 767474b4 0006 0225e880 76f36000 7e836d34 [ 1257.990175] 5fe0: 7e836d10 76f2a4c0 76a5db68 80070010 0062 [ 1257.998357] Backtrace: [ 1258.000837] [<80484828>] (imx_rxint) from [<80485b18>] (imx_int+0x328/0x474) [ 1258.007892] r10: r9:80e025c4 r8:0030 r7:0030 r6:5099 r5:7240 [ 1258.015815] r4:ee09f410 [ 1258.018386] [<804857f0>] (imx_int) from [<80182f10>] (__handle_irq_event_percpu+0x4c/0x3e8) [ 1258.026742] r10: r9:80e025c4 r8:0030 r7:0001 r6:ee81b210 r5:ee81b200 [ 1258.034664] r4:ee096740 [ 1258.037226] [<80182ec4>] (__handle_irq_event_percpu) from [<801832d8>] (handle_irq_event_percpu+0x2c/0x68) [ 1258.046885] r10:0008 r9:0001 r8:ee81c400 r7:0001 r6:ee81b210 r5:ee81b200 [ 1258.054806] r4:ee81b200 [ 1258.057369] [<801832ac>] (handle_irq_event_percpu) from [<8018335c>] (handle_irq_event+0x48/0x6c) [ 1258.066246] r5:ee81b260 r4:ee81b200 [ 1258.069866] [<80183314>] (handle_irq_event) from [<80186ba0>] (handle_level_irq+0xb8/0x154) [ 1258.078222] r7:0001 r6:ee81b210 r5:ee81b260
[PATCH v3 0/6] serial: imx: various improvements
During shutdown when a userspace service is disabled (which generates an uart close), we got kernel crashes in the imx serial driver : [ 1257.657423] Unhandled fault: external abort on non-linefetch (0x1008) at 0xf0938000 [ 1257.665122] pgd = ecf2 [ 1257.667838] [f0938000] *pgd=de819811, *pte=53fc0653, *ppte=53fc0453 [ 1257.674179] Internal error: : 1008 [#1] SMP ARM [ 1257.678722] Modules linked in: [ 1257.681807] CPU: 0 PID: 3850 Comm: emerald_acq Not tainted 4.8.0 #10 [ 1257.688168] Hardware name: Freescale i.MX53 (Device Tree Support) [ 1257.694269] task: e5c48000 task.stack: ed0b4000 [ 1257.698827] PC is at imx_rxint+0x5c/0x228 [ 1257.702859] LR is at lock_acquired+0x494/0x57c [ 1257.707312] pc : [<80484884>]lr : [<80173aa0>]psr: 20070193 [ 1257.707312] sp : ed0b5c60 ip : ed0b5be8 fp : ed0b5c9c [ 1257.718795] r10: r9 : r8 : 0004 [ 1257.724027] r7 : 0030 r6 : ee83e258 r5 : r4 : ee09f410 [ 1257.730561] r3 : 0015c30c r2 : f0938000 r1 : 0135 r0 : 40070193 [ 1257.737099] Flags: nzCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment none [ 1257.744327] Control: 10c5387d Table: dcf20019 DAC: 0051 [ 1257.750080] Process emerald_acq (pid: 3850, stack limit = 0xed0b4210) [ 1257.756527] Stack: (0xed0b5c60 to 0xed0b6000) [ 1257.760898] 5c60: ed0b5cf4 40070193 80175f64 80faf384 e5c484c0 ee09f410 7240 5099 [ 1257.769087] 5c80: 0030 0030 80e025c4 ed0b5cf4 ed0b5ca0 80485b18 80484834 [ 1257.777275] 5ca0: 8012fe26 60070193 ee81b210 0001 ed0b5cdc ed0b5cc8 [ 1257.785463] 5cc0: 80171d28 80171c3c 80e2d634 ee096740 ee81b200 ee81b210 0001 0030 [ 1257.793651] 5ce0: 80e025c4 ed0b5d34 ed0b5cf8 80182f10 804857fc e5c484c0 0002 [ 1257.801839] 5d00: ee81b200 ed0b5d3c 60070193 ee81b200 ee81b200 ee81b210 0001 ee81c400 [ 1257.810027] 5d20: 0001 0008 ed0b5d54 ed0b5d38 801832d8 80182ed0 808f4b60 [ 1257.818216] 5d40: ee81b200 ee81b260 ed0b5d74 ed0b5d58 8018335c 801832b8 ee81b200 ee81b260 [ 1257.826404] 5d60: ee81b210 0001 ed0b5d94 ed0b5d78 80186ba0 80183320 80debe8c 0030 [ 1257.834592] 5d80: 0001 ed0b5da4 ed0b5d98 80182420 80186af4 ed0b5dcc ed0b5da8 [ 1257.842780] 5da0: 801827a0 801823fc 80e8350c 0020 0001 ed0b5df8 0001 [ 1257.850968] 5dc0: ed0b5df4 ed0b5dd0 80101530 8018274c 808f4bec 20070013 ed0b5e2c [ 1257.859156] 5de0: ee09f410 ed0b4000 ed0b5e5c ed0b5df8 808f55f0 801014c8 0001 0130 [ 1257.867345] 5e00: e5c48000 60070013 ee09f410 60070013 ee09f410 ed06a640 [ 1257.875533] 5e20: 0008 ed0b5e5c ed0b5df0 ed0b5e48 801756a8 808f4bec 20070013 [ 1257.883722] 5e40: 0051 7f00 ee09f410 0b01 ed0b5e7c ed0b5e60 80485d74 808f4bb4 [ 1257.891912] 5e60: ee83e258 ee09f410 ee83e3a4 80e2d634 ed0b5ea4 ed0b5e80 8047f514 80485c70 [ 1257.900100] 5e80: ee83e258 ed375000 ee09f410 ee83e310 ee83e3ac ed06a640 ed0b5ecc ed0b5ea8 [ 1257.908288] 5ea0: 80481304 8047f400 ed375000 eeabce60 ee7973e8 ed06a640 [ 1257.916477] 5ec0: ed0b5f14 ed0b5ed0 80462fe0 804811ac 0008 eeabce60 0001 0001 [ 1257.924665] 5ee0: 802713dc ed0b5f54 ed06a640 eeabce60 ee2c6910 ee7973e8 [ 1257.932854] 5f00: eeabce60 0008 ed0b5f54 ed0b5f18 80271404 80462ee8 [ 1257.941044] 5f20: ed06c640 ed06a648 ed0b5f4c e5c48400 80e84054 e5c48440 e5c48000 [ 1257.949232] 5f40: ed0b5f64 ed0b5f58 802715c4 80271378 ed0b5f8c ed0b5f68 [ 1257.957420] 5f60: 80146034 802715b8 ed0b4000 ed0b5fb0 801086c4 801086c4 ed0b4000 [ 1257.965610] 5f80: ed0b5fac ed0b5f90 8010cc68 80145f78 0054756c 767474b4 0006 [ 1257.973798] 5fa0: ed0b5fb0 80108548 8010cbc4 76f2a084 0002 [ 1257.981986] 5fc0: 0054756c 767474b4 0006 0225e880 76f36000 7e836d34 [ 1257.990175] 5fe0: 7e836d10 76f2a4c0 76a5db68 80070010 0062 [ 1257.998357] Backtrace: [ 1258.000837] [<80484828>] (imx_rxint) from [<80485b18>] (imx_int+0x328/0x474) [ 1258.007892] r10: r9:80e025c4 r8:0030 r7:0030 r6:5099 r5:7240 [ 1258.015815] r4:ee09f410 [ 1258.018386] [<804857f0>] (imx_int) from [<80182f10>] (__handle_irq_event_percpu+0x4c/0x3e8) [ 1258.026742] r10: r9:80e025c4 r8:0030 r7:0001 r6:ee81b210 r5:ee81b200 [ 1258.034664] r4:ee096740 [ 1258.037226] [<80182ec4>] (__handle_irq_event_percpu) from [<801832d8>] (handle_irq_event_percpu+0x2c/0x68) [ 1258.046885] r10:0008 r9:0001 r8:ee81c400 r7:0001 r6:ee81b210 r5:ee81b200 [ 1258.054806] r4:ee81b200 [ 1258.057369] [<801832ac>] (handle_irq_event_percpu) from [<8018335c>] (handle_irq_event+0x48/0x6c) [ 1258.066246] r5:ee81b260 r4:ee81b200 [ 1258.069866] [<80183314>] (handle_irq_event) from [<80186ba0>] (handle_level_irq+0xb8/0x154) [ 1258.078222] r7:0001 r6:ee81b210 r5:ee81b260