Chrome platform driver development
 help / color / mirror / Atom feed
* [PATCH] platform/chrome: cros_ec_uart: fix negative type promoted to high
@ 2023-01-09  8:15 Tzung-Bi Shih
  2023-01-09 18:51 ` Mark Hasemeyer
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Tzung-Bi Shih @ 2023-01-09  8:15 UTC (permalink / raw)
  To: bleung, groeck; +Cc: chrome-platform, tzungbi, markhas, bhanumaiya, error27

serdev_device_write_buf() returns negative numbers on errors.  When
the return value compares to unsigned integer `len`, it promotes to
quite large positive number.

Fix it.

Fixes: 04a8bdd135cc ("platform/chrome: cros_ec_uart: Add transport layer")
Reported-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Tzung-Bi Shih <tzungbi@kernel.org>
---
Reported in https://lore.kernel.org/chrome-platform/Y7fhw4S7Tb0GcHMF@kili/T/#u.

 drivers/platform/chrome/cros_ec_uart.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/platform/chrome/cros_ec_uart.c b/drivers/platform/chrome/cros_ec_uart.c
index 6916069f1599..788246559bbb 100644
--- a/drivers/platform/chrome/cros_ec_uart.c
+++ b/drivers/platform/chrome/cros_ec_uart.c
@@ -149,9 +149,10 @@ static int cros_ec_uart_pkt_xfer(struct cros_ec_device *ec_dev,
 	resp->status = 0;
 
 	ret = serdev_device_write_buf(serdev, ec_dev->dout, len);
-	if (ret < len) {
+	if (ret < 0 || ret < len) {
 		dev_err(ec_dev->dev, "Unable to write data\n");
-		ret = -EIO;
+		if (ret >= 0)
+			ret = -EIO;
 		goto exit;
 	}
 
-- 
2.39.0.314.g84b9a713c41-goog


^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2023-01-18  6:20 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-01-09  8:15 [PATCH] platform/chrome: cros_ec_uart: fix negative type promoted to high Tzung-Bi Shih
2023-01-09 18:51 ` Mark Hasemeyer
2023-01-10  3:27   ` Tzung-Bi Shih
2023-01-17  8:12 ` Tzung-Bi Shih
2023-01-17  8:19   ` Dan Carpenter
2023-01-17 14:45 ` Benson Leung
2023-01-18  3:00 ` patchwork-bot+chrome-platform
2023-01-18  6:20 ` patchwork-bot+chrome-platform

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox