On Fri, May 19, 2000, Al Borchers <[EMAIL PROTECTED]> wrote:
> I changed the locking to use spin_lock_irqsave, as Johannes suggested,
> and the problem seems to have gone away with usb-uhci.

That's promising.

> Ironically, I still get an oops with uhci.  I will test further and let
> you know more soon.  The oops with uhci is below.

Hmm, that is not good.

> I should mention that I use control-C from the terminal to send SIGINT
> to the test program to tell it to print stats (that is the way it was
> designed).  The crash seems to happen when I press control-C.

Is it very reproducible when you hit Ctrl-C or does it only happen
sometimes?

> >>EIP; c8835d26 <[usb-serial].text.end+72/10c>   <=====

The above line...

> Trace; c882e63a <[uhci]uhci_transfer_result+10a/168>
> Trace; c882f3cb <[uhci]uhci_interrupt+11f/15c>
> Trace; c01a9840 <ide_dma_intr+0/a0>
> Trace; c010cca6 <handle_IRQ_event+4e/78>
> Trace; c010ce99 <do_IRQ+99/ec>
> Code;  c8835d26 <[usb-serial].text.end+72/10c>
> 00000000 <_EIP>:
> Code;  c8835d26 <[usb-serial].text.end+72/10c>   <=====
>    0:   80 7d 00 00               cmpb   $0x0,0x0(%ebp)   <=====
> Code;  c8835d2a <[usb-serial].text.end+76/10c>
>    4:   f3 90                     repz nop
> Code;  c8835d2c <[usb-serial].text.end+78/10c>
>    6:   7e f8                     jle    0 <_EIP>
> Code;  c8835d2e <[usb-serial].text.end+7a/10c>
>    8:   e9 2a f6 ff ff            jmp    fffff637 <_EIP+0xfffff637> c883535d
> <[usb-serial]digi_write_bulk_callback+135/1f8>

and these lines cause me to believe that there's still a bug somewhere in
your driver.

This assembly dump looks like it's in the spinlock code:

        "cmpb $0,%0\n\t" \
        "rep;nop\n\t" \
        "jle 2b\n\t" \
        "jmp 1b\n" \

> Code;  c8835d33 <[usb-serial].text.end+7f/10c>
>    d:   80 3e 00                  cmpb   $0x0,(%esi)
> Code;  c8835d36 <[usb-serial].text.end+82/10c>
>   10:   f3 90                     repz nop
> Code;  c8835d38 <[usb-serial].text.end+84/10c>
>   12:   7e f9                     jle    d <_EIP+0xd> c8835d33
> <[usb-serial].text.end+7f/10c>

Did you try the "#define static" trick?

JE


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to