From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752582AbdBILg3 (ORCPT ); Thu, 9 Feb 2017 06:36:29 -0500 Received: from mailout1.samsung.com ([203.254.224.24]:51523 "EHLO mailout1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752077AbdBILgI (ORCPT ); Thu, 9 Feb 2017 06:36:08 -0500 X-AuditID: b6c32a39-f79c86d000001a4c-e5-589c510f3793 From: Bartlomiej Zolnierkiewicz To: Arvind Yadav Cc: tomi.valkeinen@ti.com, linux-omap@vger.kernel.org, linux-fbdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2] omapfb: dss: Handle return error in dss_init_ports. Date: Thu, 09 Feb 2017 12:22:52 +0100 Message-id: <20095283.GXRZBuOcpv@amdc3058> User-Agent: KMail/4.13.3 (Linux/3.13.0-96-generic; KDE/4.13.3; x86_64; ; ) In-reply-to: <1486634281-10945-1-git-send-email-arvind.yadav.cs@gmail.com> MIME-version: 1.0 Content-transfer-encoding: 7Bit Content-type: text/plain; charset=us-ascii X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrLIsWRmVeSWpSXmKPExsWy7bCmni5/4JwIg9+XpS2u9S5ktjjR94HV 4vKuOWwWs5f0s1isn3+LzYHVY+esu+wex29sZ/L4vEkugDmKyyYlNSezLLVI3y6BK+PvkztM BbOEK16ctW5g7OfvYuTkkBAwkdjx9D87hC0mceHeerYuRi4OIYEdjBI7ux+yQzjtTBJzV7Qw wXTM/ryaFcQWEpjDKNF4LQKi6CtQR88mNpAEm4CVxMT2VYwgtoiAjsSmmb/BbGaBIomGtafA bGEBb4n38zrA6lkEVCWuH7sKNJSDg1dAS6JluyNIWFTAS2LLvnawvZxA9vKu52CtvAKCEj8m 32OBGCkvsW//VFYIW0fi7LF1jCD3SAg0s0s869nHDDJTQkBWYtMBZoj7XSTOzm6D+lhY4tXx LVC2tMSqf7egfpzOKLH9twTEnM2MEqt2T4AqspY4fPwi1DI+iXdfe1gh5vNKdLQJQZR4SPRt aGaBsB0lZky5CQ3RuYwSU7rmsE5glJ+F5IdZSH6YheSHBYzMqxjFUguKc9NTiw0LTPWKE3OL S/PS9ZLzczcxghOFluUOxmPnfA4xCnAwKvHwOpjMiRBiTSwrrsw9xCjBwawkwivmCRTiTUms rEotyo8vKs1JLT7EKM3BoiTOy2owMUJIID2xJDU7NbUgtQgmy8TBKdXAuC9u68O3koyLLv+W q/cwiWVbuDmZJ/B2sevbGUE33vpyBK5a+slbaoLQKsH5ESdTLCZ9+PIqZovRbc0T+u+jLTUe vJ/Hz7xi3Zbf3lmJBef3OvvzrehqybL2M2ZrzdiTeupcg1/c+rVupyS1sgWsXk6z21SdPcum Qk/Y+P/BTysWGCQpJtssUGIpzkg01GIuKk4EACg/oy4QAwAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrAIsWRmVeSWpSXmKPExsVy+t9jQV3+wDkRBjd281pc613IbHGi7wOr xeVdc9gsZi/pZ7FYP/8WmwOrx85Zd9k9jt/YzuTxeZNcAHOUm01GamJKapFCal5yfkpmXrqt UmiIm66FkkJeYm6qrVKErm9IkJJCWWJOKZBnZIAGHJwD3IOV9O0S3DL+PrnDVDBLuOLFWesG xn7+LkZODgkBE4nZn1ezQthiEhfurWfrYuTiEBKYxSgxdcImdgjnK6PE2TmP2ECq2ASsJCa2 r2IEsUUEdCQ2zfwNZjMLFElsmHYOrEZYwFvi/bwOMJtFQFXi+rGrQBs4OHgFtCRatjuChEUF vCS27GtnArE5gezlXc8ZIXbNZ5RofnMVLMErICjxY/I9Foj58hL79k9lhbC1JNbvPM40gRHo TISyWUjKZiEpW8DIvIpRIrUguaA4KT3XMC+1XK84Mbe4NC9dLzk/dxMjOHaeSe1gPLjL/RCj AAejEg/vDLM5EUKsiWXFlbmHGCU4mJVEeMU8gUK8KYmVValF+fFFpTmpxYcYTYEenMgsJZqc D4zrvJJ4QxNzE3NjAwtzS0sTIyVx3sbZz8KFBNITS1KzU1MLUotg+pg4OKUaGJPnZ3+/t9nb 772KemDY8kc9gS1H6kU1vLq0lz8/GHPduH8qb+3VtWdKovuc4vo+WV3ief+xf+pv+0WJj+N0 zsWwmItt8hQodzOedYdNamdYVS6/09xnpS2yZY6ThPP0je+e/tbBUXFpe/w+1rITXU0tDCu0 pu2KWC3Omxl/rT5Q3K1lM/9OJZbijERDLeai4kQAqkr8jLMCAAA= X-MTR: 20000000000000000@CPGS X-CMS-MailID: 20170209112255epcas1p478e625afb00aeb2e0cb882b3131674d2 X-Msg-Generator: CA X-Sender-IP: 203.254.230.26 X-Local-Sender: =?UTF-8?B?QmFydGxvbWllaiBab2xuaWVya2lld2ljehtTUlBPTC1LZXJu?= =?UTF-8?B?ZWwgKFRQKRvsgrzshLHsoITsnpAbU2VuaW9yIFNvZnR3YXJlIEVuZ2luZWVy?= X-Global-Sender: =?UTF-8?B?QmFydGxvbWllaiBab2xuaWVya2lld2ljehtTUlBPTC1LZXJu?= =?UTF-8?B?ZWwgKFRQKRtTYW1zdW5nIEVsZWN0cm9uaWNzG1NlbmlvciBTb2Z0d2FyZSBF?= =?UTF-8?B?bmdpbmVlcg==?= X-Sender-Code: =?UTF-8?B?QzEwG0VIURtDMTBDRDAyQ0QwMjczOTI=?= CMS-TYPE: 101P X-HopCount: 7 X-CMS-RootMailID: 20170209095916epcas1p46d7faa4233dfa9b0a0a62aa64c293674 X-RootMTR: 20170209095916epcas1p46d7faa4233dfa9b0a0a62aa64c293674 References: <1486634281-10945-1-git-send-email-arvind.yadav.cs@gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, On Thursday, February 09, 2017 03:28:01 PM Arvind Yadav wrote: > Here, dss_init_ports is not handling return error form > dpi_init_port and sdi_init_port. Now dss_init_ports is returning > always 0. And it's making below code as a dead code. > > static int dss_bind(struct device *dev) > { > . > . > r = dss_init_ports(pdev); //dss_init_ports will return always 0 > if (r)// This condition will always false > goto err_init_ports; //Dead Code > . > . > } > > This change is to handle return error from dpi_init_port and > sdi_init_port. Also, It will remove dead code from function 'dss_bind'. > > Signed-off-by: Arvind Yadav > --- Please include version history here when submitting new versions. > drivers/video/fbdev/omap2/omapfb/dss/dss.c | 10 +++++++--- > 1 file changed, 7 insertions(+), 3 deletions(-) > > diff --git a/drivers/video/fbdev/omap2/omapfb/dss/dss.c b/drivers/video/fbdev/omap2/omapfb/dss/dss.c > index 47d7f69..87eb10c 100644 > --- a/drivers/video/fbdev/omap2/omapfb/dss/dss.c > +++ b/drivers/video/fbdev/omap2/omapfb/dss/dss.c > @@ -946,6 +946,7 @@ static int dss_init_ports(struct platform_device *pdev) > struct device_node *parent = pdev->dev.of_node; > struct device_node *port; > int r; > + int ret = 0; > > if (parent == NULL) > return 0; > @@ -972,17 +973,20 @@ static int dss_init_ports(struct platform_device *pdev) > > switch (port_type) { > case OMAP_DISPLAY_TYPE_DPI: > - dpi_init_port(pdev, port); > + ret = dpi_init_port(pdev, port); > break; > case OMAP_DISPLAY_TYPE_SDI: > - sdi_init_port(pdev, port); > + ret = sdi_init_port(pdev, port); > break; > default: > break; > } > } while ((port = omapdss_of_get_next_port(parent, port)) != NULL); What about the other issue raised by me? Shouldn't initialization be stopped after first failure? i.e.: } while (!ret && (port = omapdss_of_get_next_port(parent, port)) != NULL); Otherwise it is possible to return a success in case when - initialization of the first port fails - initialization of the second port is successful > - return 0; > + if (ret) > + dss_uninit_ports(pdev); > + > + return ret; > } > > static void dss_uninit_ports(struct platform_device *pdev) Best regards, -- Bartlomiej Zolnierkiewicz Samsung R&D Institute Poland Samsung Electronics