On Tue, Oct 19, 2004 at 11:26:33PM -0700, Eugene Surovegin wrote: > On Tue, Oct 19, 2004 at 10:21:08PM -0700, Eugene Surovegin wrote: > > [snip] > > > It looks like this change added race I tried to avoid here. > > > > This code is modeled after __wait_event_interruptible_timeout, where > > "prepare_to_wait" is done _before_ checking completion status. This > > change breaks this, e.g. if IRQ happens right after we check iic->sts, > > but before calling msleep_interruptible(). In this case we'll sleep > > much more than required (seconds instead of microseconds) > > > > Greg, if my analysis is correct, please rollback this change. > > > > Nishanth, I'd be nice if you CC'ed me with this patch, my e-mail is at > > the top of that source file. > > Oh, well. I should have used wait_event_interruptible_timeout when I > ported this driver to 2.6. > > This patch fixes recently introduced race and also cleans ups some > 2.4-ism. > > Please, apply. Applied, thanks. greg k-h