return -1; 
goto error; 
static int dst_ci_command(struct dst_state* state, u8 * data, u8 *ca_string, u8 len, int read){	u8 reply;	dst_comm_init(state);	msleep(65);	if (write_dst(state, data, len)) {		dprintk(verbose, DST_CA_INFO, 1, " Write not successful, trying to recover");		dst_error_recovery(state);		return -1;	}	if ((dst_pio_disable(state)) < 0) {		dprintk(verbose, DST_CA_ERROR, 1, " DST PIO disable failed.");		return -1;	}	if (read_dst(state, &reply, GET_ACK) < 0) {		dprintk(verbose, DST_CA_INFO, 1, " Read not successful, trying to recover");		dst_error_recovery(state);		return -1;	}	if (read) {		if (! dst_wait_dst_ready(state, LONG_DELAY)) {			dprintk(verbose, DST_CA_NOTICE, 1, " 8820 not ready");			return -1;		}		if (read_dst(state, ca_string, 128) < 0) {	/*	Try to make this dynamic	*/			dprintk(verbose, DST_CA_INFO, 1, " Read not successful, trying to recover");			dst_error_recovery(state);			return -1;		}	}	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/d28d57629ffcd30e11a6085e15ee1327fea60b60/dst_ca.c/buggy/drivers/media/dvb/bt8xx/dst_ca.c