Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp255596ybi; Wed, 29 May 2019 20:45:49 -0700 (PDT) X-Google-Smtp-Source: APXvYqyME+nfpdhMcDXcRZYZAgYcmoXrEMpay/oT1GhBQ/Jt3I3Rnk5ivTkafkhVH66WNNxIIR2n X-Received: by 2002:a17:90a:1b0b:: with SMTP id q11mr1470809pjq.80.1559187949721; Wed, 29 May 2019 20:45:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1559187949; cv=none; d=google.com; s=arc-20160816; b=q6kz7ZdrzU+7vBzgv+zgfR24NU0O5u2cKjdiG0FyAowHuqz76asEjmCYfBjN1M5yR9 ot9h37ijgmc5Oyv7iJXanV1vV/tyVo3J6AF8MkZ+QowZ9ovL11KbUjbr/+BCmOebxdHv sZ0D9Mo5HSfGEP+4J60CPV2gQ6nQcNlN9/KjsNIwgVECu1CFuSgVBsC8etKstQ9ckTFN MwfvO8CDPhOfH/2dJoq7SM8P2D0vKC0uQdoLVAqZaKAaTEfFddexbsqh07YYmG+mhZOZ J4zTIXFx6Zq3M+pN0m7piqmqtMw740/UZ1j0mxM2Zy84itBNvNOROikaS8Eff/qmHPmo NqZw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=WT/Vo06S2Rh5KH6+fPPtrlwpPPcZyvpXAzv4VT/7ZHw=; b=BzyB12v5iiYivJbjkb5srh38eWwUJDs1/gU+5KJYRSbAb3gNuGOhzUaWJ0gKjP8yAx 89cRqDd8n9eFL5eQmNWa2SJOvJJz6WyjK7XYk5DYrfhtuxs8bFH3oo6wnvyEm5tWvh8j 7d8xUQh3+Mr2ASvjoTcZq/ajHk0oczUQMoiktYCWfDbze3U1UNfsLKwixWYaGIC6eWIM +CCXwr4Ik0/jl/Sa0K6BnSzsPKT/B+BsJ3Spppzj5pKoKdSFJKOWblA//bhzLljdSXEt cmmb+UJjs8QUxPhR1e6x4imILo1GSOjmr1XYPqEVCI9IawqqDN04nmK0fkDqjxPzoOLQ cj4g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=ewytRsRk; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i67si2087271pfb.124.2019.05.29.20.45.33; Wed, 29 May 2019 20:45:49 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=ewytRsRk; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732952AbfE3Dne (ORCPT + 99 others); Wed, 29 May 2019 23:43:34 -0400 Received: from mail.kernel.org ([198.145.29.99]:33432 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729849AbfE3DVL (ORCPT ); Wed, 29 May 2019 23:21:11 -0400 Received: from localhost (ip67-88-213-2.z213-88-67.customer.algx.net [67.88.213.2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 24705249D2; Thu, 30 May 2019 03:21:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1559186471; bh=ySYL4sbIizg+Ief6OvDuTlZg0OnJU4Uya54J22FAqHw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ewytRsRkUJKKZHd5Y+5B3pOhmlF69i0SU7lgG7U9gGvD4AcuX41ZjHUcE6BKaskxE 1b7BF6wdExOAV1avXxhCOipqy1jiE/g6jqB0cDbDoOuAs8RKHmJrEpYSX5FKTdzcgE CNEbuDKeAoKbZKDGhgqQNjv56HlJTtGIrVAFFEvE= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Stanley Chu , Avri Altman , Alim Akhtar , "Martin K. Petersen" , Sasha Levin Subject: [PATCH 4.9 100/128] scsi: ufs: Avoid configuring regulator with undefined voltage range Date: Wed, 29 May 2019 20:07:12 -0700 Message-Id: <20190530030452.519233138@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190530030432.977908967@linuxfoundation.org> References: <20190530030432.977908967@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org [ Upstream commit 3b141e8cfd54ba3e5c610717295b2a02aab26a05 ] For regulators used by UFS, vcc, vccq and vccq2 will have voltage range initialized by ufshcd_populate_vreg(), however other regulators may have undefined voltage range if dt-bindings have no such definition. In above undefined case, both "min_uV" and "max_uV" fields in ufs_vreg struct will be zero values and these values will be configured on regulators in different power modes. Currently this may have no harm if both "min_uV" and "max_uV" always keep "zero values" because regulator_set_voltage() will always bypass such invalid values and return "good" results. However improper values shall be fixed to avoid potential bugs. Simply bypass voltage configuration if voltage range is not defined. Signed-off-by: Stanley Chu Reviewed-by: Avri Altman Acked-by: Alim Akhtar Signed-off-by: Martin K. Petersen Signed-off-by: Sasha Levin --- drivers/scsi/ufs/ufshcd.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c index 8869c666d458c..0fe4f8e8c8c91 100644 --- a/drivers/scsi/ufs/ufshcd.c +++ b/drivers/scsi/ufs/ufshcd.c @@ -5504,12 +5504,15 @@ static int ufshcd_config_vreg(struct device *dev, name = vreg->name; if (regulator_count_voltages(reg) > 0) { - min_uV = on ? vreg->min_uV : 0; - ret = regulator_set_voltage(reg, min_uV, vreg->max_uV); - if (ret) { - dev_err(dev, "%s: %s set voltage failed, err=%d\n", + if (vreg->min_uV && vreg->max_uV) { + min_uV = on ? vreg->min_uV : 0; + ret = regulator_set_voltage(reg, min_uV, vreg->max_uV); + if (ret) { + dev_err(dev, + "%s: %s set voltage failed, err=%d\n", __func__, name, ret); - goto out; + goto out; + } } uA_load = on ? vreg->max_uA : 0; -- 2.20.1