From nobody Tue Apr 7 16:17:34 2026 Received: from xmbghk7.mail.qq.com (xmbghk7.mail.qq.com [43.163.128.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 090511684B4 for ; Thu, 12 Mar 2026 13:25:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=43.163.128.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773321933; cv=none; b=mvA7GowWuQj6cJAciVd9t52bR2AMUdUR21OZE88uayMHHhzUiDfwRQwK86NSKA8ttWlMaNBdtsr4uzBL3gXJVRWcwlKuy4Gy+qBPfb4u7GgDSgVH4bT8aBsXe6skNk4z/TvexDmPEXLZnAt6CVfum4o1CcnUnEM03tiq/LQMfy4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773321933; c=relaxed/simple; bh=rV1vQQukW7qlFig//iB6Rxoc1ZMvs4lFuhK9hG0WGhM=; h=Message-ID:From:To:Cc:Subject:Date:In-Reply-To:References: MIME-Version; b=gBIHMKjS0OQvbDIzUImxm4GBv2uutbUig3t65kt/wM3t8m414mBchoqlAwZhwR02jIC2cKg58k/ZV1b0bmVcUgpAtL0OAygCyvXU6csX9GX6Qig7rsB6idt4+HuRyTZ6+36K+Z8F7jaj0r8pbzpy8ni0eJMd7kSAoe+RkW1NieI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=qq.com; spf=pass smtp.mailfrom=qq.com; dkim=pass (1024-bit key) header.d=qq.com header.i=@qq.com header.b=J5kvmyKb; arc=none smtp.client-ip=43.163.128.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=qq.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=qq.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=qq.com header.i=@qq.com header.b="J5kvmyKb" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qq.com; s=s201512; t=1773321928; bh=Hoo9JgqIJUdGsggj/TR2zi3G7n1cYQ0e9aMASoQGWS8=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=J5kvmyKbV9ui7x4uSZ5xVA60s5IxYFPfuBh9O/J4E+FhNu/aiAwNr/y8W1WWhvrKG lP6yLFVOG6+c6aQnU6lvrlnkEG4df75YTmRUfQzOS4eSPtoCOSrpQ+Ym7IEQGEKG7l m0U8ZXWPdkAgRIZ/GDb+lEkLXbkthfParzkNOT5E= Received: from June.localdomain ([123.121.145.35]) by newxmesmtplogicsvrszb51-1.qq.com (NewEsmtp) with SMTP id 65936090; Thu, 12 Mar 2026 21:25:25 +0800 X-QQ-mid: xmsmtpt1773321925tsq0y3ch6 Message-ID: X-QQ-XMAILINFO: MyIXMys/8kCtTo4KQY4g/8X57T8fzdM3qZLIOfw+eclIrrOiLYufk3eDaY1MCE Frl8VjGsGJSPHSUpSOecbHMoSeJ8gpU+QRAGxyo3XYkEZg5yZbVjOyveoLW8wjM9w0JBDXUBPHMi pKYUpjG0e+4221mKkt6M2FWadBcYL6ddou2kVqVTc6A9VX/MOSbeu0hTsNIk9rc1AQUXcb54BD5d 1JIayHyGCHrJHrL85O98MCq7qn08Fsd5PxQdXLthbYQDQVKwVG8qBEjQk8JoeukadYRyxcpFyzbW iczMxJi0NzQLj8dDjQwxMh/XWAlKTZXtbiaOsHF1jnrP3yEv0O8UNBsQTNvwKoS8SPc9l2FwUa8K 67QitOd0nrjEceRWOHHl8KOXA/+EFXX/ultWvoMUwPGFTQXLW9kz0loD+mtoqUGJsrH5ji+m3uVJ E+1E+VfzJvLE7+HNiG8p/f0V7vjN6NY8+voQdf9DJhfUpIVLovL91AJdcv28sZ3BTCxwjUm3F9ri 0Q62v4yG7wNcRiPGeRkUBReAkOJ9AV+7y08ROvTvjfmTksQJM5Fv9QDGMGEVLtKIJLg/H8D/yBhx WvwkCOHugpbZY0wjosfc19njvi4waXh8eA5R1bv5H5zFs19Jpl+8/yKKsBGm7YHWGTVMZmrVvDpj 0Ok8VxVEh84CFidOC2UMMwYs2mIwtCCMjGe1biW9CAITe+OpLEJq4OgIGJHD2U/fuDnjHnZbZCgr ziVQ4JRVfQRXNg2NoanubeohuHoBBCkwHi9byQBNaDhujmf0n7rV/sR/HcI0PAoDdkNjmqUfha5f PIXPY0r6H0z2+NGxbFLLodySCMqysyqSBz0CPuN88hhkJhe5yBg16qaK+DCY6KZ7LIkC/kIWDK+A GWSJEYAkWHJ+8aVP+k27XwuyewUXwL9Wh/KSOL7FiJbNhY6d/OvzbMsUU3RTnsUErz2+sSZB7sP6 Yn7Xo08oiJduP6pR69BIUjoqZMvQU79g1TmvtW3PSh6mXsWq4oLH74NkVhhLqBrY0Z3qQ9B4gki2 YtyDiGVSeNYMDqU4YhHiTHICR7wPLFWk8t4tQlhTC0qVeSv0yEQPdS/Mp/s9xfhwGFMeDv/V53m3 VNQr5NxAZzDEUvcjU= X-QQ-XMRINFO: OWPUhxQsoeAVwkVaQIEGSKwwgKCxK/fD5g== From: Wang Jun <1742789905@qq.com> To: Andy Shevchenko , Andy Shevchenko , Geert Uytterhoeven Cc: linux-kernel@vger.kernel.org, Andrew Morton , Randy Dunlap , gszhai@bjtu.edu.cn, 25125332@bjtu.edu.cn, 25125283@bjtu.edu.cn, 23120469@bjtu.edu.cn, Wang Jun <1742789905@qq.com> Subject: [PATCH V2] auxdisplay: lcd2s: add error handling for i2c transfers Date: Thu, 12 Mar 2026 21:25:02 +0800 X-OQ-MSGID: <20260312132523.162461-1-1742789905@qq.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The lcd2s_print() and lcd2s_gotoxy() functions currently ignore the return value of lcd2s_i2c_master_send(), which can fail. This can lead to silent data loss or incorrect cursor positioning. Add proper error checking: if the number of bytes sent does not match the expected length, return -EIO; otherwise propagate any error code from the I2C transfer. Signed-off-by: Wang Jun <1742789905@qq.com> --- drivers/auxdisplay/lcd2s.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/drivers/auxdisplay/lcd2s.c b/drivers/auxdisplay/lcd2s.c index defb0573e43c..9ae5f48cbd6c 100644 --- a/drivers/auxdisplay/lcd2s.c +++ b/drivers/auxdisplay/lcd2s.c @@ -99,8 +99,13 @@ static int lcd2s_print(struct charlcd *lcd, int c) { struct lcd2s_data *lcd2s =3D lcd->drvdata; u8 buf[2] =3D { LCD2S_CMD_WRITE, c }; + int ret; =20 - lcd2s_i2c_master_send(lcd2s->i2c, buf, sizeof(buf)); + ret =3D lcd2s_i2c_master_send(lcd2s->i2c, buf, sizeof(buf)); + if (ret < 0) + return ret; + if (ret !=3D sizeof(buf)) + return -EIO; return 0; } =20 @@ -108,9 +113,13 @@ static int lcd2s_gotoxy(struct charlcd *lcd, unsigned = int x, unsigned int y) { struct lcd2s_data *lcd2s =3D lcd->drvdata; u8 buf[3] =3D { LCD2S_CMD_CUR_POS, y + 1, x + 1 }; - - lcd2s_i2c_master_send(lcd2s->i2c, buf, sizeof(buf)); - + int ret; + + ret =3D lcd2s_i2c_master_send(lcd2s->i2c, buf, sizeof(buf)); + if (ret < 0) + return ret; + if (ret !=3D sizeof(buf)) + return -EIO; return 0; } =20 --=20 2.43.0