From nobody Thu Apr 9 09:03:33 2026 Received: from out162-62-57-64.mail.qq.com (out162-62-57-64.mail.qq.com [162.62.57.64]) (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 6394930FF29 for ; Tue, 10 Mar 2026 02:06:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=162.62.57.64 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773108376; cv=none; b=Klh2Qrv235fF980Y9weTPfxvJB2nZ3WWfbeeQyY42p22KjMC9Vi/Z4pCMT9N0fJPhtnJWft3RTQms6pw+H7MNVuBBrh7PALTqZF+Y5iN5e1WqNH2qPzt3gvmYA/SM7PJ5u6dPVJKlJ0m2fc966EbTmzJDHzFSDYdcYvQk3f7tlI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773108376; c=relaxed/simple; bh=he9mkSAMzecWzwtEGgfISyY7A6lerEOe9vwF18snBeo=; h=Message-ID:From:To:Cc:Subject:Date:MIME-Version; b=I+o4/8FqIxKUx9VKlUrouuWTaYbc4gF57PhYJzrrYxeEmAHfOFG/pBswEKj0mk2HPeJP/duV+idUtWK+0df95DL3c2vVbdGxkJPbvVr9mqZ6oFgQpx+MJcj7kVoGxE03Uq0NiRd+lhUR32QbP4CkE2M3ZNfrh+2p/AiaB91p/h0= 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=zKbkWxTn; arc=none smtp.client-ip=162.62.57.64 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="zKbkWxTn" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qq.com; s=s201512; t=1773108362; bh=AF5qs69givzWbWp9zUPkr6Qb6wEUI8Rpdmuf5ilXdhU=; h=From:To:Cc:Subject:Date; b=zKbkWxTnXBLIS55Sh4lclbVpShUvqxvZXd6CDcNsbKVKhtc2bFcFYM7AjjXYg/7OJ Rwx0tuN9jnhlSsqpH191LpoQS2ThUZthxikyyZ7fMjzgKr04oTsTrFJfAqYHaX6VT0 hFkaQjEfAbAbelLB1Bku1QvxdgAVT4w2pHpG146o= Received: from June.localdomain ([123.121.145.35]) by newxmesmtplogicsvrszc50-0.qq.com (NewEsmtp) with SMTP id 92A600B; Tue, 10 Mar 2026 10:02:18 +0800 X-QQ-mid: xmsmtpt1773108138tpw8c2xo4 Message-ID: X-QQ-XMAILINFO: OATpkVjS499utKgeIyz1fJj5PaymYjqDSA6R6ZQtYbxs3xGA6HzorKvLhUOp9b JLlQA1t/0iQJXfzvNDGV0ftV9bC+H1lRBma9e0xd/7MjcC8Qa4tCQumJloUyMot54l8yMY3k04gS v5/avovcpx83KqfLBN1vi/MnTny3Fbv8iBzQ02FMR7iUzm0TtO7+Y5ey1iNSn0i/yPt08eua1tSi P0Zz3BfrE4CQgMuizaoejf1HkRwnFESLoiyjvcXzYq8dEbObqqkixygE1mESR+NGZpRS8MsdCjf1 YXgDVuxyFMOR2Z/l9Zjh4u/2dUR9OXUInnybWfLSZhVxanW5E4fd5XhTcEjvsla4CLy/UpIUAsdk 02Hb2bt6rXn5mli/mOAIClZ1ebf+2qTVw3HlWOGAVAO9c32SneP5SBESD8VmUZoNv6rZYvuMCCwR P7FLAqgF9YwMFuRFKkU729Ml1D5pN8CwfV2aYfc11TQM/+xwevceA658mpcVjnPLIuNYVg5wsyF3 CZUlVQtcxaGawuYjZMqV7tbSKGpLlaS/RDuVDwljbLnZ+uGoo22xtMDdjNP3nH/KtvizpTZGoilT i80C69va5+XGPQUYgxU/05rJhoQLnqig8xvOZG+2fgyi7aAfZbexDRhinmLe011Yi4XQ1hUmg8z/ +JMOiRgK17u085sIb4S3NXpg3irMTWoImKlzcsuiAUeeukz/nx9LGK/S8mkij5LTLxavCPLQiTkb 88CyVnIhpGA1SjAiBW8lZc8Ji8MEgzSp+nK+3tinKJJbtFq2YR2nat26X+duW6VYYSwnXxNElRTT LplXRAo+fYn5Ub9jgLLwvtGEAeBNE+thsZ/wg4yU4UTRIfDKJ4PxAsw5j+ck0KYbB5hv4OjID1ho FBH2VqPkwMDDzYpUIHLMBAfHjWSfCrZae84hR7NPqfW4B929HVcAf6SIRNecHHD3FrIsxMZnB2md fdSvgZiXyW7PJpqfaqPunv8rZRxIiEZ89XQCTxq74SNBOMzSJCkxt60DwCDtH7IXg0qze/nJTCWh hJHPfl7m7xbo6iLgrYT/+FCj9ftr/LOfy9+mnwXPTnBzGhnFD6YPbYAVds1rE= X-QQ-XMRINFO: MPJ6Tf5t3I/ylTmHUqvI8+Wpn+Gzalws3A== From: Wang Jun <1742789905@qq.com> To: 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] auxdisplay: lcd2s: add error handling for i2c transfers Date: Tue, 10 Mar 2026 10:02:16 +0800 X-OQ-MSGID: <20260310020216.10904-1-1742789905@qq.com> X-Mailer: git-send-email 2.43.0 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. Also fix the missing return statement in lcd2s_gotoxy(). Signed-off-by: Wang Jun <1742789905@qq.com> --- drivers/auxdisplay/lcd2s.c | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/drivers/auxdisplay/lcd2s.c b/drivers/auxdisplay/lcd2s.c index defb0573e43c..c5f79baac132 100644 --- a/drivers/auxdisplay/lcd2s.c +++ b/drivers/auxdisplay/lcd2s.c @@ -99,19 +99,30 @@ 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)); - return 0; + ret =3D lcd2s_i2c_master_send(lcd2s->i2c, buf, sizeof(buf)); + if (ret =3D=3D sizeof(buf)) + return 0; + else if (ret < 0) + return ret; + else + return -EIO; } =20 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 }; + int ret; =20 - lcd2s_i2c_master_send(lcd2s->i2c, buf, sizeof(buf)); - - return 0; + ret =3D lcd2s_i2c_master_send(lcd2s->i2c, buf, sizeof(buf)); + if (ret =3D=3D sizeof(buf)) + return 0; + else if (ret < 0) + return ret; + else + return -EIO; } =20 static int lcd2s_home(struct charlcd *lcd) --=20 2.43.0