From nobody Sun Dec 14 06:37:01 2025 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 8FF142EDD63 for ; Wed, 10 Dec 2025 05:50:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765345838; cv=none; b=AKoGGSkCZcX+kwG5aJX4xYaWnEWL2m5Pv65LjI99PqWyuWkoClM4Pqd5owcAVsp+gKCxq5kdaAuXrY1HXur1hytWJ4H5hnuriFmgDjULrXA5492Td6o89zF0lCT+EvXRkDDYclEX7+wwRHESoGVktjeIIlboA5K/k8phXCxz8i0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765345838; c=relaxed/simple; bh=lcsyQf4UxPiCjXDI1KY/+xtK5CrD+Zf7CMDAWtKgq60=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=bKKk91Lqf49IQbLgKxebOsUrXYLTTPBKgR0GBTaD2x5gRSoH+NUwkLy/C9Uv8IzNIMJ7uStQmTRQgfW4l9atjQ/rhrkiUdphVvrIQTnZ90KqUX9rdEeirPjkCvoBlA9QGtWjpdXypcXG12QtgKQ/qWFrdmWNYiV4rIUZ64P1oFA= 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=Wc0oh3hd; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=ZtOys9pT; arc=none smtp.client-ip=205.220.180.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="Wc0oh3hd"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="ZtOys9pT" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5BA56EaE1354699 for ; Wed, 10 Dec 2025 05:50:35 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:message-id:mime-version :subject:to; s=qcppdkim1; bh=R5DGJ108mUbuVQqJ1QfznaNVSvccvTt3Lwa 3uPob5to=; b=Wc0oh3hdwrC2b/df9Q3a1diVX6RzoxPQy/POpLLmxzJdyoZ+vhC LhDuDBU8JOODllZW9tnfANLvWLAfodUKe1CCZSRIDS4nPSIjaN1nwFJ+G7i+TEhX brd3IiqYkHgZ4WYoMavGIe4pzKauH3d/J41dFnJHn5L6qEftpHARiKyM/RJa4E2H +VmXBL9QclNw0ygkMpbOl2jVtmKDHdvC5vOz30c5vTBxI5gyv48mII3Qx6xC7don DXtFM6KgW/UAR1+mxcNbRwOSYDM8OFLKIme+2k2vXVetYRV4s7cMgOLA4jpbsxFd fz5R9ZRH7JJwVdFzn4iYtJPFCRk3rNJ7hTA== Received: from mail-pl1-f197.google.com (mail-pl1-f197.google.com [209.85.214.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ay2e0g394-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 10 Dec 2025 05:50:35 +0000 (GMT) Received: by mail-pl1-f197.google.com with SMTP id d9443c01a7336-297d50cd8c4so169845225ad.0 for ; Tue, 09 Dec 2025 21:50:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1765345834; x=1765950634; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=R5DGJ108mUbuVQqJ1QfznaNVSvccvTt3Lwa3uPob5to=; b=ZtOys9pTjEaQy6H5mMnKj/5RUa6ynXO91GDWI5/s9WbF8s2FqY64DZRoGs3p1iVYjn r2oPm56ydcu9gXfoAotaOT+/C+CscsIugvsDipBCsE8hTAO0s2BVb9Iz2ozCDJhgG4Ud zyz7yEyW94swRRv+puORpChnGpyhzHN5Iz7xTL6fHmdu45ZEWsbyjjaiEW0SoLyXsJ5l JhIOGVpAsFUMgTGonr9No0/BfjrIj+kwgtp8ijQWFuwzL2jD3rGjvmsnZ6J70nd5geV5 Uw82qvRvxuBleCmV8sIRiGXf5lVzOVkCqmiE7ctITUqy7V3+LmXaWF2VLrSy5sgG8XhE D+Vg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765345834; x=1765950634; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=R5DGJ108mUbuVQqJ1QfznaNVSvccvTt3Lwa3uPob5to=; b=emOjni60d5DfRNPXvfqGMXge3Pb80zrIuqyUx5XqNFPsexH32rw6pmojmPkId1haCc cFzJfNZsEhr3zZgtksQLwi+ZQ7JquHOyzXWVFj+iZ2w5N7sGhYPfQtHdYRDU82ZTj3I3 7x9EjFtxMdAG1/USvfdj8GhpZodVVWOcWNkpV1t0B6V0trYIle2aNCwm/X6JRMrjrqhx bWZeEMHokikY2TY22aAQhJAnfIu0SYcwJ4bMZ9bEH+I30Lvm6Li0oerS7F4cITs1oyNw gY8VQTB9IHwGG4zcK+6MDrcgjrNn+yuwp6swtKSYvkag4r11wh4yRMs7nUJSiA/3KaLP 3S/Q== X-Forwarded-Encrypted: i=1; AJvYcCUWNFOWv2EKc0ibUwRQ02cMI4FQaQOZNq61G1SiWqFoF1lZ8CnOJw01UqfWDQZpWTDTXADBKnxIxMyJl5w=@vger.kernel.org X-Gm-Message-State: AOJu0YwMOLKXDWmQQRBVVLUNCHBQrmuyvuK+M51ZipucEe9IWafVCGvI Te1/88rKMkookYRtMY2kDTtyRL9jgzcNn8ggvO88issVdA3VS+2VzZNTKaALZ9rcjRO7qFYtxb4 0ZKHn8Soz07FNb1PomhsXzSU4LiD5mjQndgjHPDDvrv4vd5nm1uczFjWGAZq+KKC4I5DSDybI0Z I= X-Gm-Gg: AY/fxX4v5ohV8vlbGElEcPoUJuJduzRO1sAdx0Ij2yQizy3cNWuJM9j+TOhbAap0fHo Sj7MThZq28MwDKvIlaxdgBJnKXmH64QzeRBUNuXu1DXF9IXN3VfYDzvMykzg2aaghxW6CkQYGqw k0rlUm0iGsUVNIsTYf98PGlUvvOMFFiCeG7FdL1RfS9CG5zDeV7om3/UmX6mElslpr7mxkYM2cv 8GnlPFilHfEQIKT8oNNRtZbvIfefUKxE3uRIoqBAJ01MR/c5W7P+ipRXLK5cG+Ohtwa29WDoVOG Um5O+B0zKqknN0GfHQYbryIUUOL/CoS0Z++hayXgA9NCtE0LHFTTPBPyQcbIGFMznke0hXi24dT wjEjogtFxk69Y6kpcDhnlxNtBIV6Vqw5X/VXifCpXmk5qkZMxGQVhwhANT4RGNjHX X-Received: by 2002:a17:902:f552:b0:290:c516:8c53 with SMTP id d9443c01a7336-29ec27cfdfamr13588015ad.40.1765345834266; Tue, 09 Dec 2025 21:50:34 -0800 (PST) X-Google-Smtp-Source: AGHT+IG9Gy4kxqUR84QCilgEZJhdsj7xu6Yz8ywjB9TSaGSO564ifSvnEfdR7/zWtbXNDVj6RAIamw== X-Received: by 2002:a17:902:f552:b0:290:c516:8c53 with SMTP id d9443c01a7336-29ec27cfdfamr13587835ad.40.1765345833828; Tue, 09 Dec 2025 21:50:33 -0800 (PST) Received: from brgl-uxlite (p7838221-ipoefx.ipoe.ocn.ne.jp. [123.225.39.220]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-29e4f15accfsm74305065ad.35.2025.12.09.21.50.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Dec 2025 21:50:33 -0800 (PST) From: Bartosz Golaszewski To: Linus Walleij , Peng Fan , Bartosz Golaszewski Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski , Daniel Gibson Subject: [PATCH v2] gpio: it87: balance superio enter/exit calls in error path Date: Wed, 10 Dec 2025 06:50:26 +0100 Message-ID: <20251210055026.23146-1-bartosz.golaszewski@oss.qualcomm.com> X-Mailer: git-send-email 2.51.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 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjEwMDA0OCBTYWx0ZWRfXxsfRG+PSomrv K9V1QBnYBy9KQ2wW5QYkCxi5ayshN0/bUXQP0+mA9lI5mPqY2KYo1MfRDT95e9wAgwJsxseR0lz AwarnOfgiOp5tRqKGBrqbWbthumMQr7FPb16eXeS6R8gWxPYKQLzMzMx0dq2jhOTjedscNig/w9 W9/NzjjMKd5GoIrjBfP9m/+GnRBvZBPv/j9E0bGC20jE5phdJEv2pj7ALuEU0izb9PB0xogFziS Z5VHRocVD+I71MwOBxneMb1gYygMggX3Ly97afgizvW2/DPfWB7hVDHdP/NmxjXA+QsYyYWjlHG 6lNP1ei4MI4l3o00HIehl8s732nhW5+j0Hh9sn6jH+xp6k23amnkAw5KOae/m+ETJ47Rof+edYy Nqb3IgVfkF+omKW/fFP7nyvOyuk8jA== X-Proofpoint-ORIG-GUID: kcS2Cd6Nw6FBCKCEh-st55VQilGKQE5S X-Authority-Analysis: v=2.4 cv=G5oR0tk5 c=1 sm=1 tr=0 ts=69390a2b cx=c_pps a=cmESyDAEBpBGqyK7t0alAg==:117 a=cRv1ukX+bdz2y/k5ONU6nQ==:17 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=Sy5YQ2dlLMr9iM_hulIA:9 a=1OuFwYUASf3TG4hYMiVC:22 X-Proofpoint-GUID: kcS2Cd6Nw6FBCKCEh-st55VQilGKQE5S X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-09_05,2025-12-09_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 adultscore=0 clxscore=1015 lowpriorityscore=0 malwarescore=0 impostorscore=0 bulkscore=0 suspectscore=0 priorityscore=1501 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001 definitions=main-2512100048 Content-Type: text/plain; charset="utf-8" We always call superio_enter() in it87_gpio_direction_out() but only call superio_exit() if the call to it87_gpio_set() succeeds. Move the label to balance the calls in error path as well. Fixes: ef877a159072 ("gpio: it87: use new line value setter callbacks") Reported-by: Daniel Gibson Closes: https://lore.kernel.org/all/bd0a00e3-9b8c-43e8-8772-e67b91f4c71e@gi= bson.sh/ Signed-off-by: Bartosz Golaszewski --- Changes in v2: - don't call superio_exit() if superio_enter() failed drivers/gpio/gpio-it87.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/drivers/gpio/gpio-it87.c b/drivers/gpio/gpio-it87.c index 5d677bcfccf2..2ad3c239367b 100644 --- a/drivers/gpio/gpio-it87.c +++ b/drivers/gpio/gpio-it87.c @@ -12,6 +12,7 @@ =20 #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt =20 +#include #include #include #include @@ -241,23 +242,17 @@ static int it87_gpio_direction_out(struct gpio_chip *= chip, mask =3D 1 << (gpio_num % 8); group =3D (gpio_num / 8); =20 - spin_lock(&it87_gpio->lock); + guard(spinlock)(&it87_gpio->lock); =20 rc =3D superio_enter(); if (rc) - goto exit; + return rc; =20 /* set the output enable bit */ superio_set_mask(mask, group + it87_gpio->output_base); =20 rc =3D it87_gpio_set(chip, gpio_num, val); - if (rc) - goto exit; - superio_exit(); - -exit: - spin_unlock(&it87_gpio->lock); return rc; } =20 --=20 2.51.0