[PATCH] usb: typec: ucsi: treat get_pdos not supported condition as info instead of error

From: Mark Pearson
Date: Tue Jun 04 2024 - 15:41:43 EST


On systems where the UCSI PDOs are not supported, the UCSI driver is
giving an error message. This can cause users to believe there is a HW
issue with their system when in fact it is working as designed.

Downgrade message to dev_info for EOPNOTSUPP condition.

Tested on Lenovo L14 G5 AMD and confirmed with Lenovo FW team that PDOs
are not supported on this platform.

Signed-off-by: Mark Pearson <mpearson-lenovo@xxxxxxxxx>
---
drivers/usb/typec/ucsi/ucsi.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/usb/typec/ucsi/ucsi.c b/drivers/usb/typec/ucsi/ucsi.c
index cb52e7b0a2c5..090be87d5485 100644
--- a/drivers/usb/typec/ucsi/ucsi.c
+++ b/drivers/usb/typec/ucsi/ucsi.c
@@ -632,8 +632,12 @@ static int ucsi_read_pdos(struct ucsi_connector *con,
command |= is_source(role) ? UCSI_GET_PDOS_SRC_PDOS : 0;
ret = ucsi_send_command(ucsi, command, pdos + offset,
num_pdos * sizeof(u32));
- if (ret < 0 && ret != -ETIMEDOUT)
- dev_err(ucsi->dev, "UCSI_GET_PDOS failed (%d)\n", ret);
+ if (ret < 0 && ret != -ETIMEDOUT) {
+ if (ret == -EOPNOTSUPP)
+ dev_info(ucsi->dev, "UCSI_GET_PDOS not supported on this hardware\n");
+ else
+ dev_err(ucsi->dev, "UCSI_GET_PDOS failed (%d)\n", ret);
+ }

return ret;
}
--
2.45.1