]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
media: pxa_camera: fix smatch warning
authorHans Verkuil <hverkuil-cisco@xs4all.nl>
Thu, 7 Feb 2019 09:13:38 +0000 (04:13 -0500)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Thu, 7 Feb 2019 17:38:24 +0000 (12:38 -0500)
drivers/media/platform/pxa_camera.c:2400 pxa_camera_probe() error: we previously assumed 'pcdev->pdata' could be null (see line 2397)

First check if platform data is provided, then check if DT data is provided,
and if neither is provided just return with -ENODEV.

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
drivers/media/platform/pxa_camera.c

index 5f930560eb30c799c01f1fa57c9324a46ce42739..3cf3c6390cc8091f7e9af982a99cf0116fc3eb29 100644 (file)
@@ -2394,15 +2394,17 @@ static int pxa_camera_probe(struct platform_device *pdev)
        pcdev->res = res;
 
        pcdev->pdata = pdev->dev.platform_data;
-       if (pdev->dev.of_node && !pcdev->pdata) {
-               err = pxa_camera_pdata_from_dt(&pdev->dev, pcdev, &pcdev->asd);
-       } else {
+       if (pcdev->pdata) {
                pcdev->platform_flags = pcdev->pdata->flags;
                pcdev->mclk = pcdev->pdata->mclk_10khz * 10000;
                pcdev->asd.match_type = V4L2_ASYNC_MATCH_I2C;
                pcdev->asd.match.i2c.adapter_id =
                        pcdev->pdata->sensor_i2c_adapter_id;
                pcdev->asd.match.i2c.address = pcdev->pdata->sensor_i2c_address;
+       } else if (pdev->dev.of_node) {
+               err = pxa_camera_pdata_from_dt(&pdev->dev, pcdev, &pcdev->asd);
+       } else {
+               return -ENODEV;
        }
        if (err < 0)
                return err;