This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

soft lockup when use usb serial port on am335x.



I have a board built based on beaglebone.

I get soft lockup when I use serial communication trough usb/serial adapter (ftdi).

The soft lockup seems to reproduced when use the ondemand cpu governor, but not the performance governor.


My questions is.

How to investigate on this issue?

when exactly __irq_svc is called? is it called on swi interrupt? or also can be called for hwi?

the __irq_svc call itself from the first exception. is this normal?

Why the kernel shows two exceptions?

Thank you

[  312.326756] BUG: soft lockup - CPU#0 stuck for 22s! [kworker/0:3:620]
[  312.335857] Modules linked in:
[  312.340607] irq event stamp: 1393689
[  312.345784] hardirqs last  enabled at (1393688): [<c03e966c>] __usb_hcd_giveback_urb+0xa8/0xe8
[  312.358193] hardirqs last disabled at (1393689): [<c0654754>] __irq_svc+0x34/0x7c
[  312.368961] softirqs last  enabled at (1375352): [<c06206d0>] __rpc_execute+0xdc/0x4d0
[  312.380349] softirqs last disabled at (1375375): [<c0054720>] do_softirq+0x78/0x80
[  312.391323]
[  312.393871] CPU: 0 PID: 620 Comm: kworker/0:3 Not tainted 3.12.10 #18
[  312.403199] Workqueue: events od_dbs_timer
[  312.409357] task: dd93a180 ti: ddb68000 task.ti: ddb68000
[  312.417148] PC is at __usb_hcd_giveback_urb+0xac/0xe8
[  312.424477] LR is at mark_held_locks+0x6c/0x130
[  312.431098] pc : [<c03e9670>]    lr : [<c00a5eac>]    psr: 20010113
[  312.431098] sp : ddb69ba8  ip : ddb69b40  fp : ddb69bbc
[  312.447051] r10: ffffffed  r9 : ddb68008  r8 : c0a81358
[  312.454516] r7 : ddacf33c  r6 : ddacf35c  r5 : 60010113  r4 : dc90ccc0
[  312.463728] r3 : dd93a180  r2 : 00000000  r1 : 00000110  r0 : 00000001
[  312.472972] Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
[  312.483260] Control: 10c5387d  Table: 9c9a8019  DAC: 00000017
[  312.491486] CPU: 0 PID: 620 Comm: kworker/0:3 Not tainted 3.12.10 #18
[  312.500731] Workqueue: events od_dbs_timer
[  312.507323] [<c001d810>] (unwind_backtrace+0x0/0x138) from [<c0019b24>] (show_stack+0x20/0x24)
[  312.519687] [<c0019b24>] (show_stack+0x20/0x24) from [<c064c5cc>] (dump_stack+0x20/0x28)
[  312.531270] [<c064c5cc>] (dump_stack+0x20/0x28) from [<c0016a54>] (show_regs+0x2c/0x34)
[  312.542814] [<c0016a54>] (show_regs+0x2c/0x34) from [<c00b93a8>] (watchdog_timer_fn+0x12c/0x164)
[  312.555373] [<c00b93a8>] (watchdog_timer_fn+0x12c/0x164) from [<c007a3c0>] (__run_hrtimer+0x8c/0x4b0)
[  312.568473] [<c007a3c0>] (__run_hrtimer+0x8c/0x4b0) from [<c007b1c4>] (hrtimer_interrupt+0x12c/0x2e4)
[  312.581601] [<c007b1c4>] (hrtimer_interrupt+0x12c/0x2e4) from [<c002f810>] (omap2_gp_timer_interrupt+0x34/0x44)
[  312.595903] [<c002f810>] (omap2_gp_timer_interrupt+0x34/0x44) from [<c0092fd0>] (handle_irq_event_percpu+0x4c/0x400)
[  312.610751] [<c0092fd0>] (handle_irq_event_percpu+0x4c/0x400) from [<c00933d0>] (handle_irq_event+0x4c/0x6c)
[  312.624666] [<c00933d0>] (handle_irq_event+0x4c/0x6c) from [<c0095954>] (handle_level_irq+0x9c/0x104)
[  312.637898] [<c0095954>] (handle_level_irq+0x9c/0x104) from [<c0092758>] (generic_handle_irq+0x38/0x4c)
[  312.651387] [<c0092758>] (generic_handle_irq+0x38/0x4c) from [<c0016518>] (handle_IRQ+0x40/0x94)
[  312.663945] [<c0016518>] (handle_IRQ+0x40/0x94) from [<c0008818>] (omap3_intc_handle_irq+0x70/0x84)
[  312.676789] [<c0008818>] (omap3_intc_handle_irq+0x70/0x84) from [<c0654764>] (__irq_svc+0x44/0x7c)
[  312.689296] Exception stack(0xddb69b60 to 0xddb69ba8)
[  312.696746] 9b60: 00000001 00000110 00000000 dd93a180 dc90ccc0 60010113 ddacf35c ddacf33c
[  312.708378] 9b80: c0a81358 ddb68008 ffffffed ddb69bbc ddb69b40 ddb69ba8 c00a5eac c03e9670
[  312.719833] 9ba0: 20010113 ffffffff
[  312.725252] [<c0654764>] (__irq_svc+0x44/0x7c) from [<c03e9670>] (__usb_hcd_giveback_urb+0xac/0xe8)
[  312.738187] [<c03e9670>] (__usb_hcd_giveback_urb+0xac/0xe8) from [<c03ea284>] (usb_giveback_urb_bh+0x88/0xc0)
[  312.752310] [<c03ea284>] (usb_giveback_urb_bh+0x88/0xc0) from [<c00550c4>] (tasklet_action+0x78/0xd0)
[  312.765487] [<c00550c4>] (tasklet_action+0x78/0xd0) from [<c00542cc>] (__do_softirq+0x104/0x468)
[  312.778054] [<c00542cc>] (__do_softirq+0x104/0x468) from [<c0054720>] (do_softirq+0x78/0x80)
[  312.790142] [<c0054720>] (do_softirq+0x78/0x80) from [<c0054a9c>] (irq_exit+0xc8/0x110)
[  312.801666] [<c0054a9c>] (irq_exit+0xc8/0x110) from [<c001651c>] (handle_IRQ+0x44/0x94)
[  312.813167] [<c001651c>] (handle_IRQ+0x44/0x94) from [<c0008818>] (omap3_intc_handle_irq+0x70/0x84)
[  312.826010] [<c0008818>] (omap3_intc_handle_irq+0x70/0x84) from [<c0654764>] (__irq_svc+0x44/0x7c)
[  312.838503] Exception stack(0xddb69cd0 to 0xddb69d18)
[  312.845845] 9cc0:                                     00001901 00000000 0000007f 0007ff7f
[  312.857466] 9ce0: dd8103c0 dd8103c0 dd80fe40 00001900 00000019 00000001 ffffffed ddb69d4c
[  312.869026] 9d00: 00000000 ddb69d18 c00449a8 c0044a00 20010013 ffffffff
[  312.878722] [<c0654764>] (__irq_svc+0x44/0x7c) from [<c0044a00>] (omap3_noncore_dpll_set_rate+0x10c/0x57c)
[  312.892555] [<c0044a00>] (omap3_noncore_dpll_set_rate+0x10c/0x57c) from [<c0482f70>] (clk_change_rate+0x70/0x110)
[  312.907136] [<c0482f70>] (clk_change_rate+0x70/0x110) from [<c0483094>] (clk_set_rate+0x84/0xc4)
[  312.919748] [<c0483094>] (clk_set_rate+0x84/0xc4) from [<c045801c>] (cpu0_set_target+0x1c4/0x4d8)
[  312.932424] [<c045801c>] (cpu0_set_target+0x1c4/0x4d8) from [<c0451e20>] (__cpufreq_driver_target+0x8c/0xd0)
[  312.946357] [<c0451e20>] (__cpufreq_driver_target+0x8c/0xd0) from [<c04557dc>] (od_check_cpu+0xb4/0xc4)
[  312.959740] [<c04557dc>] (od_check_cpu+0xb4/0xc4) from [<c045705c>] (dbs_check_cpu+0xec/0x120)
[  312.972065] [<c045705c>] (dbs_check_cpu+0xec/0x120) from [<c0455b24>] (od_dbs_timer+0x74/0x100)
[  312.984535] [<c0455b24>] (od_dbs_timer+0x74/0x100) from [<c006ca40>] (process_one_work+0x1bc/0x68c)
[  312.997465] [<c006ca40>] (process_one_work+0x1bc/0x68c) from [<c006dd6c>] (worker_thread+0x13c/0x3c8)
[  313.010633] [<c006dd6c>] (worker_thread+0x13c/0x3c8) from [<c00766a0>] (kthread+0xb4/0xc0)
[  313.022500] [<c00766a0>] (kthread+0xb4/0xc0) from [<c00155c8>] (ret_from_fork+0x14/0x20)
[  313.039126] Kernel panic - not syncing: softlockup: hung tasks