From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj1-f44.google.com (mail-pj1-f44.google.com [209.85.216.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A3B061B4223 for ; Sat, 4 Jul 2026 08:34:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.44 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783154061; cv=none; b=ZIW0ucsHRL8WaqSARR9He219ZMIL3JUykz0gdiCMAog7HRx5srd44fZIdPUDdrvCELC8QIeTjrU9hZgUWHSyzbzzeWErLNBE6PwOvONcy+0u6SWP2dKxKj1S2Zgfkke92RgTHnDOXpn6P+y+2WPLXyZblLioP9pnVcr4xqUxvNE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783154061; c=relaxed/simple; bh=Jz4ve4QEm9Edc0AwfZOQrOpfbjh7fXdxn+sLXflgJwU=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=KlNu0JE5viS5NIj+IxA6kFCKFABD1XcDJcm5U5mbYDzPhGbKzlRAm5NRHfvFqoShscZaJz+f30AP2sEyBBsIjIk357FQTKlYY8/TuOWUGhMUXRkLTze1dafD/3mhqgwwqK4WYQWL61vgVbKu0U61p9/k/MqdJxvjskpWp85/d1c= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=bvaZ43jY; arc=none smtp.client-ip=209.85.216.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="bvaZ43jY" Received: by mail-pj1-f44.google.com with SMTP id 98e67ed59e1d1-3804e42ad5fso1540417a91.2 for ; Sat, 04 Jul 2026 01:34:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1783154060; x=1783758860; 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=LbHfGXFcxYP9CA0eEthZoKFBg7syUAmY2ajW76MS+sc=; b=bvaZ43jYa77RHjcht+DjHGXA8WBPXuvwFkL6vH2pWQPE6+m0llEmZ+We1Gbc2gd93W qluVKE48EXkwNyFvAQ2sCHIUFSri8hph+C9/TQamddxItO5kfZIpDGXfxBVfsprVb5TB gtB9NCnYKG5DLvSwAtvWQ5dtZSQKb/tBFa9k9NxtAM1kDEyVZKNBmI/4yZId96HqOX9f CI3rqsuuF/nfRJmVkj1Mlo2le84QRWlN4fLhHWMHK5xfySMlmaSqc2c6XtaJUIVFZnJY Iui9n7MmE0iI/g6DVkquJD6T+oqHdOHHWE6qU/vkdTQFMCglEuFIMxr6FTiDiKZnL8ww BWEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783154060; x=1783758860; 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=LbHfGXFcxYP9CA0eEthZoKFBg7syUAmY2ajW76MS+sc=; b=VDqLmJ37GiaLL5pW/l/zN0c2q/ayiiAwB++1tQvNyxz0J3MpyuvfnBdA7zQMbEHBqX Bjx8k675hYQu7c46O2LrdRtuGVCLYlb1vWTbjSOoXhLu5Fn/aWpPxih42NfT8CcMnC3H miqp32/9XpPTyIOvTMlvXWKK9bogFde1GF2BuHoB8f+FUhq2fX5dSJxTpPO4mVEefGOH rMEte8oGZpNEtE9x3j5hKMdUyNGL0ujH2f8Lz3kwzCPDnyZwqPKoP4mM0iU2NWL6DE7d 12BDqzP/juJOPJ8/8P8Jwuq48OTFybzgICu4AsjFDgOYncJcyMufii1LB12iKDb9mLln bKdA== X-Forwarded-Encrypted: i=1; AHgh+RoSX5a4B7A5jv3nkLCuqi7JB6SAOIt7yM733R5eIT3huM6UtZNeKoLdXDowWIVqvarGvPmHox1VILDaR8U=@vger.kernel.org X-Gm-Message-State: AOJu0Ywya91VG/r/mFG1x0RyoIDOboFkJsP7OzTMK+qoh5vOgXpRw99Y L/SLNkzMSZdLXyFsX9wAYMJ/WyMCEjknYXljRR2P1KX0koU4OTlMZtCr X-Gm-Gg: AfdE7cmUlFeNdVGtebrFyLGfZHWu7s45R3RM1R65tTR4uzkrcqotetyQ/bm9K+RR7GR jfpJBjUPt9wPCXqGDV+WiKjzLUEok9zF4Zo6SfjnuWdRhNEfzVtM1ZoQkbdgalF8rE84TPIooSF wjN5LV9HZOfkvIdoLZvKbpkMhUTWlhvtdol3lDrKIR7A4znx+FoFvPqXK0c+7KsaKu5L4UX6Y9t cdVj39dWPgkH0EVXNNrAQQLOiw2vz6AftcDkzrQlcCOYUxU1P6C6hodt66zsyw8sYgsFIt6Hsy5 O6uE6T/UE8HSeC7D0HBwZGA2PzmV2Wqg0cq5LmSCr16WFNvh5t0v3KaJ3Wi2qJD2kqw92olV6bC mLetLgoOUGQ7KcZMRnlJ/TneJRPkBAVLP8wGnLuX76gszw2++3jgnJSc/xTFxjvJEkeonq2KLyt Sgb1Nri/6zb0WLle3GBcecowp2AbtT/cNujGrR+DvIDzIcObYtNZ4tCtD/LRjFow== X-Received: by 2002:a17:90b:1d04:b0:381:abcc:c8e9 with SMTP id 98e67ed59e1d1-382803b43b1mr2776756a91.7.1783154059883; Sat, 04 Jul 2026 01:34:19 -0700 (PDT) Received: from localhost.localdomain ([2405:acc0:1306:1a77:4d22:a645:ecb4:40eb]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-30f38ee1333sm11749163eec.24.2026.07.04.01.34.16 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sat, 04 Jul 2026 01:34:19 -0700 (PDT) From: Laxman Acharya Padhya To: Linus Walleij , Jonathan Cameron Cc: David Lechner , =?UTF-8?q?Nuno=20S=C3=A1?= , Andy Shevchenko , linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] iio: light: gp2ap002: Disable regulators on resume failure Date: Sat, 4 Jul 2026 14:19:12 +0545 Message-ID: <20260704083412.43145-1-acharyalaxman8848@gmail.com> X-Mailer: git-send-email 2.51.2 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit If enabling VIO fails after VDD has been enabled, runtime resume returns without disabling VDD. Likewise, if device reinitialization fails, both supplies remain enabled. The runtime PM core keeps the device suspended when its resume callback fails, so the supplies must be restored to the suspended state. Disable the supplies enabled by the callback before returning an error. Fixes: 97d642e23037 ("iio: light: Add a driver for Sharp GP2AP002x00F") Assisted-by: Codex:gpt-5 Signed-off-by: Laxman Acharya Padhya --- drivers/iio/light/gp2ap002.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/iio/light/gp2ap002.c b/drivers/iio/light/gp2ap002.c index c83f67f..efef332 100644 --- a/drivers/iio/light/gp2ap002.c +++ b/drivers/iio/light/gp2ap002.c @@ -669,7 +669,7 @@ static int gp2ap002_runtime_resume(struct device *dev) ret = regulator_enable(gp2ap002->vio); if (ret) { dev_err(dev, "failed to enable VIO regulator in resume path\n"); - return ret; + goto out_disable_vdd; } msleep(20); @@ -677,13 +677,19 @@ static int gp2ap002_runtime_resume(struct device *dev) ret = gp2ap002_init(gp2ap002); if (ret) { dev_err(dev, "re-initialization failed\n"); - return ret; + goto out_disable_vio; } /* Re-activate the IRQ */ enable_irq(gp2ap002->irq); return 0; + +out_disable_vio: + regulator_disable(gp2ap002->vio); +out_disable_vdd: + regulator_disable(gp2ap002->vdd); + return ret; } static DEFINE_RUNTIME_DEV_PM_OPS(gp2ap002_dev_pm_ops, gp2ap002_runtime_suspend, -- 2.51.2