On Sun, Apr 28, Johannes Erdfelt wrote:

> > - I get errors when I make this a #if 0:
> > 
> >         if (urb->status != -EINPROGRESS) {
> >                 info("uhci_transfer_result: called for URB %p not in flight?", 
>urb);
> > #if 1
> >                 spin_unlock_irqrestore(&urb->lock, flags);
> >                 return;
> > #endif
> >                 goto out;
> >         }
> 
> Are you absolutely sure? That code block should never get called. It's
> solely there to detect errors. I don't even see the message in your
> dmesg output.
> 
> Not only that, but you can see that the code is exactly the same.
> 
> The only thing that I could think of would be gcc miscompiling the code.
> What version of gcc are you using?

Yes, pre6 works, pre6 + the patch does not.

Linux version 2.4.19-pre6 (olaf@siemens) (gcc version 2.95.3 20010315 (SuSE)) #1 Sam 
Apr 27 15:47:41 CEST 2002

> FWIW, there is no change in behaviour with that code snipped applied.

And the two extra lines at the end of the function? 
It is now called unconditional..

        uhci_add_complete(urb);
        spin_unlock_irqrestore(&urb->lock, flags);


Maybe the spinlock does not matter.



Gruss Olaf

-- 
 $ man clone

BUGS
       Main feature not yet implemented...

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

Reply via email to