2.6.9-rc3: USB OHCI failure on suspend on AMD64

From: Rafael J. Wysocki (rjw_at_sisk.pl)
Date: 09/30/04

  • Next message: maximilian attems: "[patch] msleep_interruptible() fix whitespace"
    To: LKML <linux-kernel@vger.kernel.org>
    Date:	Thu, 30 Sep 2004 22:51:30 +0200
    
    

    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.
     <ffffffff803455fb>{hcd_endpoint_disable+107}
    <ffffffff80346729>{usb_disable_endpoint+41}
            <ffffffff803468aa>{usb_disable_device+26}
    <ffffffff803422fc>{usb_disconnect+188}
            <ffffffff803441b0>{hcd_panic+0} <ffffffff803441fa>{hcd_panic+74}
            <ffffffff8015824d>{worker_thread+733}
    <ffffffff80137c00>{default_wake_function+0}
            <ffffffff80137c00>{default_wake_function+0}
    <ffffffff80157f70>{worker_thread+0}
            <ffffffff8015f51d>{kthread+205} <ffffffff80111b43>{child_rip+8}
            <ffffffff8015f450>{kthread+0} <ffffffff80111b3b>{child_rip+0}

    [-- several times the above --]

     Call Trace:<ffffffff80345c3e>{hcd_unlink_urb+494}
    <ffffffff803463dc>{usb_kill_urb+380}
            <ffffffff80345a37>{hcd_endpoint_disable+1191}
    <ffffffff8019ed6e>{invalidate_inode_buffers+14}
            <ffffffff80346729>{usb_disable_endpoint+41}
    <ffffffffa022374c>{:usbhid:hid_disconnect+44}
            <ffffffff8033f4e9>{usb_unbind_interface+73}
    <ffffffff8030b95e>{device_release_driver+94}
            <ffffffff8030baf4>{bus_remove_device+164}
    <ffffffff8030a898>{device_del+88}
            <ffffffff8034690b>{usb_disable_device+123}
    <ffffffff803422fc>{usb_disconnect+188}
            <ffffffff803441b0>{hcd_panic+0} <ffffffff803441fa>{hcd_panic+74}
            <ffffffff8015824d>{worker_thread+733}
    <ffffffff80137c00>{default_wake_function+0}
            <ffffffff80137c00>{default_wake_function+0}
    <ffffffff80157f70>{worker_thread+0}
            <ffffffff8015f51d>{kthread+205} <ffffffff80111b43>{child_rip+8}
            <ffffffff8015f450>{kthread+0} <ffffffff80111b3b>{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"
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at  http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at  http://www.tux.org/lkml/
    

  • Next message: maximilian attems: "[patch] msleep_interruptible() fix whitespace"

    Relevant Pages