On Monday 29 October 2001 21:33, David Brownell
> > I'm having problems with my Philips webcam and an OHCI controller
> > (buffer underflow). The machine freezes rock-solid if I then try to
> > kill -9 the application which is using the usb/webcam. No OOPS,
> > nothing.
>
> How about when you unplug the camera?
>
> In either case, OHCI is unlikely to be directly involved -- that's more
> suggestive of a bug in the PWC driver, though of course one can't rule
> out OHCI with just these facts.

Yeah, sure, pass the bowl back and forth :-(

[snip]

> The OPTi chips may be less reliable as OHCI goes.  Evidently MacOS X
> has some really nasty workarounds for them.  (I've also noticed that they
> can't enable the "UE" exception.)

Nasty; could it be that enabling this exception triggers a bug in the OPTi 
chip?

> Curious:  the "USB-error/status: 8" bit means OHCI saw a data overrun
> (camera sent too much data), but that doesn't seem to have been reported
> in any "RET URB" messages.  And those overruns were reported before the
> "Frame buffer underflow" messages.

The only logical explanation I can think of is that this error condition 
somehow remains 'stuck' for a particular TD, and does not get cleared. So 
every urb sent back to the PWC driver is one TD short, causing the Frame 
buffer underflow.

Note: individual wrong TDs are not reported by the pwc driver. This is 
arguably an omission (on the other hand, getting spammed by a few harmless 
dropped TDs isn't exactly user-friendly either).

Anyway, try this small patch and see if we can find a consistent failure 
here (aka: the same iso frame each time).

 - Nemosoft

--- pwc-if.c    2001/10/23 22:50:10     1.39
+++ pwc-if.c    2001/10/29 21:20:04
@@ -773,6 +773,8 @@
                        } /* .. flen < last_packet_size */
                        pdev->vlast_packet_size = flen;
                } /* ..status == 0 */
+               else
+                       Trace(TRACE_FLOW, "Iso frame %d of URB has error 
%d\n", i, fst);
        }
        if (awake)
                wake_up_interruptible(&pdev->frameq);



 - Nemosoft

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

Reply via email to