(done = compare( sr = iop3xx_i2c_get_srstat(iop3xx_adap)					,flags )), 
(done = compare( sr = iop3xx_i2c_get_srstat(iop3xx_adap) ,flags )), 
iop3xx_i2c_wait_event(struct i2c_algo_iop3xx_data *iop3xx_adap, 			  unsigned flags, unsigned* status,			  compare_func compare){	unsigned sr = 0;	int interrupted;	int done;	int rc = 0;	do {		interrupted = wait_event_interruptible_timeout (			iop3xx_adap->waitq,			(done = compare( sr = iop3xx_i2c_get_srstat(iop3xx_adap)					,flags )),			1 * HZ;			);		if ((rc = iop3xx_i2c_error(sr)) < 0) {			*status = sr;			return rc;		} else if (!interrupted) {			*status = sr;			return -ETIMEDOUT;		}	} while(!done);	*status = sr;	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/fbd9a6d7a927b2059d1d65441384ffb095f68e58/i2c-iop3xx.c/buggy/drivers/i2c/busses/i2c-iop3xx.c