• Eugene Surovegin's avatar
    [PATCH] I2C: fix recently introduced race in IBM PPC4xx I2C driver · 517caa1e
    Eugene Surovegin authored
    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.
    Signed-off-by: default avatarEugene Surovegin <ebs@ebshome.net>
    Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
    517caa1e
i2c-ibm_iic.c 19.8 KB