diff --git a/msm/dsi/dsi_display_mot_ext.c b/msm/dsi/dsi_display_mot_ext.c index 12b7a510fa4f..46c355845a91 100644 --- a/msm/dsi/dsi_display_mot_ext.c +++ b/msm/dsi/dsi_display_mot_ext.c @@ -1056,7 +1056,7 @@ static void dsi_display_show_para(char* buf, char* pbuf, enum dsi_cmd_set_type t int count = priv_info->cmd_sets[type].count; memset(pbuf, 0, PAGE_SIZE); - rc = snprintf(pbuf, PAGE_SIZE, "## count:%d ====\n", count); + rc = snprintf(pbuf, PAGE_SIZE, "##Command for %s: count:%d ====\n", cmd_set_prop_map[type], count); strcat(buf, pbuf); memset(pbuf, 0, PAGE_SIZE); for (i=0; imodes[index].priv_info; mode_timing = &display->modes[index].timing; - pbuf = kmalloc(PAGE_SIZE, GFP_KERNEL); + pbuf = kzalloc(PAGE_SIZE*4, GFP_KERNEL); if (pbuf) { - rc = snprintf(buf, PAGE_SIZE, "panel horz active:%d front_portch:%d back_porch:%d pulse_width:%d h_skew:%d\n", + psubbuf = kzalloc(PAGE_SIZE, GFP_KERNEL); + if (!psubbuf) + return rc; + rc = snprintf(psubbuf, PAGE_SIZE, "panel horz active:%d front_portch:%d back_porch:%d pulse_width:%d h_skew:%d\n", mode_timing->h_active, mode_timing->h_front_porch, mode_timing->h_back_porch, mode_timing->h_sync_width, mode_timing->h_skew); - memset(pbuf, 0, PAGE_SIZE); - rc = snprintf(pbuf, PAGE_SIZE, "panel vert active:%d front_portch:%d back_porch:%d pulse_width:%d\n", + strcat(pbuf, psubbuf); + memset(psubbuf, 0, PAGE_SIZE); + rc = snprintf(psubbuf, PAGE_SIZE, "panel vert active:%d front_portch:%d back_porch:%d pulse_width:%d\n", mode_timing->v_active, mode_timing->v_front_porch, mode_timing->v_back_porch, mode_timing->v_sync_width); - strcat(buf, pbuf); - memset(pbuf, 0, PAGE_SIZE); - rc = snprintf(pbuf, PAGE_SIZE, "panel clk rate:%d mdp_transfer_time_us:%d refresh_rate:%d\n", + strcat(pbuf, psubbuf); + memset(psubbuf, 0, PAGE_SIZE); + rc = snprintf(psubbuf, PAGE_SIZE, "panel clk rate:%d mdp_transfer_time_us:%d refresh_rate:%d\n", display_mode->priv_info->clk_rate_hz , display_mode->priv_info->mdp_transfer_time_us, mode_timing->refresh_rate); - strcat(buf, pbuf); - dsi_display_show_para(buf, pbuf, DSI_CMD_SET_ON, priv_info); - dsi_display_show_para(buf, pbuf, DSI_CMD_SET_OFF, priv_info); - dsi_display_show_para(buf, pbuf, DSI_CMD_SET_TIMING_SWITCH, priv_info); + strcat(pbuf, psubbuf); + memset(psubbuf, 0, PAGE_SIZE); + dsi_display_show_para(pbuf, psubbuf, DSI_CMD_SET_ON, priv_info); + dsi_display_show_para(pbuf, psubbuf, DSI_CMD_SET_OFF, priv_info); + dsi_display_show_para(pbuf, psubbuf, DSI_CMD_SET_TIMING_SWITCH, priv_info); + rc = snprintf(buf, PAGE_SIZE, "%s\n", pbuf); printk("%s\n", buf); } else { pr_warn("kmalloc failed\n" ); } + if (psubbuf) + kfree(psubbuf); if (pbuf) kfree(pbuf); return rc;