Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 349ac77a authored by Ray Zhang's avatar Ray Zhang
Browse files

msm: mdss: only assign mfd pointer in blank event



Currently mfd pointer is assigned in coming fb_event_callback,
which is possibly invoked in WFD case too. This should be
avoided since DSI check should only apply to primary display.

CRs-fixed: 639687
Signed-off-by: default avatarRay Zhang <rayz@codeaurora.org>
Change-Id: I4592c62349dd7d34082b3e73f5cbb3b49e80dc9b
parent 642f1231
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -65,6 +65,11 @@ static void check_dsi_ctrl_status(struct work_struct *work)
		return;
	}

	if (!pdsi_status->mfd) {
		pr_err("%s: FB data not available\n", __func__);
		return;
	}

	pdata = dev_get_platdata(&pdsi_status->mfd->pdev->dev);
	if (!pdata) {
		pr_err("%s: Panel data not available\n", __func__);
@@ -149,12 +154,13 @@ static int fb_event_callback(struct notifier_block *self,
				unsigned long event, void *data)
{
	struct fb_event *evdata = data;

	if (event == FB_EVENT_BLANK && evdata) {
		int *blank = evdata->data;
		struct dsi_status_data *pdata = container_of(self,
				struct dsi_status_data, fb_notifier);
		pdata->mfd = evdata->info->par;

	if (event == FB_EVENT_BLANK && evdata) {
		int *blank = evdata->data;
		switch (*blank) {
		case FB_BLANK_UNBLANK:
			schedule_delayed_work(&pdata->check_status,