From nobody Fri Apr 3 08:04:39 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (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 50A2B26A0DD for ; Thu, 19 Feb 2026 08:52:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771491170; cv=none; b=H+wJ91+VOt4835wa6+UUJHLAJK5MD50xnJiDIAe1Jk77I0H4kUnatoMqbcbnbre1vd9bJXDLmvJUtopBhV4qJcRVbg0qv0hvtLWnBu5W7WEpuPT4IOqCVbKp6NlcCgIW6fPUSUjcwN7j8I1stNHZpVYk0VALdulzEGI7yoG0MIg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771491170; c=relaxed/simple; bh=09gU6eYkuiNszHVCfyUAUArctBsD8+KpisRbnCS/ePs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=iB8JR+mJCjukG7cHeQACOPvdFFaqd4duExQOqQwzIoNRMBEg4tUTn3wAyeocAJWTDxUdVkdbzxfXOxIg7hMcPNwJIhgAbJMJyKOzc4SfD/t2Kk5+UQ09ffbHJCkRoD2uRiCGkSHNsAdiG+YuCPrEe432KM62CEWNaR9B2TtO3x4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=Q6wJF5X0; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=NMytQyae; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="Q6wJF5X0"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="NMytQyae" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 61INlf821924961 for ; Thu, 19 Feb 2026 08:52:48 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:message-id :mime-version:subject:to; s=qcppdkim1; bh=/VJQk/scXTP44mikF6XflK jjFdIUKAbgXlXqn6UgLBI=; b=Q6wJF5X0qNmVatB87u44QNkD1WEeRqXjDFoZ90 J7BZiaAA+15fvvrTId7+ZXVZ1q0QA+Ge77a2LawnJGX0d7n+khZucJlkLQnETkT3 PW0emm4A3zQF0ioqrkYCiE74LPAs5CMjr/jfcgt+3EZM1GpsaVYlKCIs5wCT15Xr eblYvzKcDZ8EkeFRwpST8Teln1hKKbyqOEvbeM4NzrUXtl6+7o0A14jBwGk5cXaU 9tFfkB2iWi3+EnKHL/dxMN89ze/oXAx74wI7ZcRUBEnVEW71Xn/JosRUM/oMPBis BqtrfDGq5O7Cvmnft0lif/I+kyU5W1TziaSN6rm2OxI6eEOQ== Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cdqdg90t7-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 19 Feb 2026 08:52:48 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-8cb37db8b79so958540785a.3 for ; Thu, 19 Feb 2026 00:52:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1771491167; x=1772095967; darn=vger.kernel.org; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:from:to:cc:subject:date:message-id:reply-to; bh=/VJQk/scXTP44mikF6XflKjjFdIUKAbgXlXqn6UgLBI=; b=NMytQyaelWmfaid2oY3qaq+GMRAizpbTZP6Ug8qASsnryF/hr940nA5aUjTmc4BNia 0Y5u0cwrUvhy1hRpRoC8948OJjkiwLrEjNEIbvGH9O6y+SrR9y0bW21px7BOPnZenRmc +JQYzUoNXBcaSzsQRjdK7nMsplG/LrUZYSxc+kp5UYFi2LGfUjD5G8ii77Ifo2iTraPi lNolDm2pDafFPK8kjks5MwSE/CzsEhqa3bGR3Q6IzjBEpmf3xiLBDLDg71aihSjOdJNY UQMwJoWd4yT0wip8XtWeZgCuAsCJwI/4o5Tfg7bjaJiuhJn/+AVj9ydsL1X/jBxvTq37 SeKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771491167; x=1772095967; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=/VJQk/scXTP44mikF6XflKjjFdIUKAbgXlXqn6UgLBI=; b=uyogrSbzvM/GGW+rjwqnTZZw8JBYHJOJQpySJM64lCqoLYve8rJNXStiFiXpmLtl0c RnHgtFBwX1VVCdf1uu2NU/hR5sTV/aQGt/diOf3xODruVupySdSH0pP8KrXkCffMwmUF 2VRVF7V0XwX0jlq/0F+CJrYtzWk7AMpLSkbB+ye3geSMyPZal8/yJV9zCx9hL6V6egS5 tvNTRIY01bluTEaT6psw+iRzveCuCO8JjamZt2EPlx7xEpadln20C1+6+NZN6pkVlPN8 3rlIvkk8qse4NQxcGCs21WEIT8flaKynTtkROk0RUIvu58sd0snv0EzRkJ7TmUd1nyJt vAKg== X-Forwarded-Encrypted: i=1; AJvYcCWymbGqShaMHhdMIYcbAFgfz1wEQG5R9xWxhj+ayFl1vcnfIG00kLHZYjy6przD6NwYKbHsgHIXUaQdmMY=@vger.kernel.org X-Gm-Message-State: AOJu0YyVtKiybc8guLb4gtooXMLXOMUmWnsznm7NH1atEmK2uq6Vt0b0 RdkSdOSx9veH7atv/M2isXoO8S2QFhPbXDx6DO3HeioiOvJYyagPszPRGrtX3BFlGY6oyEqfsdq E+vQ4DGf6H/+T+DgBIurq3tDWM2wjB0xYkymy2HYNJsvyIf0dOb/SWjagu1LS73mdurSn0wnqqW o= X-Gm-Gg: AZuq6aIT/wIghPhz+YbBUIcYg5W+7exSFF7zskJAnrM/2XS/eYOJmXNhm8wXhrMz5oj qm+s4BHjxc8N00jaXYix8ZNTE6mWnk4iH1q5UCu5EGjHAiQ+nDWcVaTCkQD6WQe15BiF/zqTxLH 8+WMf7PA73GTdemPx2wiGIv8tjSTl1uXeCV7Y21PcyvawHCy5NS/lcUAAzKzxBfHE6ZiA6z09Ni pl+dwhYttBoordxUFJtM8L0pLSZ01k4qV4ILsBFyIqJb0A0B4LTB3BmVjzjVwud7P4dOqr3wkqc avCZGTI9DnJ0iL0E8YErSktoVnpc0JcVm4/QfCG/nvO02Q9iWCmHoXmshou2kS2eNtA7V6derh9 0YYRQV5Tq+vj7jygm7V0JuTnQ04gT/ydt4U8ZWPGJ0wlHaXfAl/pC X-Received: by 2002:a05:620a:28cb:b0:89f:7109:185f with SMTP id af79cd13be357-8cb4bf97d9cmr2049957985a.31.1771491167399; Thu, 19 Feb 2026 00:52:47 -0800 (PST) X-Received: by 2002:a05:620a:28cb:b0:89f:7109:185f with SMTP id af79cd13be357-8cb4bf97d9cmr2049956985a.31.1771491167011; Thu, 19 Feb 2026 00:52:47 -0800 (PST) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:acca:9ed8:5af5:752a]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43796ac82f7sm52117586f8f.28.2026.02.19.00.52.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Feb 2026 00:52:46 -0800 (PST) From: Bartosz Golaszewski Date: Thu, 19 Feb 2026 09:52:37 +0100 Subject: [PATCH] gpiolib: normalize the return value of gc->set() on behalf of buggy drivers Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260219-gpiolib-set-normalize-v1-1-f0d53a009db4@oss.qualcomm.com> X-B4-Tracking: v=1; b=H4sIAFTPlmkC/x3MQQqDMBBG4avIrDuQiSDWq5Qu0vprB2IiSRFRc neDy2/x3kkZSZFpaE5K2DRrDBXyaOj7c2EG61hN1tjOWHnyvGr0+uGMP4eYFuf1AIvpDSxGJ9J SbdeESff7+3qXcgGAm4fdZwAAAA== X-Change-ID: 20260219-gpiolib-set-normalize-1080e2eda113 To: Linus Walleij , Bartosz Golaszewski , Dmitry Torokhov Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1562; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=09gU6eYkuiNszHVCfyUAUArctBsD8+KpisRbnCS/ePs=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBpls9YCrYq+MBw551UH2DxaXRDZuvIz+Gg7XpOB f+QIr4zgyWJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCaZbPWAAKCRAFnS7L/zaE w8YYD/0f5lH0fGRHlj2gijMOC7ykBATjU72sWmTFhsD41QqUN7LOqabeln+3ImOGAL7yNlKhtet YtOQioU3/bMgYFj+fjhzbzzgRk9f5N4T5Kb+E6/tlNwkczLELZArtxrHojZuszr94Ho1dqhS97u hbdT5B50NnST+S5vErrE13BfCavx/U/cx6jb3zhFr2Qd2e5uuPdm0bfsm9OpBqxuC236YwdSs0G Q6xXglhiU+FHK+A0nZjd8yAK92F9En1qbng270gyrtjyqK96Pn0fjwSwnBqEJlgajWH/lpZLRbM OL/MTRiU74zWtbBLLZ/aZFr7aQ4TsMTj16PkV9JvGkuj7JvDyhXV76PLoBy2VYIPWGXqf3CwYq0 jpqNm37o0qOuN+s6eCO8dPkpUvgclZ0cUtmAdPflWYxTa9DKrz4Zgb4/0HA8w+s2MEKIsE7Js0K JJX9TAshJjVIzNhXDorsl9Xq49KcfSSwKFB/ykZsVMDWzNGEz2rKW8t8i1ypFyuhS9GP4QTbbrN jVvQDgbtjZP75Bx6yFGBN+EPJ75obXdjI7A9HFTpqBlfF73gnpDPs4srlho+P1/JpJbpFoXD5lz sG6xfw5pohCsLaEFEkF11fClIDp2jKX0MQcluhipC03UNs7riO4twW9GZYKC5KtHYGKTdjzi8gu K/Tpqbmrvr3uAJA== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-ORIG-GUID: m8T8q4YtpTvoHj1x5mJmGDUdd1TBXUI_ X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjE5MDA4MCBTYWx0ZWRfXw9miovvB9tuy IsRHB4lojhbVXp0q34ryIe6by0HmwbEUSkOyrlaQrB4omG7Lnofnh3J1CJETd/JLV10IA1wxkGF 8jRwVmWqIFM8x5XBHsA0MZ63Ud5wudZY67DsUFFrUGfCs9YgknVW0cS6056CSZBxdy3Tk1OJVix gxVWz96h77jg9jVAicQ7KGE6WEvdeq65V0Xh7W4wboDJCy1hDwCWD/9Ff3VKKVuTPysEXxZHYFR lwd/1PsFRwo9Ozv0OaLQmBF/z/yCN1O2r1N62tqo2wdN02jD6n91OqeF4WSqscBZjP93RtjTZe9 v7C609t+JlvBrO0RwVrAB0uLtoDHSdRaQaPKQSexOx99gXiYzcXX8FTHx7sRUBn1rk5VpKiew/6 HnLOrF4iKPW/3axZLk1XlXv8eqT60m/G45p6KihSTD47zBZEbPAjWcrnlO0mw5gggXa8tb5tN/7 e4QY4bbnKhtfnvKBWyw== X-Proofpoint-GUID: m8T8q4YtpTvoHj1x5mJmGDUdd1TBXUI_ X-Authority-Analysis: v=2.4 cv=W/M1lBWk c=1 sm=1 tr=0 ts=6996cf60 cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=67SJ3es6nUsVzo6b:21 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=HzLeVaNsDn8A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Mpw57Om8IfrbqaoTuvik:22 a=GgsMoib0sEa3-_RKJdDe:22 a=VwQbUJbxAAAA:8 a=1XWaLZrsAAAA:8 a=pGLkceISAAAA:8 a=EUspDBNiAAAA:8 a=Km6uTPIqCEU1mvpJHkcA:9 a=QEXdDO2ut3YA:10 a=PEH46H7Ffwr30OY-TuGO:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-19_02,2026-02-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 priorityscore=1501 adultscore=0 malwarescore=0 clxscore=1015 suspectscore=0 impostorscore=0 lowpriorityscore=0 phishscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2602190080 Commit 86ef402d805d ("gpiolib: sanitize the return value of gpio_chip::get()") started checking the return value of the .set() callback in struct gpio_chip. Now - almost a year later - it turns out that there are quite a few drivers in tree that can break with this change. Partially revert it: normalize the return value in GPIO core but also emit a warning. Cc: stable@vger.kernel.org Fixes: 86ef402d805d ("gpiolib: sanitize the return value of gpio_chip::get(= )") Reported-by: Dmitry Torokhov Closes: https://lore.kernel.org/all/aZSkqGTqMp_57qC7@google.com/ Signed-off-by: Bartosz Golaszewski --- drivers/gpio/gpiolib.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c index c52200eaaaff82b12f22dd1ee8459bdd8ec10d81..9f7a1a1ebd8365fe933c989caf9= e8c544fd9ba0f 100644 --- a/drivers/gpio/gpiolib.c +++ b/drivers/gpio/gpiolib.c @@ -2914,8 +2914,12 @@ static int gpiochip_set(struct gpio_chip *gc, unsign= ed int offset, int value) return -EOPNOTSUPP; =20 ret =3D gc->set(gc, offset, value); - if (ret > 0) - ret =3D -EBADE; + if (ret > 0) { + gpiochip_warn(gc, + "invalid return value from gc->set(): %d, consider fixing the driver\n", + ret); + ret =3D !!ret; + } =20 return ret; } --- base-commit: 50f68cc7be0a2cbf54d8f6aaf17df32fb01acc3f change-id: 20260219-gpiolib-set-normalize-1080e2eda113 Best regards, --=20 Bartosz Golaszewski