Received: by 2002:a05:6a10:a841:0:0:0:0 with SMTP id d1csp4214759pxy; Mon, 26 Apr 2021 22:38:19 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyJsi4g2BwMXXh3PQY1w4GmwI9decgNagTi0Pb0nE2tkrUVaLE2eoT9NOyJ4Fs4zzN8tlHA X-Received: by 2002:a17:902:d718:b029:e6:77c9:faeb with SMTP id w24-20020a170902d718b02900e677c9faebmr23292373ply.30.1619501899031; Mon, 26 Apr 2021 22:38:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1619501899; cv=none; d=google.com; s=arc-20160816; b=fuFR55v6NlqSYFcoscWNibm9hJ21cyaLBKJa9m1YdVq12wyJB2TckWfE+d6cskcmfG COO7uppQEO80xXqOfItCYqw12aNnxoS+BBuJ4oPioL6CXMMp/vEX/XFgHl4HNFCvvnJb FeAfAcfo6KDnUQWxRSIh0jEJBiL2uI1R58aFVteNPpKWhNr4q8gsfPPMskWT9Tu0ffoS +KGiGe540BluOKuRjnUL33VkiaGcO6zr3Km6FUPH1ZyApkJUv9LFVwUmlm+ekaCq+f2m BiROOzf7fn/ABeeBnFJJi1S+iIrtXy9/xtTuXcI8wxRLot+UP4nG0Wz1EjxYTxBDx84x 6NSg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=DmgNhZA8y9OcAqQz4ZmmKKT0ZJqTstchwxs60f43ujM=; b=Wl3biJEXNhH2M6TQXFpi2iWgbZi/MBSgwPhMYKDZ7yYAb9cfkab87t9f3xYxcqgzuF 9bxUzf3fTzb9vXjIJNF5/qqy123YVSX+UitDMUJIMbIxxIEHXMBb7ojWmG8+M/Y54fBU qPFy6rA4gTDH7I0CkU3xx4jzRLKWanfE0bwH0POzunWZbtu+miwn3EBn/1EdiBXc+1Vp HTsfxpUyxqqwagN9cX4oeIkvjjMSZbB7QQFBuxaOttKIBfrtSoJhOMFhCR5+bcJFk/IZ PyzMqUB03FmiaNUBoWOfxsZ/+ZzLnqRZ0EojhSIgRK6bp7+mTv3dZTtTUX7swf7Wf/tQ v9fQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=WcmtSLpG; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id bc12si21503975plb.201.2021.04.26.22.38.06; Mon, 26 Apr 2021 22:38:19 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=WcmtSLpG; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234258AbhD0Fh2 (ORCPT + 99 others); Tue, 27 Apr 2021 01:37:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49638 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232329AbhD0FhS (ORCPT ); Tue, 27 Apr 2021 01:37:18 -0400 Received: from mail-pf1-x42b.google.com (mail-pf1-x42b.google.com [IPv6:2607:f8b0:4864:20::42b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 26012C061760 for ; Mon, 26 Apr 2021 22:36:33 -0700 (PDT) Received: by mail-pf1-x42b.google.com with SMTP id h11so947180pfn.0 for ; Mon, 26 Apr 2021 22:36:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=DmgNhZA8y9OcAqQz4ZmmKKT0ZJqTstchwxs60f43ujM=; b=WcmtSLpGOQppOkaIFOJglGs6qgpdhC0GBDegcigac4xtnNSkBc9/CcqiQgJ3WbKILE Gs2oyMEkt+e4hyjxptvTbycReZ/0RwvAPQoZlwAZ8sZ8XbK2+xHnKRKUYQC2mDqLEl+w 5J/SbXVbV6dmGGuYilQX3FBKckI+jX+WUcTww= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=DmgNhZA8y9OcAqQz4ZmmKKT0ZJqTstchwxs60f43ujM=; b=PqVn4fqeytO3YSlWonf08wRzyWcuDItCqgOXBqXn/T6U6T+2UIB8dPfRNF9vpE22jv PqYftf0W8Q+VHN+ZjRWaU8xVXWtRVQ7yuDKJL7E4WGFJhyMjrlqv+9II71ku00/cJD5T /xaYi6OitQA81cR5EMP6SxR9FxOgfgCYM/WCvM/hdThB6y/XkbtN3KYa4ihJddBzP1wX CO296Oi+kgU24tOEA9ix/6CWjY5JhumVRnXLg/0BopsKxuR36AtJ5FBaWWgpR3aYfQbD N4QEsEWzToGMUGoHtVtwrBJfAwHWcohMah879PFicbfB+aJKMIZgxBQ60vSBxzcgPvuG 4kgQ== X-Gm-Message-State: AOAM531ix7sBPs95q2351gRsLGorQ6IomBTnlzIORl0/0UVQjwSQ6AH8 Y1tAKVk6BZNMgJ39R6quEgO4eg== X-Received: by 2002:a65:6414:: with SMTP id a20mr19805719pgv.96.1619501793489; Mon, 26 Apr 2021 22:36:33 -0700 (PDT) Received: from hsinyi-z840.tpe.corp.google.com ([2401:fa00:1:10:3984:c4f5:8612:6b3e]) by smtp.gmail.com with ESMTPSA id gc15sm993529pjb.2.2021.04.26.22.36.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 26 Apr 2021 22:36:33 -0700 (PDT) From: Hsin-Yi Wang To: Wolfram Sang , Matthias Brugger , Rob Herring , Bartosz Golaszewski Cc: linux-i2c@vger.kernel.org, Qii Wang , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, Greg Kroah-Hartman , Mark Brown , Marek Szyprowski , Bibby Hsieh , Arnd Bergmann Subject: [PATCH v20 4/5] misc: eeprom: at24: check suspend status before disable regulator Date: Tue, 27 Apr 2021 13:36:16 +0800 Message-Id: <20210427053617.27972-5-hsinyi@chromium.org> X-Mailer: git-send-email 2.31.1.498.g6c1eba8ee3d-goog In-Reply-To: <20210427053617.27972-1-hsinyi@chromium.org> References: <20210427053617.27972-1-hsinyi@chromium.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org cd5676db0574 ("misc: eeprom: at24: support pm_runtime control") disables regulator in runtime suspend. If runtime suspend is called before regulator disable, it will results in regulator unbalanced disabling. Fixes: cd5676db0574 ("misc: eeprom: at24: support pm_runtime control") Signed-off-by: Hsin-Yi Wang Acked-by: Bartosz Golaszewski --- drivers/misc/eeprom/at24.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/misc/eeprom/at24.c b/drivers/misc/eeprom/at24.c index 926408b41270..7a6f01ace78a 100644 --- a/drivers/misc/eeprom/at24.c +++ b/drivers/misc/eeprom/at24.c @@ -763,7 +763,8 @@ static int at24_probe(struct i2c_client *client) at24->nvmem = devm_nvmem_register(dev, &nvmem_config); if (IS_ERR(at24->nvmem)) { pm_runtime_disable(dev); - regulator_disable(at24->vcc_reg); + if (!pm_runtime_status_suspended(dev)) + regulator_disable(at24->vcc_reg); return PTR_ERR(at24->nvmem); } @@ -774,7 +775,8 @@ static int at24_probe(struct i2c_client *client) err = at24_read(at24, 0, &test_byte, 1); if (err) { pm_runtime_disable(dev); - regulator_disable(at24->vcc_reg); + if (!pm_runtime_status_suspended(dev)) + regulator_disable(at24->vcc_reg); return -ENODEV; } -- 2.31.1.498.g6c1eba8ee3d-goog