diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2018-03-01 15:02:30 -0500 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2018-03-02 08:11:07 -0500 |
commit | c39bbb903ce337a3f6a7fe0ac8d30e0876699fc2 (patch) | |
tree | 32c9a873220f942e3a45a555a606258681bff7a9 | |
parent | 4cba7071b70de271415a4d9e8bfb1e420d5942b1 (diff) |
drm: omapdrm: displays: panel-dsi-cm: Fix field access before set
The driver accesses the ddata->in field before it gets set in the
dsicm_connect() function. Use the local in pointer variable instead.
Fixes: 7877632b4cd0 ("drm: omapdrm: displays: Get panel source at connect time")
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
-rw-r--r-- | drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c index f960e55d64ea..428de90fced1 100644 --- a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c +++ b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c | |||
@@ -778,13 +778,13 @@ static int dsicm_connect(struct omap_dss_device *dssdev) | |||
778 | goto err_connect; | 778 | goto err_connect; |
779 | } | 779 | } |
780 | 780 | ||
781 | r = in->ops.dsi->request_vc(ddata->in, &ddata->channel); | 781 | r = in->ops.dsi->request_vc(in, &ddata->channel); |
782 | if (r) { | 782 | if (r) { |
783 | dev_err(dev, "failed to get virtual channel\n"); | 783 | dev_err(dev, "failed to get virtual channel\n"); |
784 | goto err_req_vc; | 784 | goto err_req_vc; |
785 | } | 785 | } |
786 | 786 | ||
787 | r = in->ops.dsi->set_vc_id(ddata->in, ddata->channel, TCH); | 787 | r = in->ops.dsi->set_vc_id(in, ddata->channel, TCH); |
788 | if (r) { | 788 | if (r) { |
789 | dev_err(dev, "failed to set VC_ID\n"); | 789 | dev_err(dev, "failed to set VC_ID\n"); |
790 | goto err_vc_id; | 790 | goto err_vc_id; |
@@ -794,7 +794,7 @@ static int dsicm_connect(struct omap_dss_device *dssdev) | |||
794 | return 0; | 794 | return 0; |
795 | 795 | ||
796 | err_vc_id: | 796 | err_vc_id: |
797 | in->ops.dsi->release_vc(ddata->in, ddata->channel); | 797 | in->ops.dsi->release_vc(in, ddata->channel); |
798 | err_req_vc: | 798 | err_req_vc: |
799 | in->ops.dsi->disconnect(in, dssdev); | 799 | in->ops.dsi->disconnect(in, dssdev); |
800 | err_connect: | 800 | err_connect: |