aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2018-03-01 15:02:30 -0500
committerTomi Valkeinen <tomi.valkeinen@ti.com>2018-03-02 08:11:07 -0500
commitc39bbb903ce337a3f6a7fe0ac8d30e0876699fc2 (patch)
tree32c9a873220f942e3a45a555a606258681bff7a9
parent4cba7071b70de271415a4d9e8bfb1e420d5942b1 (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.c6
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
796err_vc_id: 796err_vc_id:
797 in->ops.dsi->release_vc(ddata->in, ddata->channel); 797 in->ops.dsi->release_vc(in, ddata->channel);
798err_req_vc: 798err_req_vc:
799 in->ops.dsi->disconnect(in, dssdev); 799 in->ops.dsi->disconnect(in, dssdev);
800err_connect: 800err_connect: