On Tue, Mar 19, 2002, Greg KH <[EMAIL PROTECTED]> wrote:
> On Tue, Mar 19, 2002 at 11:49:47AM -0500, Johannes Erdfelt wrote:
> > On Mon, Mar 18, 2002, Greg KH <[EMAIL PROTECTED]> wrote:
> > > On Mon, Mar 18, 2002 at 12:47:14AM -0500, Johannes Erdfelt wrote:
> > > > Unfortunately, I left out one line from my spinlock cleanup patch
> > > > recently.
> > > > 
> > > > As a result, using interrupt URB's could cause a deadlock on SMP
> > > > kernels.
> > > > 
> > > > This should fix the deadlock Greg reported.
> > > 
> > > I've added this to my tree, but no, it does not solve my lockup problem
> > > (for those playing at home, it's a SMP kernel on a UP box, with a
> > > Microsoft trackball.)  I'll do more tests tomorrow to see if I can
> > > narrow it down some more (i.e. if it's only with a specific device
> > > plugged in or not.)
> > 
> > Weird. I could reproduce a lockup with a USB joystick I have. But this
> > solved the problem for me.
> 
> I tried again this morning and reproduced it, and captured an oops.
> I can load uhci.o with no devices plugged into the bus just fine.  But
> when I insert my trackball into the root hub I get the following oops:

Excellent. This will definately help.

> ksymoops 2.4.5 on i686 2.5.7.  Options used
>      -V (default)
>      -k /proc/ksyms (default)
>      -l /proc/modules (default)
>      -o /lib/modules/2.5.7/ (default)
>      -m /boot/System.map (specified)
> 
> Oops: 0000
> CPU:    0
> EIP:    [<d186657c>]    Not tainted
> Using defaults from ksymoops -t elf32-i386 -a i386
> Call Trace: [<d186665a>] [<d18672e2>] [<d1868398>] [<d1852e99>] [<d1852fab>] 
>    [<d185312a>] [<d18531c4>] [<d1854042>] [<d1854b21>] [<c01ab794>] [<d18621ab>] 
>    [<d18569dc>] [<d1856bff>] [<d1860360>] [<d1856eb5>] [<c01057f6>] [<d1856e40>] 
> Code: 8b 48 2c 8d 58 2c 39 cb 74 21 8d 76 00 8d bc 27 00 00 00 00
> 
> 
> >>EIP; d186657c <[uhci]_uhci_insert_qh+1c/b0>   <=====
> 
> Trace; d186665a <[uhci]uhci_insert_qh+4a/80>
> Trace; d18672e2 <[uhci]uhci_submit_control+242/290>
> Trace; d1868398 <[uhci]uhci_submit_urb+1f8/390>
> Trace; d1852e99 <[usbcore]usb_submit_urb+29/40>
> Trace; d1852fab <[usbcore]usb_start_wait_urb+ab/1c0>
> Trace; d185312a <[usbcore]usb_internal_control_msg+6a/80>
> Trace; d18531c4 <[usbcore]usb_control_msg+84/a0>
> Trace; d1854042 <[usbcore]usb_set_address+22/30>
> Trace; d1854b21 <[usbcore]usb_new_device+21/240>
> Trace; c01ab794 <sprintf+14/20>
> Trace; d18621ab <[usbcore].LC16+723/10d8>
> Trace; d18569dc <[usbcore]usb_hub_port_connect_change+27c/310>
> Trace; d1856bff <[usbcore]usb_hub_events+18f/3d0>
> Trace; d1860360 <[usbcore].LC76+58/60>
> Trace; d1856eb5 <[usbcore]usb_hub_thread+75/100>
> Trace; c01057f6 <kernel_thread+26/30>
> Trace; d1856e40 <[usbcore]usb_hub_thread+0/100>
> 
> Code;  d186657c <[uhci]_uhci_insert_qh+1c/b0>
> 00000000 <_EIP>:
> Code;  d186657c <[uhci]_uhci_insert_qh+1c/b0>   <=====
>    0:   8b 48 2c                  mov    0x2c(%eax),%ecx   <=====
> Code;  d186657f <[uhci]_uhci_insert_qh+1f/b0>
>    3:   8d 58 2c                  lea    0x2c(%eax),%ebx
> Code;  d1866582 <[uhci]_uhci_insert_qh+22/b0>
>    6:   39 cb                     cmp    %ecx,%ebx
> Code;  d1866584 <[uhci]_uhci_insert_qh+24/b0>
>    8:   74 21                     je     2b <_EIP+0x2b> d18665a7 
><[uhci]_uhci_insert_qh+47/b0>
> Code;  d1866586 <[uhci]_uhci_insert_qh+26/b0>
>    a:   8d 76 00                  lea    0x0(%esi),%esi
> Code;  d1866589 <[uhci]_uhci_insert_qh+29/b0>
>    d:   8d bc 27 00 00 00 00      lea    0x0(%edi,1),%edi
> 
> I had to copy it by hand, hence all of the missing registers at the
> beginning, sorry.

That's fine. I think this will be enough to help track it down.

> If you want me to test anything else out, please let me know.

Just curious about what you did to reproduce it:

You loaded uhci.o
You plugged in a hub
You plugged in the trackbacll

Is that right?

Did it finish enumeration?

JE


_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to