Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp2453192ybi; Sun, 9 Jun 2019 12:10:02 -0700 (PDT) X-Google-Smtp-Source: APXvYqx/utx1aM3lhBbydHVk2gX1fVSj1m0zcQrqlUOLi18Inu7Ofja9I7krj6AUSrO9LKROAXps X-Received: by 2002:a17:90a:de0e:: with SMTP id m14mr17442525pjv.36.1560107402907; Sun, 09 Jun 2019 12:10:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560107402; cv=none; d=google.com; s=arc-20160816; b=tvA7adTiMiCMDkl8suLYaenBOfvBCNKA76KhXB9F1p3JHS6Yo0PZ8AuqhcJreIi1wy HVQ0CRvthiPu1dXrXOVu5qTcvJRH7tBX77HJvY8qhT4uXwU7rqUOacVlRXZQFXzb7Y/r tOC6DdK/sNz9nDrWGURF9NODNUxMEOk0w6w8tKxE29KE2a4hujmyC+0RTCs2TMO3n9iw /3eliMMx58sFbBTzooB9d/+VBVWpbPGULlUpGRpffyD8XffD9F4/0/mdQDgtzsskVMEt GvW1NQO4NAaLFcrZtKb7aBZDiiRegqYOKDQTWbQoMlk/Ef2KJz0ADaRU3c421+bzcsM4 do2A== 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=Zjm5PUSrA4rKdvku6mWD7M5aEA9gQ25Md3e0wmfw8x0=; b=kojyX4WchLzZXl6c6grxcqYT3lGGLTc2Kf9MDqIvayRERQ97fk/iJvAZsppFnbfWUL phOajia1cn9JGeAnmMQC4B9VwPtFjvLQ/bCc5MQandzNylLy9XrnKYbpkdeVZtQG5EDJ /4oaFFENhxq8FBfjqfaRmxNfk+XNg1vIXRZtfz0U9GKv9v71S7EeikBTEPeySoTP56NQ NwExdBJw1nOhxBFBnUxX8ka44KwGON7mZF061OUy3C63+WDYOy/RrKu/WG/2H5kBzdHh 0nqTe9mcNRTa9W59Yc4tTpTEj8dr01WcrNjnD1a/MZUNHB0b919YiszOg+UR58EvLLi0 iBAA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="U/p58+uy"; 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 h96si8005881plb.281.2019.06.09.12.09.47; Sun, 09 Jun 2019 12:10:02 -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="U/p58+uy"; 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 S1732200AbfFIRCr (ORCPT + 99 others); Sun, 9 Jun 2019 13:02:47 -0400 Received: from mail.kernel.org ([198.145.29.99]:40792 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388290AbfFIRCn (ORCPT ); Sun, 9 Jun 2019 13:02:43 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (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 08D1F206DF; Sun, 9 Jun 2019 17:02:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1560099763; bh=Fbo8dytbPMSisTSOkUgK0/guHrahixpxaGNIxTv3bOU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=U/p58+uyjrAbuNEdbStsGEZLZDp9Kf989JJbA6oj31E+Omz1IwP9VY21dWL7c9v0M lh+9cPQbm9erdR2vWx6pJC6PQ9++Hs7U5axFNqnP13FLWK5k87uWcOObQUKs77i7Nh Vfv0HcSg/woPoq3KaQ14zdHIUjpTwAfnIL1zaOrA= 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.4 157/241] scsi: ufs: Avoid configuring regulator with undefined voltage range Date: Sun, 9 Jun 2019 18:41:39 +0200 Message-Id: <20190609164152.299169268@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190609164147.729157653@linuxfoundation.org> References: <20190609164147.729157653@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 ed76381fce4cc..7322a17660d10 100644 --- a/drivers/scsi/ufs/ufshcd.c +++ b/drivers/scsi/ufs/ufshcd.c @@ -4434,12 +4434,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