lkml.org 
[lkml]   [2007]   [May]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    SubjectRE: [2.6.22-rc1-mm1] ehci-hcd - BUG: scheduling while atomic: rmmod/0x00000001/4568
    Date
    From

    Sorry about that. Would it be helpful if I verified that and sent it in
    signed off?

    Thanks
    Stuart

    -----Original Message-----
    From: Andrew Morton [mailto:akpm@linux-foundation.org]
    Sent: Friday, May 25, 2007 5:00 PM
    To: Greg KH
    Cc: Mattia Dongili; Linux Kernel Mailing List; Hayes, Stuart; David
    Brownell; linux-usb-devel@lists.sourceforge.net
    Subject: Re: [2.6.22-rc1-mm1] ehci-hcd - BUG: scheduling while atomic:
    rmmod/0x00000001/4568

    On Fri, 25 May 2007 14:40:05 -0700 Greg KH <gregkh@suse.de> wrote:

    > On Mon, May 21, 2007 at 11:44:37AM +0900, Mattia Dongili wrote:
    > > Hello,
    > >
    > > with gregkh-usb-usb-ehci-cpufreq-fix.patch removing ehci-hcd causes
    > > the following BUG:
    >
    > Thanks for letting me know.
    >
    > Stuart, any help here?

    pretty obvious. cpufreq_unregister_notifier() sleeps, and that patch
    causes it to be called under spinlock.

    Something like this...

    --- a/drivers/usb/host/ehci-hcd.c~fix-gregkh-usb-usb-ehci-cpufreq-fix
    +++ a/drivers/usb/host/ehci-hcd.c
    @@ -452,14 +452,14 @@ static void ehci_stop (struct usb_hcd *h
    if (HC_IS_RUNNING (hcd->state))
    ehci_quiesce (ehci);

    -#ifdef CONFIG_CPU_FREQ
    - cpufreq_unregister_notifier(&ehci->cpufreq_transition,
    - CPUFREQ_TRANSITION_NOTIFIER);
    -#endif
    ehci_reset (ehci);
    ehci_writel(ehci, 0, &ehci->regs->intr_enable);
    spin_unlock_irq(&ehci->lock);

    +#ifdef CONFIG_CPU_FREQ
    + cpufreq_unregister_notifier(&ehci->cpufreq_transition,
    + CPUFREQ_TRANSITION_NOTIFIER);
    +#endif
    /* let companion controllers work when we aren't */
    ehci_writel(ehci, 0, &ehci->regs->configured_flag);

    _
    -
    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/
    \
     
     \ /
      Last update: 2007-05-29 17:29    [W:0.035 / U:0.880 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site