diff options
author | Wei Yongjun <yongjun_wei@trendmicro.com.cn> | 2013-09-11 10:09:02 -0400 |
---|---|---|
committer | Rob Clark <robdclark@gmail.com> | 2013-09-12 10:32:12 -0400 |
commit | aea6a64c38725b6fb30738a31695ef81af3079c3 (patch) | |
tree | 47fe844d0c7b0d649f25fbfbb6f69d4e2bd15f43 /drivers/gpu/drm | |
parent | 6b8819c811c2a80a7e5896b4d1e2580be825d590 (diff) |
drm/msm: fix potential NULL pointer dereference
The dereference to 'pdata' should be moved below the NULL test.
Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Diffstat (limited to 'drivers/gpu/drm')
-rw-r--r-- | drivers/gpu/drm/msm/msm_gpu.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/msm/msm_gpu.c b/drivers/gpu/drm/msm/msm_gpu.c index 7ddcfbebb1f2..3bab937965d1 100644 --- a/drivers/gpu/drm/msm/msm_gpu.c +++ b/drivers/gpu/drm/msm/msm_gpu.c | |||
@@ -29,13 +29,14 @@ | |||
29 | static void bs_init(struct msm_gpu *gpu, struct platform_device *pdev) | 29 | static void bs_init(struct msm_gpu *gpu, struct platform_device *pdev) |
30 | { | 30 | { |
31 | struct drm_device *dev = gpu->dev; | 31 | struct drm_device *dev = gpu->dev; |
32 | struct kgsl_device_platform_data *pdata = pdev->dev.platform_data; | 32 | struct kgsl_device_platform_data *pdata; |
33 | 33 | ||
34 | if (!pdev) { | 34 | if (!pdev) { |
35 | dev_err(dev->dev, "could not find dtv pdata\n"); | 35 | dev_err(dev->dev, "could not find dtv pdata\n"); |
36 | return; | 36 | return; |
37 | } | 37 | } |
38 | 38 | ||
39 | pdata = pdev->dev.platform_data; | ||
39 | if (pdata->bus_scale_table) { | 40 | if (pdata->bus_scale_table) { |
40 | gpu->bsc = msm_bus_scale_register_client(pdata->bus_scale_table); | 41 | gpu->bsc = msm_bus_scale_register_client(pdata->bus_scale_table); |
41 | DBG("bus scale client: %08x", gpu->bsc); | 42 | DBG("bus scale client: %08x", gpu->bsc); |