From: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Date: Wed, 7 May 2008 19:31:50 -0400 (EDT) > On Wed, 7 May 2008, David Miller wrote: > > > I looked through the changesets since v2.6.25 in drivers/usb/host/ > > and there are a couple refactorings of how OHCI and EHCI are > > programmed in various situations which would be useful to audit. > > But the problem occurred when a UHCI controller was registered. What > makes you think OHCI or EHCI has anything to do with it? Read the reporter's boot logs. Their system (Sun Fire V100) has OHCI host controllers. And right after registerring OHCI is when it hangs: -------------------- Tried todays 2.6.26-rc1+git on a Fire V100. It mounted root etc as usual but hung during "Waiting for /dev to be fully populated...": Linux Tulip driver version 1.1.15-NAPI (Feb 27, 2007) tulip0: Old style EEPROM with no media selection information. tulip0: MII transceiver #1 config 1000 status 782d advertising 01e1. eth0: Davicom DM9102/DM9102A rev 49 at MMIO 0x1ff00000000, EEPROM not present, 00:03:ba:11:b3:71, IRQ 9. tulip1: Old style EEPROM with no media selection information. tulip1: MII transceiver #1 config 1000 status 7809 advertising 01e1. eth1: Davicom DM9102/DM9102A rev 49 at MMIO 0x1ff00002000, EEPROM not present, 00:03:ba:11:b3:72, IRQ 10. usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb ohci_hcd 0000:00:0a.0: OHCI Host Controller ohci_hcd 0000:00:0a.0: new USB bus registered, assigned bus number 1 ohci_hcd 0000:00:0a.0: irq 11, io mem 0x1ff01000000 usb usb1: configuration #1 chosen from 1 choice hub 1-0:1.0: USB hub found hub 1-0:1.0: 2 ports detected Driver 'sr' needs updating - please use bus_type methods usb usb1: New USB device found, idVendor=1d6b, idProduct=0001 usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 usb usb1: Product: OHCI Host Controller usb usb1: Manufacturer: Linux 2.6.26-rc1-00050-gf74d505-dirty ohci_hcd usb usb1: SerialNumber: 0000:00:0a.0 [ Now was a pause and the the following soft lockup message appeard. Sysrq-T is caoused by me, trying to understand what modprobe has caused this but there are several of them running. ] BUG: soft lockup - CPU#0 stuck for 61s! [modprobe:414] TSTATE: 0000001980009603 TPC: 00000000005e3c48 TNPC: 00000000005e3c4c Y: 00000000 Not tainted TPC: <neigh_periodic_timer+0xd0/0x160> g0: 0000000000009000 g1: 0000000000000002 g2: 00000000000005dc g3: 0000000000000001 g4: fffff8006e4d0ac0 g5: 73725f6d6f640010 g6: fffff8006e144000 g7: 0000000000000000 o0: 0000000000000002 o1: fffff8006e144400 o2: 00000000005e3b84 o3: 0000000000000000 o4: fffff8006e1b4e10 o5: 0000000000000001 sp: fffff8006e1466b1 ret_pc: 0000000000404980 RPC: <__handle_softirq+0x8/0x10> l0: 00000000ffffa657 l1: 0000000000000001 l2: 00000000005e3b80 l3: 0000000000000400 l4: 0000000000000000 l5: 0000000000000003 l6: 0000000000000000 l7: 0000000000000008 i0: 000000000071d660 i1: fffff8006e003290 i2: 0000000000000001 i3: 7fffffffffffffff i4: 0000000000700730 i5: 0000000000700780 i6: fffff8006e146771 i7: 000000000045d9e0 I7: <run_timer_softirq+0x188/0x200> SysRq : Show State task PC stack pid father init R running task 0 1 0 Call Trace: [000000000065bd18] schedule_timeout+0x60/0xc0 [00000000004bab3c] do_select+0x3a4/0x440 [00000000004e0cb8] compat_core_sys_select+0x140/0x200 [00000000004e122c] compat_sys_select+0xf4/0x1c0 [00000000004060d4] linux_sparc_syscall32+0x3c/0x40 [0000000000014c00] 0x14c08 kthreadd S 0000000000426d90 0 2 0 Call Trace: [0000000000468894] kthreadd+0x11c/0x180 [0000000000426d90] kernel_thread+0x38/0x60 [0000000000655d04] rest_init+0x2c/0x60 ksoftirqd/0 R running task 0 3 2 Call Trace: [0000000000459288] ksoftirqd+0xb0/0x100 [000000000046893c] kthread+0x44/0x80 [0000000000426d90] kernel_thread+0x38/0x60 [0000000000468840] kthreadd+0xc8/0x180 watchdog/0 R running task 0 4 2 Call Trace: [000000000047d4fc] watchdog+0xa4/0x200 [000000000046893c] kthread+0x44/0x80 [0000000000426d90] kernel_thread+0x38/0x60 [0000000000468840] kthreadd+0xc8/0x180 events/0 R running task 0 5 2 Call Trace: [0000000000464c20] worker_thread+0xa8/0xc0 [000000000046893c] kthread+0x44/0x80 [0000000000426d90] kernel_thread+0x38/0x60 [0000000000468840] kthreadd+0xc8/0x180 khelper S 000000000046893c 0 6 2 Call Trace: [0000000000464c20] worker_thread+0xa8/0xc0 [000000000046893c] kthread+0x44/0x80 [0000000000426d90] kernel_thread+0x38/0x60 [0000000000468840] kthreadd+0xc8/0x180 kblockd/0 R running task 0 90 2 Call Trace: [0000000000464c20] worker_thread+0xa8/0xc0 [000000000046893c] kthread+0x44/0x80 [0000000000426d90] kernel_thread+0x38/0x60 [0000000000468840] kthreadd+0xc8/0x180 cqueue S 000000000046893c 0 92 2 Call Trace: [0000000000464c20] worker_thread+0xa8/0xc0 [000000000046893c] kthread+0x44/0x80 [0000000000426d90] kernel_thread+0x38/0x60 [0000000000468840] kthreadd+0xc8/0x180 ata/0 S 000000000046893c 0 96 2 Call Trace: [0000000000464c20] worker_thread+0xa8/0xc0 [000000000046893c] kthread+0x44/0x80 [0000000000426d90] kernel_thread+0x38/0x60 [0000000000468840] kthreadd+0xc8/0x180 ata_aux S 000000000046893c 0 97 2 Call Trace: [0000000000464c20] worker_thread+0xa8/0xc0 [000000000046893c] kthread+0x44/0x80 [0000000000426d90] kernel_thread+0x38/0x60 [0000000000468840] kthreadd+0xc8/0x180 pdflush S 000000000046893c 0 120 2 Call Trace: [000000000048bfe4] pdflush+0xcc/0x1c0 [000000000046893c] kthread+0x44/0x80 [0000000000426d90] kernel_thread+0x38/0x60 [0000000000468840] kthreadd+0xc8/0x180 pdflush R running task 0 121 2 Call Trace: [000000000048bfe4] pdflush+0xcc/0x1c0 [000000000046893c] kthread+0x44/0x80 [0000000000426d90] kernel_thread+0x38/0x60 [0000000000468840] kthreadd+0xc8/0x180 kswapd0 S 000000000046893c 0 122 2 Call Trace: [000000000048ffa8] kswapd+0x4b0/0x4c0 [000000000046893c] kthread+0x44/0x80 [0000000000426d90] kernel_thread+0x38/0x60 [0000000000468840] kthreadd+0xc8/0x180 aio/0 S 000000000046893c 0 181 2 Call Trace: [0000000000464c20] worker_thread+0xa8/0xc0 [000000000046893c] kthread+0x44/0x80 [0000000000426d90] kernel_thread+0x38/0x60 [0000000000468840] kthreadd+0xc8/0x180 scsi_eh_0 S 000000000046893c 0 286 2 Call Trace: [00000000005a2c84] scsi_error_handler+0x8c/0x3e0 [000000000046893c] kthread+0x44/0x80 [0000000000426d90] kernel_thread+0x38/0x60 [0000000000468840] kthreadd+0xc8/0x180 scsi_eh_1 R running task 0 289 2 Call Trace: [00000000005a2c84] scsi_error_handler+0x8c/0x3e0 [000000000046893c] kthread+0x44/0x80 [0000000000426d90] kernel_thread+0x38/0x60 [0000000000468840] kthreadd+0xc8/0x180 kjournald S 000000000046893c 0 313 2 Call Trace: [000000000052869c] kjournald+0x164/0x1a0 [000000000046893c] kthread+0x44/0x80 [0000000000426d90] kernel_thread+0x38/0x60 [0000000000468840] kthreadd+0xc8/0x180 init S 0000000000457198 0 318 1 Call Trace: [0000000000456e08] do_wait+0x8f0/0xc00 [0000000000457198] sys_wait4+0x80/0xc0 [00000000004060d4] linux_sparc_syscall32+0x3c/0x40 [00000000000155bc] 0x155c4 rc S 0000000000457198 0 319 318 Call Trace: [0000000000456e08] do_wait+0x8f0/0xc00 [0000000000457198] sys_wait4+0x80/0xc0 [00000000004060d4] linux_sparc_syscall32+0x3c/0x40 [0000000000046808] 0x46810 S03udev S 0000000000457198 0 351 319 Call Trace: [0000000000456e08] do_wait+0x8f0/0xc00 [0000000000457198] sys_wait4+0x80/0xc0 [00000000004060d4] linux_sparc_syscall32+0x3c/0x40 [0000000000046808] 0x46810 udevd R running task 0 382 1 Call Trace: [0000000000404990] __handle_preemption+0x8/0x10 [000000000000017e] 0x186 udevsettle R running task 0 398 351 Call Trace: [000000000065cc04] do_nanosleep+0x8c/0xc0 [000000000046c2dc] hrtimer_nanosleep+0x64/0xe0 [000000000047cd2c] compat_sys_nanosleep+0x94/0x100 [00000000004060d4] linux_sparc_syscall32+0x3c/0x40 [00000000f7ed83f8] 0xf7ed8400 udevd S 0000000000457198 0 413 382 Call Trace: [0000000000456e08] do_wait+0x8f0/0xc00 [0000000000457198] sys_wait4+0x80/0xc0 [00000000004060d4] linux_sparc_syscall32+0x3c/0x40 [0000000000017fdc] 0x17fe4 modprobe R running task 0 414 413 Call Trace: [000000000058bda8] __handle_sysrq+0xd0/0x1a0 [0000000000592500] sunsu_serial_interrupt+0x4e8/0x6c0 [000000000047dd4c] handle_IRQ_event+0x34/0xa0 [000000000047f2dc] handle_fasteoi_irq+0x64/0xe0 [000000000042d548] handler_irq+0x70/0xa0 [00000000004208b4] tl0_irq5+0x1c/0x20 [0000000000404980] __handle_softirq+0x8/0x10 [000000000045d9e0] run_timer_softirq+0x188/0x200 [00000000004590e4] __do_softirq+0x6c/0xe0 [00000000004591b8] do_softirq+0x60/0x80 [0000000000459344] irq_exit+0x6c/0xa0 [000000000042d558] handler_irq+0x80/0xa0 [00000000004208b4] tl0_irq5+0x1c/0x20 [fffff8006e147619] 0xfffff8006e147621 [000000001001d638] usb_hcd_poll_rh_status+0x40/0x180 [usbcore] [000000001001dafc] usb_add_hcd+0x384/0x5c0 [usbcore] khubd R running task 0 451 2 Call Trace: [000000001001c558] hub_thread+0xf20/0xfe0 [usbcore] [000000000046893c] kthread+0x44/0x80 [0000000000426d90] kernel_thread+0x38/0x60 [0000000000468840] kthreadd+0xc8/0x180 udevd S 00000000004bab3c 0 457 382 Call Trace: [000000000065bd3c] schedule_timeout+0x84/0xc0 [00000000004bab3c] do_select+0x3a4/0x440 [00000000004e0cb8] compat_core_sys_select+0x140/0x200 [00000000004e1164] compat_sys_select+0x2c/0x1c0 [00000000004060d4] linux_sparc_syscall32+0x3c/0x40 [0000000000017cec] 0x17cf4 udevd S 0000000000457198 0 464 382 Call Trace: [0000000000456e08] do_wait+0x8f0/0xc00 [0000000000457198] sys_wait4+0x80/0xc0 [00000000004060d4] linux_sparc_syscall32+0x3c/0x40 [0000000000017fdc] 0x17fe4 modprobe D 000000000065b408 0 465 464 Call Trace: [000000000065bd3c] schedule_timeout+0x84/0xc0 [000000000065b408] wait_for_common+0x90/0x160 [0000000000543230] blk_execute_rq+0x58/0xa0 [00000000005a5974] scsi_execute+0xbc/0xe0 [00000000005a59f4] scsi_execute_req+0x5c/0xc0 [000000001005c28c] sr_test_unit_ready+0x54/0x120 [sr_mod] [000000001005ca78] sr_probe+0x1a0/0x5e0 [sr_mod] [000000000059780c] driver_probe_device+0x94/0x1a0 [0000000000597974] __driver_attach+0x5c/0x80 [000000000059704c] bus_for_each_dev+0x54/0x80 [0000000000596860] bus_add_driver+0xa8/0x260 [0000000000597b78] driver_register+0x60/0x160 [0000000010064028] init_sr+0x30/0x4c [sr_mod] [0000000000478acc] sys_init_module+0x114/0x1800 [00000000004060d4] linux_sparc_syscall32+0x3c/0x40 [0000000000013f70] 0x13f78 vol_id D 0000000000483a64 0 485 457 Call Trace: [000000000065bb1c] io_schedule+0x44/0xa0 [0000000000483a64] sync_page+0x4c/0x80 [0000000000483aa4] sync_page_killable+0xc/0x60 [000000000065bf78] __wait_on_bit_lock+0x60/0xa0 [0000000000483980] __lock_page_killable+0x48/0x60 [0000000000485dc0] generic_file_aio_read+0x328/0x5a0 [00000000004ac190] do_sync_read+0x98/0xe0 [00000000004acc68] vfs_read+0x70/0x140 [00000000004acdec] sys_read+0x34/0x60 [00000000004060d4] linux_sparc_syscall32+0x3c/0x40 [00000000f7ec7f48] 0xf7ec7f50 udevd ? 0000000000457a64 0 498 382 Call Trace: [00000000004577d4] do_exit+0x51c/0x780 [0000000000457a64] do_group_exit+0x2c/0xc0 [00000000004060d4] linux_sparc_syscall32+0x3c/0x40 [00000000f7e59550] 0xf7e59558 -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html