1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- From bd02decd1ad7cc883ce388e769a34a3c402b90c4 Mon Sep 17 00:00:00 2001
- From: Brian Norris <computersforpeace@gmail.com>
- Date: Mon, 16 Nov 2015 10:45:30 -0800
- Subject: [PATCH 080/113] mtd: fsl-quadspi: possible NULL dereference
- It is theoretically possible to probe this driver without a matching
- device tree, so let's guard against this.
- Also, use the of_device_get_match_data() helper to make this a bit
- simpler.
- Coverity complained about this one.
- Signed-off-by: Brian Norris <computersforpeace@gmail.com>
- Acked-by: Han xu <han.xu@freescale.com>
- ---
- drivers/mtd/spi-nor/fsl-quadspi.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
- --- a/drivers/mtd/spi-nor/fsl-quadspi.c
- +++ b/drivers/mtd/spi-nor/fsl-quadspi.c
- @@ -269,7 +269,7 @@ struct fsl_qspi {
- struct clk *clk, *clk_en;
- struct device *dev;
- struct completion c;
- - struct fsl_qspi_devtype_data *devtype_data;
- + const struct fsl_qspi_devtype_data *devtype_data;
- u32 nor_size;
- u32 nor_num;
- u32 clk_rate;
- @@ -933,8 +933,6 @@ static int fsl_qspi_probe(struct platfor
- struct spi_nor *nor;
- struct mtd_info *mtd;
- int ret, i = 0;
- - const struct of_device_id *of_id =
- - of_match_device(fsl_qspi_dt_ids, &pdev->dev);
-
- q = devm_kzalloc(dev, sizeof(*q), GFP_KERNEL);
- if (!q)
- @@ -945,7 +943,9 @@ static int fsl_qspi_probe(struct platfor
- return -ENODEV;
-
- q->dev = dev;
- - q->devtype_data = (struct fsl_qspi_devtype_data *)of_id->data;
- + q->devtype_data = of_device_get_match_data(dev);
- + if (!q->devtype_data)
- + return -ENODEV;
- platform_set_drvdata(pdev, q);
-
- /* find the resources */
|