From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753501AbdBFP22 (ORCPT ); Mon, 6 Feb 2017 10:28:28 -0500 Received: from mailout4.samsung.com ([203.254.224.34]:52691 "EHLO mailout4.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751669AbdBFP2Z (ORCPT ); Mon, 6 Feb 2017 10:28:25 -0500 X-AuditID: b6c32a2e-f79656d0000012f2-5b-5898961545f4 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] omapfb: dss: Handle return error in dss_init_ports. Date: Mon, 06 Feb 2017 16:28:08 +0100 Message-id: <15170308.DWakhCLKvX@amdc3058> User-Agent: KMail/4.13.3 (Linux/3.13.0-96-generic; KDE/4.13.3; x86_64; ; ) In-reply-to: <1486124625-23454-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+NgFvrHIsWRmVeSWpSXmKPExsWy7bCmpq7otBkRBls/aVtc613IbHGi7wOr xeVdc9gsZi/pZ7FYP/8WmwOrx85Zd9k9jt/YzuTxeZNcAHMUl01Kak5mWWqRvl0CV8bmz/2M BZeEKn7OVWhgfMzXxcjJISFgIrHuyQZ2CFtM4sK99WxdjFwcQgJLGSXe7DnKCOG0M0ms+zeR DaZj070rUInljBI3PvYyQzhfGSW2/93CClLFJmAlMbF9FSOILSKgI7Fp5m8wm1mgSKJh7Skw W1jAQ2L2sbNA9RwcLAKqEv0zk0HCvAJaEmcvbGACsUUFvCS27GsHszmB7KZX91khagQlfky+ xwIxUl5i3/6prBC2jsTZY+vAjpMQaGeXWLTiHQvIfAkBWYlNB5ghHnCRWPajE+oZYYlXx7dA vS8t8XfpLUYIezrQL78lIOZsZpRYtXsCVJG1xOHjF6GW8Un0/n7CBDGfV6KjTQiixEPi4Nnv TBC2o8SkGbeZIOEzl1HifNsi9gmM8rOQ/DALyQ+zkPywgJF5FaNYakFxbnpqsWmBsV5xYm5x aV66XnJ+7iZGcKrQ0tvB+G+B9yFGAQ5GJR7ejI4ZEUKsiWXFlbmHGCU4mJVEeBdOAgrxpiRW VqUW5ccXleakFh9ilOZgURLnjTKYGCEkkJ5YkpqdmlqQWgSTZeLglGpgTO/g8RVp+5jQJb42 S39+iO7UWwZi2zZqfnR84qsWcWW53uH4jJYvYizFzloN1qZ3Wp9PvW0hbV/vvS4hp4p1fX2T 7gI5xnmKztdfmzxh/iY8Jy4jbzZzc/CbshtfdROLXq5k8Xgeq/bw14ZS/qOb4hcvnPk+JWz9 hUsJOV451W5Mk1mfOj9UYinOSDTUYi4qTgQAbppi8REDAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprPIsWRmVeSWpSXmKPExsVy+t9jAV2RaTMiDO4tkra41ruQ2eJE3wdW i8u75rBZzF7Sz2Kxfv4tNgdWj52z7rJ7HL+xncnj8ya5AOYoN5uM1MSU1CKF1Lzk/JTMvHRb pdAQN10LJYW8xNxUW6UIXd+QICWFssScUiDPyAANODgHuAcr6dsluGVs/tzPWHBJqOLnXIUG xsd8XYycHBICJhKb7l1hhLDFJC7cW8/WxcjFISSwlFFi2eE37CAJIYGvjBJd/wRAbDYBK4mJ 7avAGkQEdCQ2zfwNZjMLFElsmHaODcQWFvCQmH3sLGsXIwcHi4CqRP/MZJAwr4CWxNkLG5hA bFEBL4kt+9rBbE4gu+nVfVaIvfMZJVZu2sIM0SAo8WPyPRaI+fIS+/ZPZYWwtSTW7zzONIFR YBaSsllIymYhKVvAyLyKUSK1ILmgOCk91ygvtVyvODG3uDQvXS85P3cTIzhynknvYDy8y/0Q owAHoxIP74GuGRFCrIllxZW5hxglOJiVRHgXTgIK8aYkVlalFuXHF5XmpBYfYjQFenAis5Ro cj4wqvNK4g1NzE3MjQ0szC0tTYyUxHkbZz8LFxJITyxJzU5NLUgtgulj4uCUamA8piT5ouRj XfOfq0yNsZ9Sz+jOP+jrMGutlJbhx8/aB05X2rYnbRE/bd650uRfoJLT5ODU1Qz7zt/7alac sv1C6vuSE/Zr1y7fafeXJcw0r7fPIeLdizR11rWaEY/4Tuk2rWlX75jYknw789o6vlPXrfe1 X2N/b+4n1bw4eq3/VIkfrx/p7eVRYinOSDTUYi4qTgQAvFW9l7ICAAA= X-MTR: 20000000000000000@CPGS X-CMS-MailID: 20170206152820epcas5p363ab871d80fa1c24c7c9a1d7ad7001fb X-Msg-Generator: CA X-Sender-IP: 203.254.230.27 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: 105P X-HopCount: 7 X-CMS-RootMailID: 20170203122444epcas2p3e0d5ed32cac85fd86d900a62dbeb03a4 X-RootMTR: 20170203122444epcas2p3e0d5ed32cac85fd86d900a62dbeb03a4 References: <1486124625-23454-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 Friday, February 03, 2017 05:53:45 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 > --- > drivers/video/fbdev/omap2/omapfb/dss/dss.c | 7 ++++--- > 1 file changed, 4 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..15a0dab 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,17 @@ 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); Shouldn't initialization be stopped after the first failure? i.e.: } while (!ret && (port = omapdss_of_get_next_port(parent, port)) != NULL); Also the cleanup of the partial initialization is missing. >>From looking at the code we should do something like this before returning: if (ret) dss_uninit_ports(pdev); (dpi_uninit_port() & sdi_uninit_port() skip not fully initialized ports) > - return 0; > + return ret; > } > > static void dss_uninit_ports(struct platform_device *pdev) Best regards, -- Bartlomiej Zolnierkiewicz Samsung R&D Institute Poland Samsung Electronics