Am Sonntag, 7. November 2004 20:47 schrieb Luca Risolia: > On Sun, 7 Nov 2004 19:24:04 +0100 > Oliver Neukum <[EMAIL PROTECTED]> wrote: > > > Am Sonntag, 7. November 2004 20:19 schrieb Luca Risolia: > > > On Sun, 7 Nov 2004 13:45:49 +0100 > > > Oliver Neukum <[EMAIL PROTECTED]> wrote: > > > > > > > Am Sonntag, 7. November 2004 14:25 schrieb Luca Risolia: > > > > > +int sn9c102_stream_interrupt(struct sn9c102_device* cam) > > > > > +{ > > > > > + int err = 0; > > > > > + > > > > > + cam->stream = STREAM_INTERRUPT; > > > > > + err = wait_event_interruptible(cam->wait_stream, > > > > > + (cam->stream == STREAM_OFF) || > > > > > + (cam->state & > > > > > DEV_DISCONNECTED)); > > > > > + if (err) { > > > > > + cam->state |= DEV_MISCONFIGURED; > > > > > > > > This looks odd. Why would it be misconfigured? > > > > Couldn't something harmless happen, like a timer going off or a > > > > window resize? > > > > > > I don't understand your question. > > > > > It is likely that the device is in a stall or unknown condition if > > > the completion handler can not wake_up() before the process sleeping > > > on the event is killed (for example). > ^^^^^^^^^^^^^ > > > wait_event_interruptible is interrupted for _any_ signal, even those > > that occur regularly under some conditions. > > > You cannot take that to indicate an error. > > It depends on the context where the above function is used, which is not > evident from the patch.
Is it used within a kernel thread? If not, any signal can arrive at any time through the kill syscall. Regards Oliver ------------------------------------------------------- This SF.Net email is sponsored by: Sybase ASE Linux Express Edition - download now for FREE LinuxWorld Reader's Choice Award Winner for best database on Linux. http://ads.osdn.com/?ad_idU88&alloc_id065&op=click _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel