Re: 2.6.25-rc7: Ugh.

From: Mark Lord
Date: Thu Mar 27 2008 - 22:13:48 EST


Mark Lord wrote:
Greg KH wrote:
On Thu, Mar 27, 2008 at 11:29:27AM -0400, Mark Lord wrote:
It is with great reluctance when I attempt moving my main "desktop"
over to a new kernel version -- because the USB subsystem seems to
break every single time.

That's not good, why not tell the linux-usb developers this? (added to
the cc:)

So today I tried 2.6.25-rc7 on it for the first time.
Not good.

It boots, but just a simple suspend/resume (RAM) was enough to kill it.
It comes back on resume, with an X desktop again,
but with no USB functionality -- no mouse.

The keyboard still works, so I dropped to a console and tried:

rmmod usbhid
insmod usbhid

And the console hung at 100% CPU on the insmod.
..

Okay, correction there: it just hangs the console, but not 100% CPU.
Other tasks still continue running.

Same thing happens when I rmmod usbhid, and then rmmod ehci_hcd.
The rmmod ehci_hcd hangs.

But since the rest of the system is still alive, including the non-USB touchpad(!),
here is the alt-sysrq-t from syslog:

rmmod D f74c2ddc 0 4538 4492
f6d3b200 00000086 f74c2c90 f74c2ddc c281e840 00000001 c01131be 00000000 00000001 c0324a00 c0324a00 00000000 00000001 7fffffff 7fffffff f653cea8 00000002 c02906f8 00000000 00000012 c038f6aa 00000086 c011aa05 00000000 Call Trace:
[__wake_up_common+46/88] __wake_up_common+0x2e/0x58
[schedule_timeout+19/134] schedule_timeout+0x13/0x86
[wake_up_klogd+43/45] wake_up_klogd+0x2b/0x2d
[wait_for_common+205/308] wait_for_common+0xcd/0x134
[default_wake_function+0/8] default_wake_function+0x0/0x8
[__cancel_work_timer+237/312] __cancel_work_timer+0xed/0x138
[wq_barrier_func+0/8] wq_barrier_func+0x0/0x8
[<f889f684>] usb_remove_hcd+0x63/0xd7 [usbcore]
[<f88a858e>] usb_hcd_pci_remove+0x15/0x68 [usbcore]
[pci_device_remove+22/53] pci_device_remove+0x16/0x35
[__device_release_driver+88/118] __device_release_driver+0x58/0x76
[driver_detach+122/182] driver_detach+0x7a/0xb6
[bus_remove_driver+96/126] bus_remove_driver+0x60/0x7e
[pci_unregister_driver+30/95] pci_unregister_driver+0x1e/0x5f
[sys_delete_module+388/445] sys_delete_module+0x184/0x1bd
[remove_vma+49/54] remove_vma+0x31/0x36
[do_page_fault+506/1232] do_page_fault+0x1fa/0x4d0
[sysenter_past_esp+95/133] sysenter_past_esp+0x5f/0x85
=======================

If nothing else, this should point to where USB is getting deadlocked.
..

Oh, I also had a hung "lsusb" in another window at the same time:

lsusb D f74c187c 0 4491 4397
f6d3bc80 00000082 f74c1730 f74c187c c2816840 00000000 c26cb440 f666bab8 00000003 c014b132 00000000 00000000 00000000 f75c1114 00000246 f75c111c f74c1730 c0291678 00000001 f74c1730 c01156bc f75c1120 f77e5f78 f75c1000 Call Trace:
[handle_mm_fault+1205/1222] handle_mm_fault+0x4b5/0x4c6
[__down+194/212] __down+0xc2/0xd4
[default_wake_function+0/8] default_wake_function+0x0/0x8
[__down_failed+7/12] __down_failed+0x7/0xc
[<f88a70a0>] usbdev_ioctl+0x42/0x1132 [usbcore]
[dput+22/197] dput+0x16/0xc5
[__link_path_walk+2664/2969] __link_path_walk+0xa68/0xb99
[mntput_no_expire+17/92] mntput_no_expire+0x11/0x5c
[path_walk+144/152] path_walk+0x90/0x98
[klist_del+24/59] klist_del+0x18/0x3b
[klist_iter_exit+15/24] klist_iter_exit+0xf/0x18
[bus_find_device+87/97] bus_find_device+0x57/0x61
[kobject_get+15/19] kobject_get+0xf/0x13
[get_device+14/20] get_device+0xe/0x14
[<f889c29e>] usb_get_dev+0xf/0x13 [usbcore]
[<f88a6d9c>] usbdev_open+0x13c/0x144 [usbcore]
[chrdev_open+312/373] chrdev_open+0x138/0x175
[open_namei+582/1357] open_namei+0x246/0x54d
[chrdev_open+0/373] chrdev_open+0x0/0x175
[__dentry_open+263/404] __dentry_open+0x107/0x194
[nameidata_to_filp+28/44] nameidata_to_filp+0x1c/0x2c
[do_filp_open+43/49] do_filp_open+0x2b/0x31
[vfs_ioctl+71/93] vfs_ioctl+0x47/0x5d
[do_vfs_ioctl+555/574] do_vfs_ioctl+0x22b/0x23e
[sys_ioctl+44/69] sys_ioctl+0x2c/0x45
[sysenter_past_esp+95/133] sysenter_past_esp+0x5f/0x85
[schedule+53/1498] schedule+0x35/0x5da
=======================
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/