Closed 17twenty closed 11 years ago
The 3.8 version seems to have a bug that is triggered on a reboot (but not a shutdown)
I've had a cursory look and the function dsps_musb_exit() in drivers/usb/musb/musb_dsps.c:
static int dsps_musb_exit(struct musb *musb) { struct device *dev = musb->controller; struct platform_device *pdev = to_platform_device(dev); struct dsps_glue *glue = dev_get_drvdata(dev->parent); del_timer_sync(&glue->timer[pdev->id]); /* Shutdown the on-chip PHY and its PLL. */ musb_dsps_phy_control(glue, pdev->id, 0); /* NOP driver needs change if supporting dual instance */ /* **Commenting out this line makes it not crash** */ usb_put_phy(musb->xceiv); usb_nop_xceiv_unregister(); return 0; }
Stacktrace follows:
root@beaglebone:~# reboot Broadcast message from root@beaglebone (ttyO0) (Tue Feb 19 00:51:11 2013): The system is going down for reboot NOW! INIT: Switching to runlevel: 6 INIT: Sending processes the TERM signal INIT: Sending processes the KStopping syslogd/klogd: stopped syslogd (pid 529) stopped klogd (pid 531) done Deconfiguring network interfaces... ifdown: interface eth0 not configured done. Sending all processes the TERM signal... Sending all processes the KILL signal... Unmounting remote filesystems... Deactivating swap... Unmounting local filesystems... [ 227.484942] EXT4-fs (mmcblk0p2): re-mounted. Opts: data=ordered Rebooting... [ 229.678720] (NULL device *): gadget not registered. [ 229.685277] Unable to handle kernel paging request at virtual address 7665645 7 [ 229.692965] pgd = cf404000 [ 229.695887] [76656457] *pgd=00000000 [ 229.699749] Internal error: Oops: 5 [#1] SMP ARM [ 229.704614] Modules linked in: [ 229.707857] CPU: 0 Not tainted (3.8.0-00360-g1eb76fa #1) [ 229.713836] PC is at kobject_put+0xc/0x74 [ 229.718083] LR is at dsps_musb_exit+0x44/0x50 [ 229.722682] pc : [<c0286538>] lr : [<c03b435c>] psr: 20000013 [ 229.722682] sp : cf415e30 ip : cf235250 fp : 00000001 [ 229.734750] r10: 00000000 r9 : cf414000 r8 : cf165e44 [ 229.740252] r7 : c082799c r6 : cf104180 r5 : cf234100 r4 : 76656437 [ 229.747120] r3 : f9e10620 r2 : 00000000 r1 : 00000000 r0 : 76656437 [ 229.753991] Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user [ 229.761499] Control: 10c5387d Table: 8f404019 DAC: 00000015 [ 229.767547] Process reboot (pid: 569, stack limit = 0xcf414240) [ 229.773777] Stack: (0xcf415e30 to 0xcf416000) [ 229.778377] 5e20: 76656437 00000000 cf165 e10 c03b435c [ 229.786995] 5e40: cf234100 60000013 c089ade0 c03ad798 c03ad718 cf165e1c cf165 e10 c0312e08 [ 229.795610] 5e60: c0312df4 c0310208 00000000 00000000 c07f0630 00000002 c000daa4 c004e27c [ 229.804227] 5e80: 01234567 c004e298 01234567 c004e434 cf415f00 fffffffe cf16f500 cf48b000 [ 229.881758] 5fa0: 00000058 c000d920 00000001 00000003 fee1dead 28121969 01234567 00000002 [ 229.890371] 5fc0: 00000001 00000003 00000000 00000058 000125d8 00000000 00000000 00000001 [ 229.898985] 5fe0: 0001250c be88ac94 00008f90 45e66480 20000010 fee1dead 00000000 00000000 [ 229.907624] [<c0286538>] (kobject_put+0xc/0x74) from [<c03b435c>] (dsps_musb_exit+0x44/0x50) [ 229.916526] [<c03b435c>] (dsps_musb_exit+0x44/0x50) from [<c03ad798>] (musb_shutdown+0x80/0x90) [ 229.925701] [<c03ad798>] (musb_shutdown+0x80/0x90) from [<c0312e08>] (platform_drv_shutdown+0x14/0x18) [ 229.935526] [<c0312e08>] (platform_drv_shutdown+0x14/0x18) from [<c0310208>] (device_shutdown+0x110/0x174) [ 229.945721] [<c0310208>] (device_shutdown+0x110/0x174) from [<c004e27c>] (kernel_restart_prepare+0x2c/0x3c) [ 229.955991] [<c004e27c>] (kernel_restart_prepare+0x2c/0x3c) from [<c004e298>] (kernel_restart+0xc/0x4c) [ 229.965892] [<c004e298>] (kernel_restart+0xc/0x4c) from [<c004e434>] (sys_reboot+0x154/0x1b8) [ 229.974889] [<c004e434>] (sys_reboot+0x154/0x1b8) from [<c000d920>] (ret_fast_syscall+0x0/0x30) [ 229.984054] Code: c069a545 e92d4013 e2504000 0a000015 (e5d43020) [ 229.990651] ---[ end trace 329b79ba8e6fef82 ]--- /etc/rc6.d/S90reboot: line 15: 569 Segmentation fault reboot -d -f
I'm seeing the same issue, but the fix @17twenty provided did solve the problem for me.
fixed in f599fcdc269b3faa5ecf0746c331e63e2f9e0a38
The 3.8 version seems to have a bug that is triggered on a reboot (but not a shutdown)
I've had a cursory look and the function dsps_musb_exit() in drivers/usb/musb/musb_dsps.c:
Stacktrace follows: