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

Commit a250b56e authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: mdss: Use heap instead of stack for panel_info in check var"

parents 7b0a2a3b 601424af
Loading
Loading
Loading
Loading
+13 −5
Original line number Diff line number Diff line
@@ -3491,16 +3491,24 @@ static int mdss_fb_check_var(struct fb_var_screeninfo *var,
		if (mode == NULL)
			return -EINVAL;
	} else if (mfd->panel_info && !(var->activate & FB_ACTIVATE_TEST)) {
		struct mdss_panel_info *panel_info;
		int rc;
		panel_info = kzalloc(sizeof(struct mdss_panel_info),
				GFP_KERNEL);
		if (!panel_info)
			return -ENOMEM;

		memcpy(&mfd->reconfig_panel_info, mfd->panel_info,
				sizeof(mfd->reconfig_panel_info));
		mdss_fb_var_to_panelinfo(var, &mfd->reconfig_panel_info);
		memcpy(panel_info, mfd->panel_info,
				sizeof(struct mdss_panel_info));
		mdss_fb_var_to_panelinfo(var, panel_info);
		rc = mdss_fb_send_panel_event(mfd, MDSS_EVENT_CHECK_PARAMS,
			&mfd->reconfig_panel_info);
		if (IS_ERR_VALUE(rc))
			panel_info);
		if (IS_ERR_VALUE(rc)) {
			kfree(panel_info);
			return rc;
		}
		mfd->panel_reconfig = rc;
		kfree(panel_info);
	}

	return 0;