thermal: qcom: tsens-v1: Fix kfree of a non-pointer value
authorColin Ian King <colin.king@canonical.com>
Tue, 22 Oct 2019 11:18:06 +0000 (12:18 +0100)
committerDaniel Lezcano <daniel.lezcano@linaro.org>
Thu, 7 Nov 2019 06:00:26 +0000 (07:00 +0100)
Currently the kfree of pointer qfprom_cdata is kfreeing an
error value that has been cast to a pointer rather than a
valid address.  Fix this by removing the kfree.

Fixes: 95ededc17e4e ("thermal: qcom: tsens-v1: Add support for MSM8956 and MSM8976")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Tested-by: AngeloGioacchino Del Regno <kholk11@gmail.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20191022111806.23143-1-colin.king@canonical.com
drivers/thermal/qcom/tsens-v1.c

index 2d1077b648871e97a4eee1f173c5bb9e258ef0e1..bd2ddb684a45d539d85705debd6b4a1ecf482236 100644 (file)
@@ -240,10 +240,8 @@ static int calibrate_8976(struct tsens_priv *priv)
        u32 *qfprom_cdata;
 
        qfprom_cdata = (u32 *)qfprom_read(priv->dev, "calib");
-       if (IS_ERR(qfprom_cdata)) {
-               kfree(qfprom_cdata);
+       if (IS_ERR(qfprom_cdata))
                return PTR_ERR(qfprom_cdata);
-       }
 
        mode = (qfprom_cdata[4] & MSM8976_CAL_SEL_MASK);
        dev_dbg(priv->dev, "calibration mode is %d\n", mode);