drm/msm/dsi: check msm_dsi and dsi pointers before use
Move null checks of pointer arguments to the beginning of the modeset init function since they are referenced immediately instead of after they have already been used. Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org> Signed-off-by: Rob Clark <robdclark@gmail.com>
This commit is contained in:
parent
6e1787cf45
commit
3f0689e663
|
@ -196,7 +196,7 @@ int msm_dsi_modeset_init(struct msm_dsi *msm_dsi, struct drm_device *dev,
|
|||
struct drm_bridge *ext_bridge;
|
||||
int ret;
|
||||
|
||||
if (WARN_ON(!encoder))
|
||||
if (WARN_ON(!encoder) || WARN_ON(!msm_dsi) || WARN_ON(!dev))
|
||||
return -EINVAL;
|
||||
|
||||
msm_dsi->dev = dev;
|
||||
|
@ -245,20 +245,18 @@ int msm_dsi_modeset_init(struct msm_dsi *msm_dsi, struct drm_device *dev,
|
|||
|
||||
return 0;
|
||||
fail:
|
||||
if (msm_dsi) {
|
||||
/* bridge/connector are normally destroyed by drm: */
|
||||
if (msm_dsi->bridge) {
|
||||
msm_dsi_manager_bridge_destroy(msm_dsi->bridge);
|
||||
msm_dsi->bridge = NULL;
|
||||
}
|
||||
|
||||
/* don't destroy connector if we didn't make it */
|
||||
if (msm_dsi->connector && !msm_dsi->external_bridge)
|
||||
msm_dsi->connector->funcs->destroy(msm_dsi->connector);
|
||||
|
||||
msm_dsi->connector = NULL;
|
||||
/* bridge/connector are normally destroyed by drm: */
|
||||
if (msm_dsi->bridge) {
|
||||
msm_dsi_manager_bridge_destroy(msm_dsi->bridge);
|
||||
msm_dsi->bridge = NULL;
|
||||
}
|
||||
|
||||
/* don't destroy connector if we didn't make it */
|
||||
if (msm_dsi->connector && !msm_dsi->external_bridge)
|
||||
msm_dsi->connector->funcs->destroy(msm_dsi->connector);
|
||||
|
||||
msm_dsi->connector = NULL;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue