From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f169.google.com (mail-pl1-f169.google.com [209.85.214.169]) (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 8C4503D891E for ; Fri, 24 Jul 2026 08:18:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.169 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784881141; cv=none; b=Du5kQE4eMIipIqc2WKZ7jqHkwCCLidwSeIwSjDkQxHC1SuXDnIAkJWxV4iqXPT46CB2pIGDaQD3Yu6KGhzQMTG/EK1N37k6zqc3WcitzBuR86tnF9ZZhX2bfSmKYbu1qtrMRJ098cPiEwU+WozXDgt2s3zobMmGXpXl84+GNqxc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784881141; c=relaxed/simple; bh=wq9AUZROdSYeeUC2iGR5jOJbfo/Qd44CLkpjQqm1Z0s=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=gMcaiSw7njq10y/F8JYfN7KLfM+B8V7eCCUD8y/R7VEMOrfdJ61DszeBoeo2y8NXdb+INzk49LKqo+rEjjMFxbNiwPsMHjkI47HbrKTCxLGh14tftIqbnEYyNygMPSEZk/2XavxdVkvRnHqPIHeC2rhBLI0hv0cgEYhV17R9aZQ= 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=iHdOvb9B; arc=none smtp.client-ip=209.85.214.169 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="iHdOvb9B" Received: by mail-pl1-f169.google.com with SMTP id d9443c01a7336-2caf228a910so1312325ad.2 for ; Fri, 24 Jul 2026 01:18:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784881134; x=1785485934; 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:content-type; bh=8yb57MQjSXOxTukoYKHIFQN8VCyRC3LNTqImXXW8V88=; b=iHdOvb9BBDxPTZzphpOvHGiDuaQ845TlmgFtM9EVvpq2zjwXN3v5UKe0JdnKwbmNmG unijznqQrLQiBZOcAsTbQ3ZuDYVMMzYf1fvsHpHCXI2aHJF/ouZZGRWRP8Rv0+hc89+8 HG8f97Re3lo0Wa6JykxzCM1Dmfa11F9+olBUouTW99J7lImMS+/2Bqu2XeJJl4n6mJNw GHVUhOEkibKam3H+28Il0pE3f3mQe7gTE6QBqnTk0VoS38gCOYYLJ2t7kqzrdoxcdazF j7G7ZNagzNBIrRgdgJdDwNRLlVuN37C/2kdzyv0okORmbZaNITd955b8ddrEvuB0FTNZ aZIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784881134; x=1785485934; 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:content-type; bh=8yb57MQjSXOxTukoYKHIFQN8VCyRC3LNTqImXXW8V88=; b=mLOpDcZjrbzTHXRnmSdxnEZy9Xl30m7Ky5fyAIBvKD/nfpkJ01p7i1lqBc1Uu9dNPB 2U2OZD3jAMA+ZkltOQzLob4orb94NyZjo+5qNcN0Qh7YCFRW+hi3e6i8B/fi4+jwQ2G/ Ou1wZDF81ORuBGoCpBWRx326pSVZiAT5WeANQ1mMACjlGU6JTvhUDl6qK7dtfA+w2BIj 2+9u58aiJRCooVdNVAan76HrxnZqLuiP1xiMymz3q6X5LiLuK+xZCnX9EQfm5/K3jl9j w+THVjp6lZ51jSJfcMmkkO8U1Yhe9Czf2WCuvg7bdaPfnmO2tMdvzTRtqWwVSdaOpfIB 5rDA== X-Gm-Message-State: AOJu0YxGvCgoqqwynw+NI935KiF/uInoCddxy+Cxp60D7BdL2JKXv18c SLZ2FizT/StXb32c/IWfTob330yZqozY+TXdLxUhdFwWzOSZJl8JU8Hs X-Gm-Gg: AR+sD11H7+jJJ1djj6WnusG2+B1IcMbUfjrimy1YRKO6yYBGP9GyvjArcvDASLsa7o9 +b0UIYbAYgSD4ZwbgJtypVbSTcC8sWe3w7WjNF/IOKoLYZmnuxLItp7K3n2sCr5m+Rgx0lcs9ZP GVPKQfb9EgJRlCR8B8KGYRodNgTFHeJKNV91rwq+d4qfu4bNdLtZe02QwXb45Spej5BXuxHryk4 uCToZxglaY2GkyHi5+mVW2iu1SKC7eoEfJ5DWIsKLa23Fp4K7XCOfpjVh+MSMHqG2ahhdQxLVHS j1r5CTe+WrnLmGKu4Z4IEhbiXPot9UFmakxLJLlUtCPI/gAg94nB0uTlyvbDSZO1sPRata+1UFB lGn8TbPg4XwI2E36AqZXIiXDovCraUb7wvpWdnOzUKvTLdhzQcFtvuO4o5Hz+BFTrfnGaibucQC kMnsf+xCBx1zV/0UwfB75eb7uht0WtOdzRYjWpzoUmRAnUT7xUws8lWZFPxmUVWGQcSRtbUg3Aq 3NtnQNr8lJOUP+oUz7qCg== X-Received: by 2002:a17:902:e748:b0:2ce:d5e4:2fcf with SMTP id d9443c01a7336-2cfa6f8df14mr78577165ad.42.1784881129069; Fri, 24 Jul 2026 01:18:49 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2cf8f2e6247sm47168265ad.54.2026.07.24.01.18.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 24 Jul 2026 01:18:48 -0700 (PDT) From: phucduc.bui@gmail.com To: Linus Walleij , Bartosz Golaszewski , linux-gpio@vger.kernel.org Cc: linux-kernel@vger.kernel.org, bui duc phuc Subject: [PATCH] gpio: pca953x: restore cache_only state on resume failure Date: Fri, 24 Jul 2026 15:18:38 +0700 Message-ID: <20260724081838.33428-1-phucduc.bui@gmail.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: 8bit From: bui duc phuc When pca953x_restore_context() fails, cache_only is left disabled and the IRQ left enabled, even though register synchronization may not have completed successfully. Restore cache_only and disable the IRQ again on failure, matching the state set by pca953x_save_context(). Signed-off-by: bui duc phuc --- drivers/gpio/gpio-pca953x.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/drivers/gpio/gpio-pca953x.c b/drivers/gpio/gpio-pca953x.c index f6b870b7b352..0c94630f3160 100644 --- a/drivers/gpio/gpio-pca953x.c +++ b/drivers/gpio/gpio-pca953x.c @@ -1369,9 +1369,20 @@ static int pca953x_restore_context(struct pca953x_chip *chip) regcache_mark_dirty(chip->regmap); ret = pca953x_regcache_sync(chip); if (ret) - return ret; + goto err; + + ret = regcache_sync(chip->regmap); + if (ret) + goto err; + + return 0; - return regcache_sync(chip->regmap); +err: + if (chip->client->irq > 0) + disable_irq(chip->client->irq); + regcache_cache_only(chip->regmap, true); + + return ret; } static void pca953x_save_context(struct pca953x_chip *chip) -- 2.43.0