diff options
| author | Ping Li <quicpingli@codeaurora.org> | 2013-09-04 16:56:01 -0400 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 20:20:34 -0700 |
| commit | 299ec7f77025d17da30cbb60023ea4766a2ed4eb (patch) | |
| tree | 4b0a6bf2fc77297d9f2b1e8cfa50688348e80e58 /drivers/video/fbdev | |
| parent | 9bba658d2c6a97ff35e83ecfbca1d021bb30a4a8 (diff) | |
msm: mdss: Reorder code to avoid null pointer dereference
Set mdss_res to NULL after mdss_mdp_pp_term function in err
case inside mdss_mdp_probe function. This change can avoid
null pointer dereference if err occurs during mdss_mdp_probe.
Change-Id: I90b289e03f2711d45dcb80d9fa6eeb78b447cfd4
Signed-off-by: Ping Li <quicpingli@codeaurora.org>
Diffstat (limited to 'drivers/video/fbdev')
| -rw-r--r-- | drivers/video/fbdev/msm/mdss_mdp.c | 2 | ||||
| -rw-r--r-- | drivers/video/fbdev/msm/mdss_mdp_overlay.c | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/drivers/video/fbdev/msm/mdss_mdp.c b/drivers/video/fbdev/msm/mdss_mdp.c index f02ce0dcf5c2..d49d2babf0bd 100644 --- a/drivers/video/fbdev/msm/mdss_mdp.c +++ b/drivers/video/fbdev/msm/mdss_mdp.c @@ -1213,8 +1213,8 @@ static int mdss_mdp_probe(struct platform_device *pdev) probe_done: if (IS_ERR_VALUE(rc)) { mdss_mdp_hw.ptr = NULL; - mdss_res = NULL; mdss_mdp_pp_term(&pdev->dev); + mdss_res = NULL; } return rc; diff --git a/drivers/video/fbdev/msm/mdss_mdp_overlay.c b/drivers/video/fbdev/msm/mdss_mdp_overlay.c index 4897d5dac36d..7fccdb46f880 100644 --- a/drivers/video/fbdev/msm/mdss_mdp_overlay.c +++ b/drivers/video/fbdev/msm/mdss_mdp_overlay.c @@ -1927,9 +1927,12 @@ static int mdss_mdp_histo_ioctl(struct msm_fb_data_type *mfd, u32 cmd, if (ret) return ret; - pp_bus_handle = mdss_mdp_get_mdata()->pp_bus_hdl; ret = mdss_mdp_histogram_stop(mdp5_data->ctl, block); + if (ret) + return ret; + if (!req) { + pp_bus_handle = mdss_mdp_get_mdata()->pp_bus_hdl; req = msm_bus_scale_client_update_request(pp_bus_handle, PP_CLK_CFG_OFF); if (req) |
