From nobody Tue Apr 7 16:17:35 2026 Received: from xmbghk7.mail.qq.com (xmbghk7.mail.qq.com [43.163.128.47]) (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 62C493783A6 for ; Thu, 12 Mar 2026 14:52:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=43.163.128.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773327143; cv=none; b=qmmoyHp/Vkbfpr1RyVUMv9Am2XVE0PXFv065JGUACuKRAFD4QXvQaxtb+SmLoT8Gu+9Z6do8j/HvAosidrHfdj1MkbUgeex+etfrm9ZHahu8EbRGYMwUn+pss8i4ZMINIHYEF7zkrPkNWRqFAUF/1WfbMVCH6oBnsq7HiPZFMcg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773327143; c=relaxed/simple; bh=tFs+6LdT3nx/CClr1Drp9SCELAsEDUbXrmcBLPWb3X4=; h=Message-ID:From:To:Cc:Subject:Date:In-Reply-To:References: MIME-Version; b=rhbubaG1fJnBQdaRJP8YlBYHnmgKaKBNLcTRfSNvnJWeLvTKaboNdqDTmEKnqN2PVbCH8GDDR1FJPRrmS76vIydPcqq6VmtArnIKYeXVxNIaAaP1kibWSSO1f0pc792w3To/LmipCLDl4BpGVxGhXelUh/hcNHC9BvRlJ4yhmE8= 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=Xw7ZxW6E; arc=none smtp.client-ip=43.163.128.47 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="Xw7ZxW6E" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qq.com; s=s201512; t=1773327136; bh=gPMoPXxWCjx2YbF4Dk4o/iCo/96qD4nRD1U8FzbWLwY=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=Xw7ZxW6EAiq4EDAK+dCCaQxRzCS3UrQjNaIRmS6uwk8gSA1YTtbcXWuPdvXyhpyyY DQIa0vaAZw8ngv7wxsB4XzNoxDJtSpsSaSdMc2pJv7cS398/kcjYVJb8Fo1okG9nrk MDZEqxIJ05brBv8zFCdgJSidDNHV+n/QeHZJY0ck= Received: from June.localdomain ([123.121.145.35]) by newxmesmtplogicsvrszc41-0.qq.com (NewEsmtp) with SMTP id D0D09A98; Thu, 12 Mar 2026 22:52:13 +0800 X-QQ-mid: xmsmtpt1773327133twzn8pvfq Message-ID: X-QQ-XMAILINFO: N0fYiGfRGxK3hdUWZD8pwwVkTDuUxCOk7PRPPcX6/w0dt0UnqVAmje0UogXAQ9 687ky16UZU6xqAkjm2Ip0CwWYyNe8KYY5HkkHEwtBUxeP3CtHfKMIvJSx+zSbc9ZP0hlh+xxXtSp /4QTSUm+dz0SoHOAA39VBdB/YZxGKV6bKxv3KZRM+uvjsSqDRSwkTJawp0XpTDTFkreJpHAwyhHX DfkMVuEYIWmMjca7QxtLf+o8hOCYzy0OCLzFCRUkLAlMFblvdaflVopZ7iv6Vfti0t93SJ0mEgwQ 80sPVnTME0y1OeV5Gy8RB8swIHQxJ535ot1ZPzIioK//belVpZaI+gADKe9QsBdfCS2jlf4fpfFs hReF7mVBT561RV0HFGHarvkdYpuhdJ69qhns0SuKblBGxmj95vl2F8TgEqhcf2ATvVmMwNLY5YXK JOTdM9ym2PkmsElLnbonDHuAJuksvKrSeRL24OYhWjcJzERZz3LdOdI6kXjbzaxjf9nD2kRkB2jc W+8cXuwjsZFOq8nSf5Vbhx6RA7v9AV8dWTtTP4gnydmK4WQPlRJGMEetQA/RshWC4msW0IN1GWSe PF1DFsBvLGveRLNWnZ9dwEbqDKiDAe2N7+XOEP300OVWYfqpHTKtzhUuvrSHOxnpO7W7cvVsCtW8 NdaTH7Nw5gwMtOW/XeNuH8TpO0WJsVbT781m9kFyxEb02rakdMrV8/p7POrvb7iMPLxXTsb/Zefd WNByamujVokzGHUPOeAllTt1qA3qZt4wmq0MUQHMckqTRtKL29a2RUMmQi681k1+tAC4vKpTOSqx 6KKbSNKMoDfyfa6C50IapBnTCNmvUZldO3SFLtPoukxdPejFo7kJKmAIJlVefj6vuLYqbnK+9EKi 5WtY9JYPEXGe/RmMSg8zC7jlEidQq/IWFLGborH/FFTAxTj8aMQsQlGweNDpVQCU+ET4+bDSGedi oMfkeoSzBJ0z+lMPRZAaVhuLOCCQC0fzdrlIAz3mv/VMOeyHnxIJBlNzT9dM1ioBU/1fmAJMXfjV IwtI63D9LI9Kl3isl0R3N+SD90OjpWt1wU3DBvpRw4bcNRjii99dv3wAS8/mwAL31L95cLOQ== X-QQ-XMRINFO: NyFYKkN4Ny6FuXrnB5Ye7Aabb3ujjtK+gg== 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 v3] auxdisplay: lcd2s: add error handling for i2c transfers Date: Thu, 12 Mar 2026 22:51:36 +0800 X-OQ-MSGID: <20260312145211.164152-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> --- v3: - Added changelog for v2 (pointed out by Andy) - No code changes from v2 v2: - Simplified error handling (removed redundant else) per Andy's suggestion drivers/auxdisplay/lcd2s.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/drivers/auxdisplay/lcd2s.c b/drivers/auxdisplay/lcd2s.c index defb0573e43c..c7a962728752 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 }; + 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 --=20 2.43.0