linux-usb.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [v5,3/7] phy: qcom-qusb2: Fix crash if nvmem cell not specified
@ 2018-05-02 21:06 Manu Gautam
  0 siblings, 0 replies; only message in thread
From: Manu Gautam @ 2018-05-02 21:06 UTC (permalink / raw)
  To: Kishon Vijay Abraham I, robh, sboyd
  Cc: devicetree, linux-kernel, dianders, evgreen, Vivek Gautam,
	linux-arm-msm, linux-usb, Manu Gautam, stable

Driver currently crashes due to NULL pointer deference
while updating PHY tune register if nvmem cell is NULL.
Since, fused value for Tune1/2 register is optional,
we'd rather bail out.

Fixes: ca04d9d3e1b1 ("phy: qcom-qusb2: New driver for QUSB2 PHY on Qcom chips")
Reviewed-by: Vivek Gautam <vivek.gautam@codeaurora.org>
Reviewed-by: Evan Green <evgreen@chromium.org>
Cc: stable <stable@vger.kernel.org> # 4.14+
Signed-off-by: Manu Gautam <mgautam@codeaurora.org>
---
 drivers/phy/qualcomm/phy-qcom-qusb2.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/phy/qualcomm/phy-qcom-qusb2.c b/drivers/phy/qualcomm/phy-qcom-qusb2.c
index 94afeac..40fdef8 100644
--- a/drivers/phy/qualcomm/phy-qcom-qusb2.c
+++ b/drivers/phy/qualcomm/phy-qcom-qusb2.c
@@ -315,6 +315,10 @@ static void qusb2_phy_set_tune2_param(struct qusb2_phy *qphy)
 	const struct qusb2_phy_cfg *cfg = qphy->cfg;
 	u8 *val;
 
+	/* efuse register is optional */
+	if (!qphy->cell)
+		return;
+
 	/*
 	 * Read efuse register having TUNE2/1 parameter's high nibble.
 	 * If efuse register shows value as 0x0, or if we fail to find

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2018-05-02 21:06 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-05-02 21:06 [v5,3/7] phy: qcom-qusb2: Fix crash if nvmem cell not specified Manu Gautam

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).