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.

AM3352: MUSB unbind from sysfs causing kernel crash.

Part Number: AM3352

Hi,

We are using am3352 musb controller. We have some application where we trying to unbind the musb controller driver. While doing this we are observing below kernel crash.

We are using Linux kernel 4.9.59:

Oops messages 1:

Unable to handle kernel NULL pointer dereference at virtual address 00000004
[ 650.544822] pgd = c0004000
[ 650.547657] [00000004] *pgd=00000000
[ 650.551420] Internal error: Oops: 17 [#1] PREEMPT ARM
[ 650.556712] Modules linked in: omap_serial_tpi(O) rnet(O) iptable_filter ip_tables rtl8812au(O) bridge stp llc power_freq(O) omap_serial_actnet(O) ti_am335x_adc_ngzn(O) ti_am335x_tscadc_ngzn(O) kfifo_buf industrialio cryptodev(O) ipv6
[ 650.578590] CPU: 0 PID: 7450 Comm: kworker/0:1 Tainted: G O 4.9.59-alc #1
[ 650.586881] Hardware name: Generic AM33XX (Flattened Device Tree)
[ 650.593275] task: cd1a5000 task.stack: cd1ce000
[ 650.598044] PC is at process_one_work+0x24/0x518
[ 650.602884] LR is at worker_thread+0x40/0x5e0
[ 650.607450] pc : [<c01566f0>] lr : [<c0156c24>] psr: 60090093
[ 650.607450] sp : cd1cfef0 ip : cd1cff28 fp : cd1cff24
[ 650.619475] r10: c9a4a900 r9 : cd1ce000 r8 : 00000000
[ 650.624947] r7 : c0c2fd00 r6 : c0c29484 r5 : c9a4a918 r4 : c0c29484
[ 650.631784] r3 : 00000000 r2 : 00000000 r1 : cd506254 r0 : c9a4a900
[ 650.638624] Flags: nZCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment none
[ 650.646189] Control: 10c5387d Table: 8b8ec019 DAC: 00000051
[ 650.652208] Process kworker/0:1 (pid: 7450, stack limit = 0xcd1ce210)

Oops messages 2:

[ 5172.957008] pgd = c0004000
[ 5172.959851] [d0fbd401] *pgd=8a219811, *pte=00000000, *ppte=00000000
[ 5172.966463] Internal error: Oops: 7 [#1] PREEMPT ARM
[ 5172.971678] Modules linked in: omap_serial_tpi(O) rnet(O) power_freq(O) omap_serial_actnet(O) iptable_filter ip_tables bridge stp llc ti_am335x_adc_ngzn(O) ti_am335x_tscadc_ngzn(O) kfifo_buf industrialio cryptodev(O) ipv6 [last unloaded: rtl8812au]
[ 5172.994766] CPU: 0 PID: 11583 Comm: kworker/0:1 Tainted: G O 4.9.59-alc #1
[ 5173.003114] Hardware name: Generic AM33XX (Flattened Device Tree)
[ 5173.009493] Workqueue: events musb_gadget_work
[ 5173.014134] task: cbdc95c0 task.stack: ca128000
[ 5173.018876] PC is at musb_default_readb+0x1c/0x98
[ 5173.023784] LR is at musb_gadget_work+0x48/0xf8
[ 5173.028513] pc : [<c05a2f00>] lr : [<c05acf08>] psr: 60030093
[ 5173.028513] sp : ca129ea0 ip : ca129ed0 fp : ca129ecc
[ 5173.040486] r10: ca101580 r9 : c05acf08 r8 : 00000001
[ 5173.045937] r7 : d0fbd400 r6 : 60030013 r5 : 00000001 r4 : cd49e254
[ 5173.052745] r3 : c05a2ee4 r2 : 00000001 r1 : 00000001 r0 : d0fbd400
[ 5173.059555] Flags: nZCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment none
[ 5173.067088] Control: 10c5387d Table: 8bdd0019 DAC: 00000051
[ 5173.073082] Process kworker/0:1 (pid: 11583, stack limit = 0xca128210)
[ 5173.079891] Stack: (0xca129ea0 to 0xca12a000)
[ 5173.084445] 9ea0: ca129ecc ca129eb0 cd49e254 00000001 60030013 cd49e010 cfbc6000 00000000
[ 5173.092983] 9ec0: ca129eec ca129ed0 c05acf08 c05a2ef0 cd49e254 ca101580 ca06c814 00000000
[ 5173.101521] 9ee0: ca129f24 ca129ef0 c01568c4 c05acecc ca128000 ca101580 ca129f24 c0c29484
[ 5173.110059] 9f00: ca101598 c0c29498 c0c2fd00 00000008 ca128000 ca101580 ca129f5c ca129f28
[ 5173.118596] 9f20: c0156c24 c01566d8 00000000 00000000 ca129f5c 00000000 ca15afc0 ca128000
[ 5173.127134] 9f40: ca101580 c0156be4 00000000 00000000 ca129fac ca129f60 c015c764 c0156bf0
[ 5173.135671] 9f60: ffffe000 00000000 00000000 ca101580 00000000 ca129f74 ca129f74 00000000
[ 5173.144209] 9f80: ca129f80 ca129f80 c0166734 ca15afc0 c015c67c 00000000 00000000 00000000
[ 5173.152746] 9fa0: 00000000 ca129fb0 c010e278 c015c688 00000000 00000000 00000000 00000000
[ 5173.161284] 9fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 5173.169820] 9fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
[ 5173.178346] Backtrace:
[ 5173.180913] [<c05a2ee4>] (musb_default_readb) from [<c05acf08>] (musb_gadget_work+0x48/0xf8)
[ 5173.189723] r9:00000000 r8:cfbc6000 r7:cd49e010 r6:60030013 r5:00000001 r4:cd49e254
[ 5173.197818] [<c05acec0>] (musb_gadget_work) from [<c01568c4>] (process_one_work+0x1f8/0x518)
[ 5173.206623] r7:00000000 r6:ca06c814 r5:ca101580 r4:cd49e254
[ 5173.212534] [<c01566cc>] (process_one_work) from [<c0156c24>] (worker_thread+0x40/0x5e0)
[ 5173.220979] r10:ca101580 r9:ca128000 r8:00000008 r7:c0c2fd00 r6:c0c29498 r5:ca101598
[ 5173.229145] r4:c0c29484
[ 5173.231797] [<c0156be4>] (worker_thread) from [<c015c764>] (kthread+0xe8/0x108)
[ 5173.239427] r10:00000000 r9:00000000 r8:c0156be4 r7:ca101580 r6:ca128000 r5:ca15afc0
[ 5173.247592] r4:00000000
[ 5173.250253] [<c015c67c>] (kthread) from [<c010e278>] (ret_from_fork+0x14/0x3c)
[ 5173.257792] r8:00000000 r7:00000000 r6:00000000 r5:c015c67c r4:ca15afc0
[ 5173.264789] Code: e24dd008 e1a0900e e1a07000 e1a08001 (e7d06001)
[ 5173.271166] ---[ end trace 9aeda30e0cd38122 ]---

Do we need to apply any patch to fix this issue. Which is not in 4.9.59.