2002-09-28 01:18:56

by Andrew Morton

[permalink] [raw]
Subject: Re: (more) Sleeping function called from illegal context...

Luc Van Oostenryck wrote:
>
> With CONFIG_PREEMPT=y on an SMP AMD (2CPU):
>
> Sleeping function called from illegal context at /kernel/l-2.5.39/include/asm/semaphore.h:119
> c1b4ff7c c0117094 c0280b00 c02bc680 00000077 f7f78540 c01ffc8c c02bc680
> 00000077 c1b4e000 c1b4e000 00000001 c1b4ffdc c1b4ffc0 00000206 f7f78568
> c1b4e000 00000001 c1b4ffdc c01fff35 c01fff00 00000000 00000000 00000000
> Call Trace:
> [<c0117094>]__might_sleep+0x54/0x58
> [<c01ffc8c>]usb_hub_events+0x6c/0x2e0
> [<c01fff35>]usb_hub_thread+0x35/0xe0
> [<c01fff00>]usb_hub_thread+0x0/0xe0
> [<c0115500>]default_wake_function+0x0/0x40
> [<c010553d>]kernel_thread_helper+0x5/0x18

usb_hub_events() does down() inside hub_event_lock.


2002-09-28 02:11:53

by Greg KH

[permalink] [raw]
Subject: Re: (more) Sleeping function called from illegal context...

On Fri, Sep 27, 2002 at 06:24:07PM -0700, Andrew Morton wrote:
> Luc Van Oostenryck wrote:
> >
> > With CONFIG_PREEMPT=y on an SMP AMD (2CPU):
> >
> > Sleeping function called from illegal context at /kernel/l-2.5.39/include/asm/semaphore.h:119
> > c1b4ff7c c0117094 c0280b00 c02bc680 00000077 f7f78540 c01ffc8c c02bc680
> > 00000077 c1b4e000 c1b4e000 00000001 c1b4ffdc c1b4ffc0 00000206 f7f78568
> > c1b4e000 00000001 c1b4ffdc c01fff35 c01fff00 00000000 00000000 00000000
> > Call Trace:
> > [<c0117094>]__might_sleep+0x54/0x58
> > [<c01ffc8c>]usb_hub_events+0x6c/0x2e0
> > [<c01fff35>]usb_hub_thread+0x35/0xe0
> > [<c01fff00>]usb_hub_thread+0x0/0xe0
> > [<c0115500>]default_wake_function+0x0/0x40
> > [<c010553d>]kernel_thread_helper+0x5/0x18
>
> usb_hub_events() does down() inside hub_event_lock.

Yup, just got that one myself, along with a few other USB goodies :(

This is a very good debugging tool, thanks for doing it.

greg k-h