for (i = 0, p_dst_type = dst_tlist; i < ARRAY_SIZE (dst_tlist); i++, p_dst_type++) { 
for (i = 0, p_dst_type = dst_tlist; i < ARRAY_SIZE(dst_tlist); i++, p_dst_type++) { 
static int dst_get_device_id(struct dst_state *state){	u8 reply;	int i;	struct dst_types *p_dst_type;	u8 use_dst_type = 0;	u32 use_type_flags = 0;	static u8 device_type[8] = {0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff};	device_type[7] = dst_check_sum(device_type, 7);	if (write_dst(state, device_type, FIXED_COMM))		return -1;		/*	Write failed		*/	if ((dst_pio_disable(state)) < 0)		return -1;	if (read_dst(state, &reply, GET_ACK))		return -1;		/*	Read failure		*/	if (reply != ACK) {		dprintk("%s: Write not Acknowledged! [Reply=0x%02x]\n", __FUNCTION__, reply);		return -1;		/*	Unack'd write		*/	}	if (!dst_wait_dst_ready(state, DEVICE_INIT))		return -1;		/*	DST not ready yet	*/	if (read_dst(state, state->rxbuffer, FIXED_COMM))		return -1;	dst_pio_disable(state);	if (state->rxbuffer[7] != dst_check_sum(state->rxbuffer, 7)) {		dprintk("%s: Checksum failure! \n", __FUNCTION__);		return -1;		/*	Checksum failure	*/	}	state->rxbuffer[7] = '\0';	for (i = 0, p_dst_type = dst_tlist; i < ARRAY_SIZE (dst_tlist); i++, p_dst_type++) {		if (!strncmp (&state->rxbuffer[p_dst_type->offset], p_dst_type->device_id, strlen (p_dst_type->device_id))) {			use_type_flags = p_dst_type->type_flags;			use_dst_type = p_dst_type->dst_type;			/*	Card capabilities	*/			state->dst_hw_cap = p_dst_type->dst_feature;			printk ("%s: Recognise [%s]\n", __FUNCTION__, p_dst_type->device_id);			break;		}	}	if (i >= sizeof (dst_tlist) / sizeof (dst_tlist [0])) {		printk("%s: Unable to recognize %s or %s\n", __FUNCTION__, &state->rxbuffer[0], &state->rxbuffer[1]);		printk("%s: please email linux-dvb@linuxtv.org with this type in\n", __FUNCTION__);		use_dst_type = DST_TYPE_IS_SAT;		use_type_flags = DST_TYPE_HAS_SYMDIV;	}	dst_type_print(use_dst_type);	state->type_flags = use_type_flags;	state->dst_type = use_dst_type;	dst_type_flags_print(state->type_flags);	if (state->type_flags & DST_TYPE_HAS_TS204) {		dst_packsize(state, 204);	}	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/a427de6f72bc0d83ebb1d87f9003c5e1009f21cd/dst.c/buggy/drivers/media/dvb/bt8xx/dst.c