From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S269495AbUI3U4A (ORCPT ); Thu, 30 Sep 2004 16:56:00 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S269515AbUI3Uy6 (ORCPT ); Thu, 30 Sep 2004 16:54:58 -0400 Received: from grendel.digitalservice.pl ([217.67.200.140]:17555 "HELO mail.digitalservice.pl") by vger.kernel.org with SMTP id S269474AbUI3UtI (ORCPT ); Thu, 30 Sep 2004 16:49:08 -0400 From: "Rafael J. Wysocki" To: LKML Subject: 2.6.9-rc3: USB OHCI failure on suspend on AMD64 Date: Thu, 30 Sep 2004 22:51:30 +0200 User-Agent: KMail/1.6.2 Cc: Pavel Machek , linux-usb-devel@lists.sourceforge.net MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-2" Content-Transfer-Encoding: 7bit Message-Id: <200409302251.30903.rjw@sisk.pl> Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Hi, It seems there's a problem with USB OHCI driver that causes these traces to appear on suspend on an AMD64-based box: ..<7>PM: Image restored successfully. PCI: Setting latency timer of device 0000:00:02.0 to 64 ohci_hcd 0000:00:02.0: HC died; cleaning up usb 1-2: USB disconnect, address 3 Badness in hcd_endpoint_disable at drivers/usb/core/hcd.c:1310 Call Trace:<7>Losing some ticks... checking if CPU frequency changed. {hcd_endpoint_disable+107} {usb_disable_endpoint+41} {usb_disable_device+26} {usb_disconnect+188} {hcd_panic+0} {hcd_panic+74} {worker_thread+733} {default_wake_function+0} {default_wake_function+0} {worker_thread+0} {kthread+205} {child_rip+8} {kthread+0} {child_rip+0} [-- several times the above --] Call Trace:{hcd_unlink_urb+494} {usb_kill_urb+380} {hcd_endpoint_disable+1191} {invalidate_inode_buffers+14} {usb_disable_endpoint+41} {:usbhid:hid_disconnect+44} {usb_unbind_interface+73} {device_release_driver+94} {bus_remove_device+164} {device_del+88} {usb_disable_device+123} {usb_disconnect+188} {hcd_panic+0} {hcd_panic+74} {worker_thread+733} {default_wake_function+0} {default_wake_function+0} {worker_thread+0} {kthread+205} {child_rip+8} {kthread+0} {child_rip+0} [-- once again the above --] The workaround is to explicitly unload the driver before suspend and reload it after resume. It is possible that it's fixed in -mm kernels, as I haven't seen such symptoms there, recently (since 2.6.9-rc2-mm1 at least). Greets, RJW -- - Would you tell me, please, which way I ought to go from here? - That depends a good deal on where you want to get to. -- Lewis Carroll "Alice's Adventures in Wonderland"