Hi, I suspected that the issue was similar to the one fixed in this commit: 0c3aae9bd59978fb8c3557d7883380bef0f2cfa1 (USB: musb: fix late external abort on suspend) I've applied a similar fix to the musb_remove function (as well as moving musb_platform_exit just before spin_unlock_irqrestore), and now I can unbind successfully. I will try to send a patch for review soon. Cheers, Merlijn On 07/03/18 23:41, Merlijn Wajer wrote: > Hi, > > I am trying to unbind the musb driver on my Nokia N900, but I get the > following kernel oops [1]. > > This is the command that I issued: > > root@n900devuan:/sys/bus/platform/drivers/musb-hdrc# echo > musb-hdrc.0.auto > unbind > > This might be omap specific. I thought that as with the vbus issue, > calls to pm_runtime_{get,put}_sync were required, but it seems that > pm_runtime_disable gets called before musb_platform_exit is called. > > I've tried simply moving the call so that it is called before > pm_runtime_disable (actually just before spin_unlock_irqrestore in > musb_remove) but this doesn't seem to help. > > Any thoughts? > > Cheers, > Merlijn > > [1] > > [ 7232.484985] Unhandled fault: external abort on non-linefetch (0x1028) > at 0xfa0ab414 > [ 7232.485015] pgd = 9b0f7685 > [ 7232.485046] [fa0ab414] *pgd=48011452(bad) > [ 7232.485076] Internal error: : 1028 [#1] PREEMPT ARM > [ 7232.485076] Modules linked in: u_ether u_serial bluetooth > ecdh_generic ipv6 omaplfb ctr > aes_arm_bs crypto_simd cryptd ccm pvrsrvkm cmt_speech nokia_modem > ssi_protocol radio_plat > form_si4713 mousedev arc4 joydev hsi_char wl1251_spi crc7 wl1251 > ir_lirc_codec mac80211 li > rc_dev ir_rx51 rc_core smc91x gpio_keys rx51_battery pwm_omap_dmtimer > isp1704_charger mii > sha256_generic omap3_isp videobuf2_dma_contig v4l2_fwnode cfg80211 > videobuf2_memops si4713 > videobuf2_v4l2 adp1653 videobuf2_core v4l2_common tsc2005 tsc200x_core > videodev bq27xxx_b > attery_i2c bq27xxx_battery bq2415x_charger leds_lp5523 > leds_lp55xx_common media tsl2563 rt > c_twl twl4030_vibra ff_memless omap_ssi lis3lv02d_i2c lis3lv02d hsi > input_polldev ti_soc_t > hermal vfat fat [last unloaded: libcomposite] > [ 7232.485412] CPU: 0 PID: 2803 Comm: bash Not tainted 4.15.6+ #1 > [ 7232.485412] Hardware name: Nokia RX-51 board > [ 7232.485473] PC is at musb_default_readl+0x4/0xc > [ 7232.485473] LR is at omap2430_musb_exit+0x2c/0x70 > [ 7232.485504] pc : [<c05220f8>] lr : [<c052b218>] psr: a0020013 > [ 7232.485504] sp : cb2afe70 ip : 00000000 fp : 00000000 > [ 7232.485534] r10: 00000000 r9 : 00000051 r8 : 200f0013 > [ 7232.485534] r7 : c2a65920 r6 : ce354d10 r5 : 00000000 r4 : ce52e010 > [ 7232.485565] r3 : c05220f4 r2 : 00000000 r1 : fa0ab414 r0 : fa0ab000 > [ 7232.485595] Flags: NzCv IRQs on FIQs on Mode SVC_32 ISA ARM > Segment none > [ 7232.485595] Control: 10c5387d Table: 8bfa4019 DAC: 00000051 > [ 7232.485626] Process bash (pid: 2803, stack limit = 0x5105ec71) > [ 7232.485626] Stack: (0xcb2afe70 to 0xcb2b0000) > [ 7232.485656] fe60: ce52e010 > ffffe000 ce388a10 c0521c > dc > [ 7232.485687] fe80: ce388a10 ce388a10 c0a325e8 ce388a44 00000034 > c04c34d8 ce388a10 000000 > 00 > [ 7232.485717] fea0: c0a325e8 c04c2170 00000011 ce388a10 c0a325e8 > c0a2fef8 c9cde410 c04c0a > 8c > [ 7232.485717] fec0: 00000011 cd8f7e00 c9cde400 cb2aff88 c9cde410 > c0259554 00000000 000000 > 00 > [ 7232.485748] fee0: 00000011 cb6b1600 c0259424 00000000 cb2aff88 > 000e4408 cb2ae000 c01eda > 74 > [ 7232.485778] ff00: 00000100 00000000 cb3b0180 c020a948 cb3b0cc0 > 0000000a cb3b0cc0 000000 > 01 > [ 7232.485809] ff20: cb3b0cc0 0000000a 00000001 c020aefc 00000001 > 00000000 cb3b0cc0 c01fd4 > f4 > [ 7232.485839] ff40: cb6b1600 00000002 cb6b1600 00000011 00000000 > cb2aff88 000e4408 c01edd30 > [ 7232.485870] ff60: cb6b1600 000e4408 00000011 cb6b1600 cb6b1600 > 000e4408 00000011 c0106fc4 > [ 7232.485900] ff80: cb2ae000 c01edee8 00000000 00000000 00000011 > 00000011 000e4408 b6eb3d60 > [ 7232.485900] ffa0: 00000004 c0106de0 00000011 000e4408 00000001 > 000e4408 00000011 00000000 > [ 7232.485931] ffc0: 00000011 000e4408 b6eb3d60 00000004 000e4408 > 00000011 00000000 00000000 > [ 7232.485961] ffe0: 00000000 bedd1eec b6e161bb b6e52b46 00000030 > 00000001 00000000 00000000 > [ 7232.485992] [<c05220f8>] (musb_default_readl) from [<c052b218>] > (omap2430_musb_exit+0x2c/0x70) > [ 7232.486022] [<c052b218>] (omap2430_musb_exit) from [<c0521cdc>] > (musb_remove+0x110/0x158) > [ 7232.486053] [<c0521cdc>] (musb_remove) from [<c04c34d8>] > (platform_drv_remove+0x24/0x3c) > [ 7232.486114] [<c04c34d8>] (platform_drv_remove) from [<c04c2170>] > (device_release_driver_internal+0xd4/0x1dc) > [ 7232.486145] [<c04c2170>] (device_release_driver_internal) from > [<c04c0a8c>] (unbind_store+0x58/0x8c) > [ 7232.486175] [<c04c0a8c>] (unbind_store) from [<c0259554>] > (kernfs_fop_write+0x130/0x1a0) > [ 7232.486206] [<c0259554>] (kernfs_fop_write) from [<c01eda74>] > (__vfs_write+0x1c/0x11c) > [ 7232.486236] [<c01eda74>] (__vfs_write) from [<c01edd30>] > (vfs_write+0xb8/0x18c) > [ 7232.486267] [<c01edd30>] (vfs_write) from [<c01edee8>] > (SyS_write+0x3c/0x74) > [ 7232.486297] [<c01edee8>] (SyS_write) from [<c0106de0>] > (ret_fast_syscall+0x0/0x54) > [ 7232.486328] Code: e0801001 e5812000 e12fff1e e0801001 (e5910000) > [ 7232.486328] ---[ end trace 1dd18c3e3b5270ba ]--- > [ 7232.497070] In-band Error seen by MPU at address 0 > [ 7232.497100] ------------[ cut here ]------------ > [ 7232.497161] WARNING: CPU: 0 PID: 2803 at > drivers/bus/omap_l3_smx.c:166 omap3_l3_app_irq+0xcc/0x114 > [ 7232.497161] Modules linked in: u_ether u_serial bluetooth > ecdh_generic ipv6 omaplfb ctr aes_arm_bs crypto_simd cryptd ccm pvrsrvkm > cmt_speech nokia_modem ssi_protocol radio_platform_si4713 mousedev arc4 > joydev hsi_char wl1251_spi crc7 wl1251 ir_lirc_codec mac80211 lirc_dev > ir_rx51 rc_core smc91x gpio_keys rx51_battery pwm_omap_dmtimer > isp1704_charger mii sha256_generic omap3_isp videobuf2_dma_contig > v4l2_fwnode cfg80211 videobuf2_memops si4713 videobuf2_v4l2 adp1653 > videobuf2_core v4l2_common tsc2005 tsc200x_core videodev > bq27xxx_battery_i2c bq27xxx_battery bq2415x_charger leds_lp5523 > leds_lp55xx_common media tsl2563 rtc_twl twl4030_vibra ff_memless > omap_ssi lis3lv02d_i2c lis3lv02d hsi input_polldev ti_soc_thermal vfat > fat [last unloaded: libcomposite] > [ 7232.497467] CPU: 0 PID: 2803 Comm: bash Tainted: G D > 4.15.6+ #1 > [ 7232.497497] Hardware name: Nokia RX-51 board > [ 7232.497528] [<c010c440>] (unwind_backtrace) from [<c010a80c>] > (show_stack+0x10/0x14) > [ 7232.497589] [<c010a80c>] (show_stack) from [<c0124bfc>] > (__warn+0xe4/0x100) > [ 7232.497619] [<c0124bfc>] (__warn) from [<c0124cd8>] > (warn_slowpath_null+0x38/0x44) > [ 7232.497650] [<c0124cd8>] (warn_slowpath_null) from [<c0442708>] > (omap3_l3_app_irq+0xcc/0x114) > [ 7232.497680] [<c0442708>] (omap3_l3_app_irq) from [<c0156798>] > (__handle_irq_event_percpu+0x44/0x110) > [ 7232.497711] [<c0156798>] (__handle_irq_event_percpu) from > [<c015687c>] (handle_irq_event_percpu+0x18/0x54) > [ 7232.497741] [<c015687c>] (handle_irq_event_percpu) from [<c0156918>] > (handle_irq_event+0x60/0x8c) > [ 7232.497772] [<c0156918>] (handle_irq_event) from [<c0159b90>] > (handle_level_irq+0x108/0x13c) > [ 7232.497802] [<c0159b90>] (handle_level_irq) from [<c0155c0c>] > (generic_handle_irq+0x18/0x28) > [ 7232.497833] [<c0155c0c>] (generic_handle_irq) from [<c0156208>] > (__handle_domain_irq+0x8c/0xa0) > [ 7232.497894] [<c0156208>] (__handle_domain_irq) from [<c067facc>] > (__irq_svc+0x6c/0xa8) > [ 7232.497924] [<c067facc>] (__irq_svc) from [<c0125e00>] > (do_exit+0x120/0x990) > [ 7232.497955] [<c0125e00>] (do_exit) from [<c010aa44>] (die+0x234/0x26c) > [ 7232.497985] [<c010aa44>] (die) from [<c0101328>] (do_DataAbort+0xa4/0xb8) > [ 7232.497985] [<c0101328>] (do_DataAbort) from [<c067fa38>] > (__dabt_svc+0x58/0x80) > [ 7232.498016] Exception stack(0xcb2afe20 to 0xcb2afe68) > [ 7232.498046] fe20: fa0ab000 fa0ab414 00000000 c05220f4 ce52e010 > 00000000 ce354d10 c2a65920 > [ 7232.498077] fe40: 200f0013 00000051 00000000 00000000 00000000 > cb2afe70 c052b218 c05220f8 > [ 7232.498077] fe60: a0020013 ffffffff > [ 7232.498107] [<c067fa38>] (__dabt_svc) from [<c05220f8>] > (musb_default_readl+0x4/0xc) > [ 7232.498138] [<c05220f8>] (musb_default_readl) from [<c052b218>] > (omap2430_musb_exit+0x2c/0x70) > [ 7232.498168] [<c052b218>] (omap2430_musb_exit) from [<c0521cdc>] > (musb_remove+0x110/0x158) > [ 7232.498199] [<c0521cdc>] (musb_remove) from [<c04c34d8>] > (platform_drv_remove+0x24/0x3c) > [ 7232.498229] [<c04c34d8>] (platform_drv_remove) from [<c04c2170>] > (device_release_driver_internal+0xd4/0x1dc) > [ 7232.498260] [<c04c2170>] (device_release_driver_internal) from > [<c04c0a8c>] (unbind_store+0x58/0x8c) > [ 7232.498321] [<c04c0a8c>] (unbind_store) from [<c0259554>] > (kernfs_fop_write+0x130/0x1a0) > [ 7232.498321] [<c0259554>] (kernfs_fop_write) from [<c01eda74>] > (__vfs_write+0x1c/0x11c) > [ 7232.498352] [<c01eda74>] (__vfs_write) from [<c01edd30>] > (vfs_write+0xb8/0x18c) > [ 7232.498382] [<c01edd30>] (vfs_write) from [<c01edee8>] > (SyS_write+0x3c/0x74) > [ 7232.498413] [<c01edee8>] (SyS_write) from [<c0106de0>] > (ret_fast_syscall+0x0/0x54) > [ 7232.498443] ---[ end trace 1dd18c3e3b5270bb ]--- >
Attachment:
signature.asc
Description: OpenPGP digital signature