|
@@ -94,7 +94,7 @@ static int smbus_xfer(struct i2c_adapter *i2c_adap, u16 addr,
|
|
|
}
|
|
|
break;
|
|
|
default:
|
|
|
- return -1; /* XXXKW better error code? */
|
|
|
+ return -EOPNOTSUPP;
|
|
|
}
|
|
|
|
|
|
while (csr_in32(SMB_CSR(adap, R_SMB_STATUS)) & M_SMB_BUSY)
|
|
@@ -104,7 +104,7 @@ static int smbus_xfer(struct i2c_adapter *i2c_adap, u16 addr,
|
|
|
if (error & M_SMB_ERROR) {
|
|
|
/* Clear error bit by writing a 1 */
|
|
|
csr_out32(M_SMB_ERROR, SMB_CSR(adap, R_SMB_STATUS));
|
|
|
- return -1; /* XXXKW better error code? */
|
|
|
+ return (error & M_SMB_ERROR_TYPE) ? -EIO : -ENXIO;
|
|
|
}
|
|
|
|
|
|
if (data_bytes == 1)
|