Spurious interrupt issue in USB-OTG role switch functionality

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Spurious interrupt issue in USB-OTG role switch functionality

1,241 Views
chaitanyad
Contributor I

Hello,

I am working on IMX6 solo based platform. In the OTG driver provided as a part of 3.10.17 kernel, spurious interrupt issue observed.

The steps to reproduce this issue is as follows:

1. Connect a pen drive to the OTG port.

2. Change the role to host by using the following command: echo host > /sys/kernel/debug/ci_hdrc.0/role,

a spurious interrupt is observed.

The Log is as follows:

irq 75: nobody cared (try booting with the "irqpoll" option)

CPU: 0 PID: 476 Comm: sh Tainted: G        W  O 3.10.17-1.0.0_ga+g33597e3 #2

[<80013800>] (unwind_backtrace+0x0/0x134) from [<80011e80>] (show_stack+0x10/0x14)

[<80011e80>] (show_stack+0x10/0x14) from [<8007151c>] (__report_bad_irq.isra.6+0x24/0xf4)

[<8007151c>] (__report_bad_irq.isra.6+0x24/0xf4) from [<800717cc>] (note_interrupt+0x178/0x230)

[<800717cc>] (note_interrupt+0x178/0x230) from [<8006fa38>] (handle_irq_event_percpu+0x10c/0x190)

[<8006fa38>] (handle_irq_event_percpu+0x10c/0x190) from [<8006fb20>] (handle_irq_event+0x64/0x94)

[<8006fb20>] (handle_irq_event+0x64/0x94) from [<80072550>] (handle_fasteoi_irq+0x88/0x174)

[<80072550>] (handle_fasteoi_irq+0x88/0x174) from [<8006f170>] (generic_handle_irq+0x2c/0x3c)

[<8006f170>] (generic_handle_irq+0x2c/0x3c) from [<8000f4a4>] (handle_IRQ+0x38/0x84)

[<8000f4a4>] (handle_IRQ+0x38/0x84) from [<8000852c>] (gic_handle_irq+0x2c/0x54)

[<8000852c>] (gic_handle_irq+0x2c/0x54) from [<8000e800>] (__irq_svc+0x40/0x70)

Exception stack(0xa82cbd40 to 0xa82cbd88)

bd40: 00000001 00007bcb 00000100 a82ca000 00000040 00000036 00000000 80e4e3c0

bd60: a82ca000 00000002 00000000 00000000 80e4e380 a82cbd88 00000000 8002b8f0

bd80: 20000113 ffffffff

[<8000e800>] (__irq_svc+0x40/0x70) from [<8002b8f0>] (__do_softirq+0xbc/0x1ec)

[<8002b8f0>] (__do_softirq+0xbc/0x1ec) from [<8002bab8>] (do_softirq+0x4c/0x54)

[<8002bab8>] (do_softirq+0x4c/0x54) from [<8002bd10>] (irq_exit+0x58/0x90)

[<8002bd10>] (irq_exit+0x58/0x90) from [<8000f4a8>] (handle_IRQ+0x3c/0x84)

[<8000f4a8>] (handle_IRQ+0x3c/0x84) from [<8000852c>] (gic_handle_irq+0x2c/0x54)

[<8000852c>] (gic_handle_irq+0x2c/0x54) from [<8000e800>] (__irq_svc+0x40/0x70)

Exception stack(0xa82cbe10 to 0xa82cbe58)

be00:                                     a8a7ce10 80dedd50 a82cbe68 000001a4

be20: 80dedd50 a8a7ce10 c097a140 00000198 00010005 00000002 00000000 00000000

be40: 00000000 a82cbe58 80331b14 8026d5b0 20000113 ffffffff

[<8000e800>] (__irq_svc+0x40/0x70) from [<8026d5b0>] (device_create_file+0x18/0x90)

[<8026d5b0>] (device_create_file+0x18/0x90) from [<80331b14>] (ehci_run+0x1e0/0x22c)

[<80331b14>] (ehci_run+0x1e0/0x22c) from [<80321718>] (usb_add_hcd+0x234/0x7b4)

[<80321718>] (usb_add_hcd+0x234/0x7b4) from [<803408f4>] (host_start+0xd0/0x1a8)

[<803408f4>] (host_start+0xd0/0x1a8) from [<80340e10>] (ci_role_write+0xbc/0x138)

[<80340e10>] (ci_role_write+0xbc/0x138) from [<800c2be4>] (vfs_write+0xb4/0x194)

[<800c2be4>] (vfs_write+0xb4/0x194) from [<800c315c>] (SyS_write+0x3c/0x78)

[<800c315c>] (SyS_write+0x3c/0x78) from [<8000ec00>] (ret_fast_syscall+0x0/0x30)

handlers:

[<8033ba38>] ci_irq

Disabling IRQ #75

What is the possible solution for this issue ? Is there any fix ?

Thanks,

Chaitanya

Labels (2)
0 Kudos
3 Replies

681 Views
jamesbone
NXP TechSupport
NXP TechSupport

We are discusing internally your case, once we have an update your FAE will provide the update.

0 Kudos

681 Views
amitfsl0
Contributor I

Hello Jamesbone,

Facing similar issue as above:

Details:

IMX6DL

kernel version: 3.10.53

On USB OTG role switch IRQ75 crash issue.

Could you please suggest possible solution for this issue.

With Regards,

Amit

0 Kudos

681 Views
johnnyyang
Contributor I

Hey Dear amit,

i am facing the same crash,

did u solve this problem?and how? could u tell me please?

0 Kudos