[PATCH 06/13] HID: ft260: i2c: reduce bus-error message severity
Michael Zaidman <[email protected]>
| Newsgroups | org.kernel.vger.linux-i2c,org.kernel.vger.linux-gpio,org.kernel.vger.linux-input,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
The driver logged errors when the FT260 reported an I2C bus error or when ft260_i2c_write / ft260_smbus_write failed after such a status. That was meant to flag unexpected failures, but bus scans (i2cdetect, HWMON discovery, transceiver monitoring, and similar) hit missing devices routinely and should not spam dmesg with either: i2c bus error: %#02x ft260_i2c_write: failed with -5 Keep returning -EIO, but print those via ft260_dbg. Still use hid_err in ft260_hid_output_report_check_status for actual HID/USB transport failures, which are genuine errors. Signed-off-by: Michael Zaidman <[email protected]> --- drivers/hid/hid-ft260.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/hid/hid-ft260.c b/drivers/hid/hid-ft260.c index 8db896f164cd..1ed3701eaaf7 100644 --- a/drivers/hid/hid-ft260.c +++ b/drivers/hid/hid-ft260.c @@ -565,7 +565,7 @@ static int ft260_xfer_status(struct ft260_device *dev, u8 bus_busy) * to 1, bit 1 is also set to 1. */ if (report.bus_status & FT260_I2C_STATUS_ERROR) { - hid_err(hdev, "i2c bus error: %#02x\n", report.bus_status); + ft260_dbg("i2c bus error: %#02x\n", report.bus_status); return -EIO; } @@ -599,6 +599,7 @@ static int ft260_hid_output_report_check_status(struct ft260_device *dev, ret = ft260_hid_output_report(hdev, data, len); if (ret < 0) { + hid_err(hdev, "%s: failed with %d\n", __func__, ret); ft260_i2c_reset(hdev); return ret; } @@ -638,7 +639,6 @@ static int ft260_i2c_write(struct ft260_device *dev, u8 addr, u8 *data, int len, u8 flag) { int ret, wr_len, idx = 0; - struct hid_device *hdev = dev->hdev; struct ft260_i2c_write_request_report *rep = (struct ft260_i2c_write_request_report *)dev->i2c_wr_buf; @@ -669,7 +669,7 @@ static int ft260_i2c_write(struct ft260_device *dev, u8 addr, u8 *data, ret = ft260_hid_output_report_check_status(dev, (u8 *)rep, wr_len + 4); if (ret < 0) { - hid_err(hdev, "%s: failed with %d\n", __func__, ret); + ft260_dbg("%s: failed with %d\n", __func__, ret); return ret; } @@ -685,7 +685,7 @@ static int ft260_i2c_write(struct ft260_device *dev, u8 addr, u8 *data, static int ft260_smbus_write(struct ft260_device *dev, u8 addr, u8 cmd, u8 *data, u8 data_len, u8 flag) { - int ret = 0; + int ret; int len = 4; struct ft260_i2c_write_request_report *rep = @@ -710,7 +710,7 @@ static int ft260_smbus_write(struct ft260_device *dev, u8 addr, u8 cmd, ret = ft260_hid_output_report_check_status(dev, (u8 *)rep, len); if (ret < 0) - hid_err(dev->hdev, "%s: failed with %d\n", __func__, ret); + ft260_dbg("%s: failed with %d\n", __func__, ret); return ret; } -- 2.43.0