return -1; 
return -ETIMEDOUT; 
static int load_dram(struct av7110 *av7110, u32 *data, int len){	int i;	int blocks, rest;	u32 base, bootblock = BOOT_BLOCK;	dprintk(4, "%p\n", av7110);	blocks = len / BOOT_MAX_SIZE;	rest = len % BOOT_MAX_SIZE;	base = DRAM_START_CODE;	for (i = 0; i < blocks; i++) {		if (waitdebi(av7110, BOOT_STATE, BOOTSTATE_BUFFER_EMPTY) < 0) {			printk(KERN_ERR "dvb-ttpci: load_dram(): timeout at block %d\n", i);			return -1;		}		dprintk(4, "writing DRAM block %d\n", i);		mwdebi(av7110, DEBISWAB, bootblock,		       ((char*)data) + i * BOOT_MAX_SIZE, BOOT_MAX_SIZE);		bootblock ^= 0x1400;		iwdebi(av7110, DEBISWAB, BOOT_BASE, swab32(base), 4);		iwdebi(av7110, DEBINOSWAP, BOOT_SIZE, BOOT_MAX_SIZE, 2);		iwdebi(av7110, DEBINOSWAP, BOOT_STATE, BOOTSTATE_BUFFER_FULL, 2);		base += BOOT_MAX_SIZE;	}	if (rest > 0) {		if (waitdebi(av7110, BOOT_STATE, BOOTSTATE_BUFFER_EMPTY) < 0) {			printk(KERN_ERR "dvb-ttpci: load_dram(): timeout at last block\n");			return -1;		}		if (rest > 4)			mwdebi(av7110, DEBISWAB, bootblock,			       ((char*)data) + i * BOOT_MAX_SIZE, rest);		else			mwdebi(av7110, DEBISWAB, bootblock,			       ((char*)data) + i * BOOT_MAX_SIZE - 4, rest + 4);		iwdebi(av7110, DEBISWAB, BOOT_BASE, swab32(base), 4);		iwdebi(av7110, DEBINOSWAP, BOOT_SIZE, rest, 2);		iwdebi(av7110, DEBINOSWAP, BOOT_STATE, BOOTSTATE_BUFFER_FULL, 2);	}	if (waitdebi(av7110, BOOT_STATE, BOOTSTATE_BUFFER_EMPTY) < 0) {		printk(KERN_ERR "dvb-ttpci: load_dram(): timeout after last block\n");		return -1;	}	iwdebi(av7110, DEBINOSWAP, BOOT_SIZE, 0, 2);	iwdebi(av7110, DEBINOSWAP, BOOT_STATE, BOOTSTATE_BUFFER_FULL, 2);	if (waitdebi(av7110, BOOT_STATE, BOOTSTATE_BOOT_COMPLETE) < 0) {		printk(KERN_ERR "dvb-ttpci: load_dram(): final handshake timeout\n");		return -1;	}	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/c9090ebb247999354f80d45d45b3d5a804a94f7f/av7110_hw.c/clean/drivers/media/dvb/ttpci/av7110_hw.c