dev_dbg(&I801_dev->dev, "Failed reset at end of transaction" 
dev_dbg(&I801_dev->dev, "Failed reset at end of transaction " 
static int i801_transaction(void){	int temp;	int result = 0;	int timeout = 0;	dev_dbg(&I801_dev->dev, "Transaction (pre): CNT=%02x, CMD=%02x,"		"ADD=%02x, DAT0=%02x, DAT1=%02x\n", inb_p(SMBHSTCNT),		inb_p(SMBHSTCMD), inb_p(SMBHSTADD), inb_p(SMBHSTDAT0),		inb_p(SMBHSTDAT1));	/* Make sure the SMBus host is ready to start transmitting */	/* 0x1f = Failed, Bus_Err, Dev_Err, Intr, Host_Busy */	if ((temp = (0x1f & inb_p(SMBHSTSTS))) != 0x00) {		dev_dbg(&I801_dev->dev, "SMBus busy (%02x). Resetting...\n",			temp);		outb_p(temp, SMBHSTSTS);		if ((temp = (0x1f & inb_p(SMBHSTSTS))) != 0x00) {			dev_dbg(&I801_dev->dev, "Failed! (%02x)\n", temp);			return -1;		} else {			dev_dbg(&I801_dev->dev, "Successfull!\n");		}	}	outb_p(inb(SMBHSTCNT) | I801_START, SMBHSTCNT);	/* We will always wait for a fraction of a second! */	do {		msleep(1);		temp = inb_p(SMBHSTSTS);	} while ((temp & 0x01) && (timeout++ < MAX_TIMEOUT));	/* If the SMBus is still busy, we give up */	if (timeout >= MAX_TIMEOUT) {		dev_dbg(&I801_dev->dev, "SMBus Timeout!\n");		result = -1;	}	if (temp & 0x10) {		result = -1;		dev_dbg(&I801_dev->dev, "Error: Failed bus transaction\n");	}	if (temp & 0x08) {		result = -1;		dev_err(&I801_dev->dev, "Bus collision! SMBus may be locked "			"until next hard reset. (sorry!)\n");		/* Clock stops and slave is stuck in mid-transmission */	}	if (temp & 0x04) {		result = -1;		dev_dbg(&I801_dev->dev, "Error: no response!\n");	}	if ((inb_p(SMBHSTSTS) & 0x1f) != 0x00)		outb_p(inb(SMBHSTSTS), SMBHSTSTS);	if ((temp = (0x1f & inb_p(SMBHSTSTS))) != 0x00) {		dev_dbg(&I801_dev->dev, "Failed reset at end of transaction"			"(%02x)\n", temp);	}	dev_dbg(&I801_dev->dev, "Transaction (post): CNT=%02x, CMD=%02x, "		"ADD=%02x, DAT0=%02x, DAT1=%02x\n", inb_p(SMBHSTCNT),		inb_p(SMBHSTCMD), inb_p(SMBHSTADD), inb_p(SMBHSTDAT0),		inb_p(SMBHSTDAT1));	return result;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/368609c5a8bd75b77721e69726ddfd3c6a30f7d4/i2c-i801.c/buggy/drivers/i2c/busses/i2c-i801.c