|
@@ -130,7 +130,13 @@ static int taos_smbus_xfer(struct i2c_adapter *adapter, u16 addr,
|
|
|
return 0;
|
|
|
} else {
|
|
|
if (p[0] == 'x') {
|
|
|
- data->byte = simple_strtol(p + 1, NULL, 16);
|
|
|
+ /*
|
|
|
+ * Voluntarily dropping error code of kstrtou8 since all
|
|
|
+ * error code that it could return are invalid according
|
|
|
+ * to Documentation/i2c/fault-codes.
|
|
|
+ */
|
|
|
+ if (kstrtou8(p + 1, 16, &data->byte))
|
|
|
+ return -EPROTO;
|
|
|
return 0;
|
|
|
}
|
|
|
}
|