dprintk("%s: Recovery Failed.\n", __FUNCTION__); 
dprintk(verbose, DST_INFO, 1, "Recovery Failed."); 
int dst_command(struct dst_state* state, u8 * data, u8 len){	u8 reply;	if ((dst_comm_init(state)) < 0) {		dprintk("%s: DST Communication Initialization Failed.\n", __FUNCTION__);		return -1;	}	if (write_dst(state, data, len)) {		if (verbose > 1)			dprintk("%s: Tring to recover.. \n", __FUNCTION__);		if ((dst_error_recovery(state)) < 0) {			dprintk("%s: Recovery Failed.\n", __FUNCTION__);			return -1;		}		return -1;	}	if ((dst_pio_disable(state)) < 0) {		dprintk("%s: PIO Disable Failed.\n", __FUNCTION__);		return -1;	}	if (state->type_flags & DST_TYPE_HAS_FW_1)		udelay(3000);	if (read_dst(state, &reply, GET_ACK)) {		if (verbose > 1)			dprintk("%s: Trying to recover.. \n", __FUNCTION__);		if ((dst_error_recovery(state)) < 0) {			dprintk("%s: Recovery Failed.\n", __FUNCTION__);			return -1;		}		return -1;	}	if (reply != ACK) {		dprintk("%s: write not acknowledged 0x%02x \n", __FUNCTION__, reply);		return -1;	}	if (len >= 2 && data[0] == 0 && (data[1] == 1 || data[1] == 3))		return 0;//	udelay(3000);	if (state->type_flags & DST_TYPE_HAS_FW_1)		udelay(3000);	else		udelay(2000);	if (!dst_wait_dst_ready(state, NO_DELAY))		return -1;	if (read_dst(state, state->rxbuffer, FIXED_COMM)) {		if (verbose > 1)			dprintk("%s: Trying to recover.. \n", __FUNCTION__);		if ((dst_error_recovery(state)) < 0) {			dprintk("%s: Recovery failed.\n", __FUNCTION__);			return -1;		}		return -1;	}	if (state->rxbuffer[7] != dst_check_sum(state->rxbuffer, 7)) {		dprintk("%s: checksum failure\n", __FUNCTION__);		return -1;	}	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/a427de6f72bc0d83ebb1d87f9003c5e1009f21cd/dst.c/buggy/drivers/media/dvb/bt8xx/dst.c