From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933607Ab3CTAMr (ORCPT ); Tue, 19 Mar 2013 20:12:47 -0400 Received: from infernal.debian.net ([176.28.9.132]:35840 "EHLO infernal.debian.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756165Ab3CTAMp (ORCPT ); Tue, 19 Mar 2013 20:12:45 -0400 X-Greylist: delayed 544 seconds by postgrey-1.27 at vger.kernel.org; Tue, 19 Mar 2013 20:12:45 EDT Date: Wed, 20 Mar 2013 01:03:36 +0100 From: Andreas Bombe To: Alan Stern Cc: Greg Kroah-Hartman , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Stephen Warren Subject: [Regression] process hangs due to "USB: EHCI: work around silicon bug in Intels EHCI controllers" Message-ID: <20130320000336.GA8912@amos.fritz.box> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The named commit (6402c796d3) causes a process to hang indefinitely in usb_kill_urb(). Reverting it fixes the problem. The bug also prevents suspend/shutdown/reboot from completing, presumably due to the hanging process. (Cc'ing Stephen Warren because I only found his report after I bisected it myself. Do you also see a blocked process?) This is the hanging process on my system: [ 240.364085] INFO: task colord-sane:3619 blocked for more than 120 seconds. [ 240.364090] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. [ 240.364093] colord-sane D 0000000000001388 0 3619 3602 0x00000000 [ 240.364099] ffff8801255cd818 0000000000000046 0000000000000296 ffffffff81c11400 [ 240.364105] ffff8801255cd7c8 ffff880127488000 ffff8801255cdfd8 ffff8801255cdfd8 [ 240.364112] 0000000000013600 ffff880127488000 ffff8801255cd828 ffff8801234536c0 [ 240.364118] Call Trace: [ 240.364127] [] schedule+0x65/0x67 [ 240.364132] [] usb_kill_urb+0xb5/0xd3 [ 240.364138] [] ? bit_waitqueue+0x7a/0x7a [ 240.364143] [] usb_start_wait_urb+0xb2/0x173 [ 240.364148] [] usb_control_msg+0xd0/0x102 [ 240.364152] [] ? usb_get_status+0x3d/0xb0 [ 240.364158] [] ? kmem_cache_alloc_trace+0x4b/0xc9 [ 240.364163] [] ? _raw_spin_unlock_irqrestore+0x3f/0x6e [ 240.364167] [] usb_get_status+0x84/0xb0 [ 240.364172] [] ? _raw_spin_unlock_irqrestore+0x60/0x6e [ 240.364177] [] usb_port_resume+0x37c/0x5b4 [ 240.364183] [] ? mark_held_locks+0x55/0x99 [ 240.364187] [] ? _raw_spin_unlock_irq+0x2d/0x5a [ 240.364193] [] generic_resume+0x1c/0x1e [ 240.364197] [] usb_resume_both+0x94/0x106 [ 240.364202] [] ? usb_runtime_suspend+0x5d/0x5d [ 240.364206] [] usb_runtime_resume+0x1a/0x1c [ 240.364211] [] __rpm_callback+0x34/0x5b [ 240.364216] [] rpm_callback+0x56/0x79 [ 240.364220] [] rpm_resume+0x38a/0x4a7 [ 240.364225] [] ? _raw_spin_lock_irqsave+0x51/0x5c [ 240.364230] [] ? __pm_runtime_resume+0x5d/0x88 [ 240.364234] [] __pm_runtime_resume+0x6b/0x88 [ 240.364239] [] usb_autoresume_device+0x20/0x3f [ 240.364244] [] usbdev_open+0xc7/0x245 [ 240.364249] [] chrdev_open+0x130/0x15b [ 240.364254] [] ? lg_local_unlock+0x3f/0x5e [ 240.364259] [] ? cdev_put+0x26/0x26 [ 240.364264] [] do_dentry_open.isra.17+0x16b/0x211 [ 240.364268] [] finish_open+0x21/0x2d [ 240.364273] [] do_last.isra.59+0x7dc/0x962 [ 240.364278] [] ? inode_permission+0x45/0x47 [ 240.364282] [] ? link_path_walk+0xc2/0x43e [ 240.364287] [] path_openat.isra.60+0xc5/0x304 [ 240.364292] [] do_filp_open+0x38/0x86 [ 240.364297] [] ? spin_unlock+0x9/0xb [ 240.364302] [] ? __alloc_fd+0xf3/0x104 [ 240.364307] [] do_sys_open+0x6c/0xf9 [ 240.364311] [] sys_open+0x21/0x23 [ 240.364316] [] system_call_fastpath+0x1a/0x1f [ 240.364319] INFO: lockdep is turned off. I tested my USB hardware with Alan's patch/program and it is susceptible to the bug the problematic commit tries to work around, my hardware is: 00:1a.7 USB controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #2 (prog-if 20 [EHCI]) Subsystem: ASUSTeK Computer Inc. P5Q Deluxe Motherboard Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- SERR- Kernel driver in use: ehci-pci