lkml.org 
[lkml]   [2003]   [Apr]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: USB deadlock in v2.5.67
    Greg KH wrote:
    > On Thu, Apr 17, 2003 at 07:02:07PM -0700, David Mosberger wrote:
    >
    >><hcd_free_dev+0x140> translates into line 1249 in hcd.c, where it
    >>does:
    >>
    >> spin_lock_irqsave (&hcd_data_lock, flags);
    >>
    >>The deadlock is pretty obvious: the same lock has already been
    >>acquired urb_unlink(), 4 levels up in the call-chain.
    >>
    >>Anybody have a fix for this?
    >
    >
    > David (Brownell, that is), does this help with the trace I sent you a
    > few hours ago?

    Seems to be a different problem. The patch below should
    resolve the keyboard problem -- just reorders two lines
    so the lock isn't held after the device's records get
    deleted, so the order is what it should always have been.

    - Dave




    --- 1.59/drivers/usb/core/hcd.c Mon Apr 14 14:01:44 2003
    +++ edited/drivers/usb/core/hcd.c Fri Apr 18 08:20:42 2003
    @@ -961,8 +961,8 @@
    spin_lock_irqsave (&hcd_data_lock, flags);
    list_del_init (&urb->urb_list);
    dev = urb->dev;
    - usb_put_dev (dev);
    spin_unlock_irqrestore (&hcd_data_lock, flags);
    + usb_put_dev (dev);
    }

    \
     
     \ /
      Last update: 2005-03-22 13:34    [W:0.039 / U:30.192 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site