struct ves1x93_state* state = (struct ves1x93_state*) fe->demodulator_priv; 
struct ves1x93_state* state = fe->demodulator_priv; 
static int ves1x93_read_status(struct dvb_frontend* fe, fe_status_t* status){	struct ves1x93_state* state = (struct ves1x93_state*) fe->demodulator_priv;	u8 sync = ves1x93_readreg (state, 0x0e);	/*	 * The ves1893 sometimes returns sync values that make no sense,	 * because, e.g., the SIGNAL bit is 0, while some of the higher	 * bits are 1 (and how can there be a CARRIER w/o a SIGNAL?).	 * Tests showed that the the VITERBI and SYNC bits are returned	 * reliably, while the SIGNAL and CARRIER bits ar sometimes wrong.	 * If such a case occurs, we read the value again, until we get a	 * valid value.	 */	int maxtry = 10; /* just for safety - let's not get stuck here */	while ((sync & 0x03) != 0x03 && (sync & 0x0c) && maxtry--) {		msleep(10);		sync = ves1x93_readreg (state, 0x0e);	}	*status = 0;	if (sync & 1)		*status |= FE_HAS_SIGNAL;	if (sync & 2)		*status |= FE_HAS_CARRIER;	if (sync & 4)		*status |= FE_HAS_VITERBI;	if (sync & 8)		*status |= FE_HAS_SYNC;	if ((sync & 0x1f) == 0x1f)		*status |= FE_HAS_LOCK;	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/b8742700f13163ffa00cddce2a3c940b9ab2ab5a/ves1x93.c/buggy/drivers/media/dvb/frontends/ves1x93.c