phy: qcom-qusb2: Fix crash if nvmem cell not specified
authorManu Gautam <mgautam@codeaurora.org>
Wed, 2 May 2018 21:06:10 +0000 (02:36 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 16 Jun 2018 07:45:16 +0000 (09:45 +0200)
commit 0b4555e776ba0712c6fafb98b226b21fd05d2427 upstream.

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>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/phy/qualcomm/phy-qcom-qusb2.c

index 6c57524..af9b700 100644 (file)
@@ -178,6 +178,10 @@ static void qusb2_phy_set_tune2_param(struct qusb2_phy *qphy)
        struct device *dev = &qphy->phy->dev;
        u8 *val;
 
+       /* efuse register is optional */
+       if (!qphy->cell)
+               return;
+
        /*
         * Read efuse register having TUNE2 parameter's high nibble.
         * If efuse register shows value as 0x0, or if we fail to find