Re: Multiple OOPS with Linux-2.5.40

From: Greg KH (greg@kroah.com)
Date: Tue Oct 01 2002 - 21:17:13 EST


On Tue, Oct 01, 2002 at 08:25:17PM -0500, Krishnakumar B wrote:
> hcd-pci.c: uhci-hcd @ 00:1f.2, Intel Corp. 82801AA USB
> hcd-pci.c: irq 19, io base 0000ff80
> hcd.c: new USB bus registered, assigned bus number 1
> hub.c: USB hub found at 0
> hub.c: 2 ports detected
> Debug: sleeping function called from illegal context at /u/scratch/downloads/kernel/linux-2.5.40/include/asm/semaphore.h:119
> df675f70 e2886692 e28926c0 00000077 df675fa8 df808760 df664f88 df66e0d0
> df674000 dfb36100 00000286 df674000 df674000 df675fc0 df674000 e28869f5
> dfa1b860 dfb36100 df674000 df81df34 00000000 dfa1b860 c0118260 00000000
> Call Trace:
> [<e2886692>]usb_hub_events+0x82/0x3b0 [usbcore]
> [<e28926c0>].rodata.str1.32+0xd20/0x28e2 [usbcore]
> [<e28869f5>]usb_hub_thread+0x35/0x100 [usbcore]
> [<c0118260>]default_wake_function+0x0/0x40
> [<e28869c0>]usb_hub_thread+0x0/0x100 [usbcore]
> [<c0105665>]kernel_thread_helper+0x5/0x10

I think this is due to the following lines of code in
drivers/usb/core/hub.c:
                spin_lock_irqsave(&hub_event_lock, flags);

                ....

                down(&hub->khubd_sem); /* never blocks, we were on list */
                spin_unlock_irqrestore(&hub_event_lock, flags);

Johannes, any reason for the down() when we have a spinlock held?

thanks,

greg k-h
-
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/



This archive was generated by hypermail 2b29 : Mon Oct 07 2002 - 22:00:31 EST