[{"id":25250,"web_url":"https://patchwork.libcamera.org/comment/25250/","msgid":"<YzuYCRQd29NyDghi@pendragon.ideasonboard.com>","date":"2022-10-04T02:18:49","subject":"Re: [libcamera-devel] [PATCH 13/14] libcamera: pipeline: rkisp1:\n\tFactorize errors handling path on start()","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Xavier,\n\nThank you for the patch.\n\nOn Thu, Sep 08, 2022 at 08:48:49PM +0200, Xavier Roumegue via libcamera-devel wrote:\n> Signed-off-by: Xavier Roumegue <xavier.roumegue@oss.nxp.com>\n> ---\n>  src/libcamera/pipeline/rkisp1/rkisp1.cpp | 45 +++++++++++-------------\n>  1 file changed, 21 insertions(+), 24 deletions(-)\n> \n> diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n> index 25fbf9f1..c1522ca6 100644\n> --- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n> +++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n> @@ -828,59 +828,56 @@ int PipelineHandlerRkISP1::start(Camera *camera, [[maybe_unused]] const ControlL\n>  \n>  \tret = data->ipa_->start();\n>  \tif (ret) {\n> -\t\tfreeBuffers(camera);\n>  \t\tLOG(RkISP1, Error)\n>  \t\t\t<< \"Failed to start IPA \" << camera->id();\n> -\t\treturn ret;\n> +\t\tgoto ipa_err;\n\nGoto's are not great, as they can't cross local variable declarations.\nI've sent a patch that adds a new utils::Cleaner class (\"[PATCH 1/2]\nlibcamera: utils: Add Cleaner class\") with a sample of how it should be\nused in this function (\"[PATCH 2/2] pipeline: rkisp1: Use utils::Cleaner\nto simplify error handling in start\"). Could you have a look and tell me\nif it solves your problem ?\n\n>  \t}\n>  \n>  \tdata->frame_ = 0;\n>  \n>  \tret = param_->streamOn();\n>  \tif (ret) {\n> -\t\tdata->ipa_->stop();\n> -\t\tfreeBuffers(camera);\n>  \t\tLOG(RkISP1, Error)\n>  \t\t\t<< \"Failed to start parameters \" << camera->id();\n> -\t\treturn ret;\n> +\t\tgoto param_err;\n>  \t}\n>  \n>  \tret = stat_->streamOn();\n>  \tif (ret) {\n> -\t\tparam_->streamOff();\n> -\t\tdata->ipa_->stop();\n> -\t\tfreeBuffers(camera);\n>  \t\tLOG(RkISP1, Error)\n>  \t\t\t<< \"Failed to start statistics \" << camera->id();\n> -\t\treturn ret;\n> +\t\tgoto stat_err;\n>  \t}\n>  \n>  \tif (data->mainPath_->isEnabled()) {\n>  \t\tret = mainPath_.start();\n> -\t\tif (ret) {\n> -\t\t\tparam_->streamOff();\n> -\t\t\tstat_->streamOff();\n> -\t\t\tdata->ipa_->stop();\n> -\t\t\tfreeBuffers(camera);\n> -\t\t\treturn ret;\n> -\t\t}\n> +\t\tif (ret)\n> +\t\t\tgoto main_err;\n>  \t}\n>  \n>  \tif (hasSelfPath_ && data->selfPath_->isEnabled()) {\n>  \t\tret = selfPath_.start();\n> -\t\tif (ret) {\n> -\t\t\tmainPath_.stop();\n> -\t\t\tparam_->streamOff();\n> -\t\t\tstat_->streamOff();\n> -\t\t\tdata->ipa_->stop();\n> -\t\t\tfreeBuffers(camera);\n> -\t\t\treturn ret;\n> -\t\t}\n> +\t\tif (ret)\n> +\t\t\tgoto self_err;\n>  \t}\n>  \n>  \tisp_->setFrameStartEnabled(true);\n>  \n>  \tactiveCamera_ = camera;\n> +\tgoto no_err;\n> +\n> +self_err:\n> +\tif (data->mainPath_->isEnabled())\n> +\t\tmainPath_.stop();\n> +main_err:\n> +\tstat_->streamOff();\n> +stat_err:\n> +\tparam_->streamOff();\n> +param_err:\n> +\tdata->ipa_->stop();\n> +ipa_err:\n> +\tfreeBuffers(camera);\n> +no_err:\n>  \treturn ret;\n>  }\n>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 7C4A6BD16B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue,  4 Oct 2022 02:18:54 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 38BE060A8A;\n\tTue,  4 Oct 2022 04:18:54 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 9143260A82\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue,  4 Oct 2022 04:18:52 +0200 (CEST)","from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi\n\t[62.78.145.57])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 1973B517;\n\tTue,  4 Oct 2022 04:18:52 +0200 (CEST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1664849934;\n\tbh=IZfINOgpDXp7Bfhu01YF20YvsttT1RgG+UohYBHi+u8=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=uIc8YXm3diYVowYt6qFTR496tl0mqf8vKQ4ibkpLTSy0QwSXbVgZzDBWsptkW4D5E\n\tUIwwC26+T7PNnnb8T/1OQET0LTWcYehTX9lWZoEccWQHgExZSXuv5GyvapwUIUsNVu\n\tQyfblko64AcB1cz1MZiaAhbip6zbEQc2Cw8yI5U3i1x5w3TWsqRmNbUmxTN4g/Pm7+\n\tzeC6t7iRxG/MqMAtpUgWzQqUs6w9n2X3t8I3zScQsXCVd9XULEzofj/dD9pvRCF3eT\n\t8J1S5DMETCiMVbD2XHB2MSAVFi9FJRBN0hdc8sXpLS4lsRZS59Ihu415ifBhzRdFVL\n\tN5gqNHAVf3IiQ==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1664849932;\n\tbh=IZfINOgpDXp7Bfhu01YF20YvsttT1RgG+UohYBHi+u8=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=DjCvCapRpSCoZc9diNze4YIhz89Kz8uX9q4my8eUD/msGAWah5MjhEIOwW8I83qKW\n\tAZkhXMW7lyEDDEiQkDrimHPooSAjIkiztfXu1fMJ05aws7ZDJHSBxk5tjDNf7bUuPR\n\tnJ82gl4TqI8tvZmFXUagtZLXpYNDbZgyzjmybp4k="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"DjCvCapR\"; dkim-atps=neutral","Date":"Tue, 4 Oct 2022 05:18:49 +0300","To":"Xavier Roumegue <xavier.roumegue@oss.nxp.com>","Message-ID":"<YzuYCRQd29NyDghi@pendragon.ideasonboard.com>","References":"<20220908184850.1874303-1-xavier.roumegue@oss.nxp.com>\n\t<20220908184850.1874303-14-xavier.roumegue@oss.nxp.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20220908184850.1874303-14-xavier.roumegue@oss.nxp.com>","Subject":"Re: [libcamera-devel] [PATCH 13/14] libcamera: pipeline: rkisp1:\n\tFactorize errors handling path on start()","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","From":"Laurent Pinchart via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":25327,"web_url":"https://patchwork.libcamera.org/comment/25327/","msgid":"<cf08ec60-e0f0-9c63-52bd-ff4a6c7d9835@oss.nxp.com>","date":"2022-10-07T13:17:33","subject":"Re: [libcamera-devel] [PATCH 13/14] libcamera: pipeline: rkisp1:\n\tFactorize errors handling path on start()","submitter":{"id":107,"url":"https://patchwork.libcamera.org/api/people/107/","name":"Xavier Roumegue","email":"xavier.roumegue@oss.nxp.com"},"content":"Hi Laurent,\n\n\nOn 10/4/22 04:18, Laurent Pinchart wrote:\n> Hi Xavier,\n> \n> Thank you for the patch.\n> \n> On Thu, Sep 08, 2022 at 08:48:49PM +0200, Xavier Roumegue via libcamera-devel wrote:\n>> Signed-off-by: Xavier Roumegue <xavier.roumegue@oss.nxp.com>\n>> ---\n>>   src/libcamera/pipeline/rkisp1/rkisp1.cpp | 45 +++++++++++-------------\n>>   1 file changed, 21 insertions(+), 24 deletions(-)\n>>\n>> diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n>> index 25fbf9f1..c1522ca6 100644\n>> --- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n>> +++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n>> @@ -828,59 +828,56 @@ int PipelineHandlerRkISP1::start(Camera *camera, [[maybe_unused]] const ControlL\n>>   \n>>   \tret = data->ipa_->start();\n>>   \tif (ret) {\n>> -\t\tfreeBuffers(camera);\n>>   \t\tLOG(RkISP1, Error)\n>>   \t\t\t<< \"Failed to start IPA \" << camera->id();\n>> -\t\treturn ret;\n>> +\t\tgoto ipa_err;\n> \n> Goto's are not great, as they can't cross local variable declarations.\n> I've sent a patch that adds a new utils::Cleaner class (\"[PATCH 1/2]\n> libcamera: utils: Add Cleaner class\") with a sample of how it should be\n> used in this function (\"[PATCH 2/2] pipeline: rkisp1: Use utils::Cleaner\n> to simplify error handling in start\"). Could you have a look and tell me\n> if it solves your problem ?\n\nThanks for this smarter and more elegant proposition. Indeed, this \nsolves my problem and your series got my R-B (for what it's worth :) )\n\nI will use it in the v2 patchset.\n\nXavier\n> \n>>   \t}\n>>   \n>>   \tdata->frame_ = 0;\n>>   \n>>   \tret = param_->streamOn();\n>>   \tif (ret) {\n>> -\t\tdata->ipa_->stop();\n>> -\t\tfreeBuffers(camera);\n>>   \t\tLOG(RkISP1, Error)\n>>   \t\t\t<< \"Failed to start parameters \" << camera->id();\n>> -\t\treturn ret;\n>> +\t\tgoto param_err;\n>>   \t}\n>>   \n>>   \tret = stat_->streamOn();\n>>   \tif (ret) {\n>> -\t\tparam_->streamOff();\n>> -\t\tdata->ipa_->stop();\n>> -\t\tfreeBuffers(camera);\n>>   \t\tLOG(RkISP1, Error)\n>>   \t\t\t<< \"Failed to start statistics \" << camera->id();\n>> -\t\treturn ret;\n>> +\t\tgoto stat_err;\n>>   \t}\n>>   \n>>   \tif (data->mainPath_->isEnabled()) {\n>>   \t\tret = mainPath_.start();\n>> -\t\tif (ret) {\n>> -\t\t\tparam_->streamOff();\n>> -\t\t\tstat_->streamOff();\n>> -\t\t\tdata->ipa_->stop();\n>> -\t\t\tfreeBuffers(camera);\n>> -\t\t\treturn ret;\n>> -\t\t}\n>> +\t\tif (ret)\n>> +\t\t\tgoto main_err;\n>>   \t}\n>>   \n>>   \tif (hasSelfPath_ && data->selfPath_->isEnabled()) {\n>>   \t\tret = selfPath_.start();\n>> -\t\tif (ret) {\n>> -\t\t\tmainPath_.stop();\n>> -\t\t\tparam_->streamOff();\n>> -\t\t\tstat_->streamOff();\n>> -\t\t\tdata->ipa_->stop();\n>> -\t\t\tfreeBuffers(camera);\n>> -\t\t\treturn ret;\n>> -\t\t}\n>> +\t\tif (ret)\n>> +\t\t\tgoto self_err;\n>>   \t}\n>>   \n>>   \tisp_->setFrameStartEnabled(true);\n>>   \n>>   \tactiveCamera_ = camera;\n>> +\tgoto no_err;\n>> +\n>> +self_err:\n>> +\tif (data->mainPath_->isEnabled())\n>> +\t\tmainPath_.stop();\n>> +main_err:\n>> +\tstat_->streamOff();\n>> +stat_err:\n>> +\tparam_->streamOff();\n>> +param_err:\n>> +\tdata->ipa_->stop();\n>> +ipa_err:\n>> +\tfreeBuffers(camera);\n>> +no_err:\n>>   \treturn ret;\n>>   }\n>>   \n>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 3763FBD16B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri,  7 Oct 2022 13:17:40 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 6654E62D0B;\n\tFri,  7 Oct 2022 15:17:39 +0200 (CEST)","from EUR02-HE1-obe.outbound.protection.outlook.com\n\t(mail-eopbgr10059.outbound.protection.outlook.com [40.107.1.59])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id EE71460A88\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri,  7 Oct 2022 15:17:37 +0200 (CEST)","from PAXPR04MB8703.eurprd04.prod.outlook.com\n\t(2603:10a6:102:21e::22)\n\tby VE1PR04MB7407.eurprd04.prod.outlook.com (2603:10a6:800:1ab::5)\n\twith Microsoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.32;\n\tFri, 7 Oct 2022 13:17:35 +0000","from PAXPR04MB8703.eurprd04.prod.outlook.com\n\t([fe80::4f72:a35a:8c60:63f1]) by\n\tPAXPR04MB8703.eurprd04.prod.outlook.com\n\t([fe80::4f72:a35a:8c60:63f1%6]) with mapi id 15.20.5676.034;\n\tFri, 7 Oct 2022 13:17:35 +0000"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1665148659;\n\tbh=gnM6NriKskGcWEMu+bSmuuHKUD4DkNtgiMf6z9Y0muc=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=06QSGqyETb6LDioHKaqoMoGijq47Iyj8n1MzOc2W26lvoCbcPcIWl2KkRnG0vUyuo\n\tOruNNof2SA/Lr+zEvfv9zpSvVg3VuXQOzZoJFp/rCJRlrVu5l4iw84/Aev7kdfLVpi\n\txU1nlZq1OpttM1813/81cWcCJgl1cDTvhZQ9rxD+XDUlRDGYh+o9qVH/DxPDVA3h0F\n\tuzeRFvuL1uptMotHoWR+P09+viSPO0Dm2FL2BZ7x5upPAf+PpPF1ciYvJQ1ww9Jzdc\n\tnRPzpFa1wVmtA+ND44SrzN0ue9xqmzkb5IHNMP71OGjqYdzMO0P0F2ZTQIydM+hrUG\n\toGVC4mUfK6oWA==","v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com;\n\ts=selector2-NXP1-onmicrosoft-com;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n\tbh=LN3M9W6dDEvOW3t/PEjiG5W6Bkiz9NWYnnVAUZS2IKs=;\n\tb=QgBY1VUOclMsGvQphHRVHFUViR7zYf4R4/W3RORjz85lVxXFEE1oU3NavW5l/lUWInG86nUztVoQQjsTfq455lZSvwbC2BAdJECRLompSwxL/l99KTPmlDf3yUNtsat6qhM2a0wrc/7VfLCx1ZsdN+3h3uxNFfvPEgjMFKfK+r0="],"Authentication-Results":["lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=NXP1.onmicrosoft.com\n\theader.i=@NXP1.onmicrosoft.com\n\theader.b=\"QgBY1VUO\"; dkim-atps=neutral","dkim=none (message not signed)\n\theader.d=none;dmarc=none action=none header.from=oss.nxp.com;"],"ARC-Seal":"i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n\tb=dn7S0kLZVBik+/61szAWxJiyKuAjWI4lXp+XS20R1IczcLoUqll0NCi+Yj7g5iQShn4VDrthn+hDyBOrMltfLqK9AaHSO0asjVXn1QlFmPwlpW/W4Jrm5sUi5ignCF8Zs+V9/k0+P2KRrKMFPGykmMB8Wp7E6eK+PubTzeGrs7QAwZ+KZzj7kuMnx9MNMT3K8g4GGJguLwRvCmzFEunGl2QI410l23WNsuxQ5TZDVZi958dfZkdw+HtlCawj7YAtD1/2DIHl/6RzGkdR6VvukW4YaIs9Ni0NOvAwxKC1dYQ4nk/WMU1JT7NonM9xk67SrH6FYIZyF3DvLHSb2yMWug==","ARC-Message-Signature":"i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n\ts=arcselector9901;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n\tbh=LN3M9W6dDEvOW3t/PEjiG5W6Bkiz9NWYnnVAUZS2IKs=;\n\tb=TjW7foxce9AVpfptAat14mXAYaJmxmVMd8DOabkpy2JB4z+cTGH7ykdcZY6yYXhl6BwZVCWyT9WG3fqVyamAeijicIQXwQfhmOU0OQM8rLVpp+/UaX+vkw5CkF0662wDHml+tMEhsqRx5fThnt9gSX48PxXiYNbSnMGVd9EANT8Bfz0n5hZXhQvlTOW1nBoPkfOzykFdnHSvSWXJcDgpE+z2p4Z7e60yBagC5qRrZh+2UlFFwR4qGNJbgvr2Z9HQBgzwoeMOnX3NMCHTHR+GpfrqS9BpxV2AETsJ/ldgw1aN+q1KLzxr5cSOraz0e+PNHyE57Nq3EYyiARwg3hJd/w==","ARC-Authentication-Results":"i=1; mx.microsoft.com 1; spf=pass\n\tsmtp.mailfrom=oss.nxp.com;\n\tdmarc=pass action=none header.from=oss.nxp.com; \n\tdkim=pass header.d=oss.nxp.com; arc=none","Message-ID":"<cf08ec60-e0f0-9c63-52bd-ff4a6c7d9835@oss.nxp.com>","Date":"Fri, 7 Oct 2022 15:17:33 +0200","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101\n\tThunderbird/102.3.1","Content-Language":"en-US, fr","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","References":"<20220908184850.1874303-1-xavier.roumegue@oss.nxp.com>\n\t<20220908184850.1874303-14-xavier.roumegue@oss.nxp.com>\n\t<YzuYCRQd29NyDghi@pendragon.ideasonboard.com>","In-Reply-To":"<YzuYCRQd29NyDghi@pendragon.ideasonboard.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"7bit","X-ClientProxiedBy":"PR1P264CA0170.FRAP264.PROD.OUTLOOK.COM\n\t(2603:10a6:102:347::10) To PAXPR04MB8703.eurprd04.prod.outlook.com\n\t(2603:10a6:102:21e::22)","MIME-Version":"1.0","X-MS-Exchange-MessageSentRepresentingType":"1","X-MS-PublicTrafficType":"Email","X-MS-TrafficTypeDiagnostic":"PAXPR04MB8703:EE_|VE1PR04MB7407:EE_","X-MS-Office365-Filtering-Correlation-Id":"ef55c837-eafc-4052-f40a-08daa8664c5e","X-MS-Exchange-SharedMailbox-RoutingAgent-Processed":"True","X-MS-Exchange-SenderADCheck":"1","X-MS-Exchange-AntiSpam-Relay":"0","X-Microsoft-Antispam":"BCL:0;","X-Microsoft-Antispam-Message-Info":"fE9xRIunr/+26kxT8P4nvrMj1XLitXF3AK+0dzjHuMUXrSFdI7fAMPZS00dnxmRES9cfMH3qN+4Yqzkr0T22r4kI0IhdxOiXsPzD/3u9bLqt/r5JZCLUPftvi8k6w0YbcbCu7KcANLN6UMb5GP2SeAtg2FVI5tc7JorICrsMBJOfV5XY8r57jb7tQ4ej8xM1q4E0agQFZTUz2IO7A6b6ZsCRQGAh+7+d2wfyaB8Z30tA3ItVOLFlev2nsNzjGqPKxiSmFTphd6b1dr3LqMfc3q2MqNNxgSXFxcUI2yAJ9wHWrpmDtru1SneOahLeFfX2Y+ydScBRK2H6oCxsxS0fthhLW95YaZ2CkKVZNOgWoSs3f/JSgXs4yOxGIEi4sPObQBRsmj2sA4Gh+SGTaT2zSiBhmBRr60u/GLZtBBYWPILWcC6bh7jZyS0ntPGpNxTmUStnmwo8TG2295BHKiq/VUnGMyuSXiLIYUucfmjn6oHV0U5sLQZRZX8t8r6vWpew/bJV516xGaQQjLnnPhLX7Kn+6Pu1BpxdEVgNeMHiz28lxbXD4qpwvMD30wEEzW+P4bS2Su44LHvrr+hYdq/Vx2ZoeWXTpwUDp1ZD9gHPDUKN+SmABXBOojp2BJGhfoYPFY2+g5LuLELp9nuIJE4+BUh3+5yzzvhWqa3ZMGRcA3TIsLbnqPauqDpB7t2sy0edwjzr9RAHrehciEimUU9/vYabFRlLlGkiSKXdQTkM/qhoDafBdgDuYjhACmOvGTZjSsGMNL3RLlHLhoT3smAL+r5HhC31fR9fIr/8m3mnmSA=","X-Forefront-Antispam-Report":"CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n\tIPV:NLI; SFV:NSPM; H:PAXPR04MB8703.eurprd04.prod.outlook.com; PTR:;\n\tCAT:NONE; \n\tSFS:(13230022)(4636009)(136003)(376002)(39860400002)(366004)(346002)(396003)(451199015)(6506007)(53546011)(2906002)(6512007)(52116002)(8936002)(6486002)(38100700002)(31696002)(41300700001)(5660300002)(478600001)(186003)(2616005)(83380400001)(86362001)(66556008)(6916009)(31686004)(316002)(66946007)(8676002)(4326008)(66476007)(45980500001)(43740500002);\n\tDIR:OUT; SFP:1101; ","X-MS-Exchange-AntiSpam-MessageData-ChunkCount":"1","X-MS-Exchange-AntiSpam-MessageData-0":"=?utf-8?q?N/nB5oGz9pTDFQcS0X/R+tB0l?=\n\t=?utf-8?q?SBx0f3sILjLqDXRJIsvEZBsWo3wh7NHThhbH4p4G7bQWuDKlyE2VY9k8?=\n\t=?utf-8?q?bVMC4ZxtU2YPD2Lljmcb7i7w5e5M7pqhM7TZBxLS93wEDMsLZK1b75N+?=\n\t=?utf-8?q?xOjn+DBMFZLIBskEVQcJuUumefiE9U98btVjTcqUqTk3VMDZ2nKO/8Lu?=\n\t=?utf-8?q?SyYLAu5+aveBY8hbMpQ54KOKKmNuINhffSZa0REQBe+NMcQ8dgoUQaPP?=\n\t=?utf-8?q?5jMyZ7YFevnr4tz0X7eTae/Gr7kZJD+1IHod1Uu51rRVOi78rqzKbmBK?=\n\t=?utf-8?q?bMn1lXRWNhEybpMg3FWSyT4s20YS6JtlzrTyINgtPLmsCs/RweR7HC35?=\n\t=?utf-8?q?p64i6fsn1r9xcWWX15Iy0kO66YxZGUE4bhUt67ICGxOezbJzoksEIG/l?=\n\t=?utf-8?q?W6oXgB1iOrWiK1ghhq+H97DH0FWV47FLsLcqaMSgjeX0UHf2el9dO3nw?=\n\t=?utf-8?q?LPEi8irCrOvkfut1NwXN300fBzmX/1yT6fHUCkWe7OYhxk3h8GnfVfbd?=\n\t=?utf-8?q?BKYUIl3MFilsnQ9uSlicEvOU1uFWMa+kNiVLm9p0pCo80u0UH0O372Rp?=\n\t=?utf-8?q?64g0az8jZdoENYWKTPhRjTkPqaOR+IIRqphY7AYMltCLwjqJ5BtP0Va4?=\n\t=?utf-8?q?oaCoweeEPdsQIWePbyX1xS2jfmHMsDQOURUkOcz7H4UOf706D0LpFqQu?=\n\t=?utf-8?q?bmd8sRRPUO2tZORYm1/3txdJzCJDMe6stxBre4sVO9jn7orSDsB9xyct?=\n\t=?utf-8?q?irUgiV2b5UdODn2qeExAMUIY3Q90UeKk+8sqBTk5FYgKnyCQcfVYnzqG?=\n\t=?utf-8?q?fyMKPVrmvIKAm+RKKJp0oEXRKOyUqpNc4HOFthXtw7iHynM0CyAKCn0Z?=\n\t=?utf-8?q?Fm2YOP52Z/Bfr6Rgm5sZXk0bOpUWUVHvwtsiLLWI2mgtNMjjLe6vCtUJ?=\n\t=?utf-8?q?rR0rSUmcnGiAx23mki325t62UsGxqX1cPRyo9xQxrl3YvqoVbft2J2aY?=\n\t=?utf-8?q?HmyRoljKmZbtkyaxqWvcmPEBbicUSFMkpHTqQl5fKDZiaMt04IGWbYQp?=\n\t=?utf-8?q?s+sPeuVbKGFIuyFNavyKrXyKjIQzOPD+BtECRmWZQ/jlPYSpQ/bEhs6E?=\n\t=?utf-8?q?wmGqoHaUNvYP0M5c4MArx6NGSelbnkoSDkg6cvtkmuDRYqaIw67jNhJr?=\n\t=?utf-8?q?eh3m3cf52PqCHuMU7WGBsQ4SCUDg2Gnp62EsEhaihQYrbBEFZYr4L7Dl?=\n\t=?utf-8?q?kejMp1jQEM5s/GE3uAhiD3RTLfRMDi6Yb8c3BkN+fcVzYAcVXBR14wbv?=\n\t=?utf-8?q?AwJ5txx4ayIHP7lqTNFe01KxD1uwLV0GAB5ysy0B3EZ2sW/0odtssw4o?=\n\t=?utf-8?q?HzMHXZ1RfahMDa0B9SXwMKtPdaeyKwtV+jQB4ThsQIz6GfqvAUUG63U3?=\n\t=?utf-8?q?UWEAPeXNB7YnCti5aPPgfH18X6GkOvjHjcb0oBg1z46Z98YzYQNzhlGW?=\n\t=?utf-8?q?ItR+t5otFUsaPfsa0/TFpBUAUALMV7JHg3Ulh9tqClkZL8BntaT5B1p6?=\n\t=?utf-8?q?aqntxhafRuT6FMnsAvBByj1JVSyI6O9iDIy+MftFL4utCOiP5C11pkSV?=\n\t=?utf-8?q?087vFNeas3FS8X+0NIFDdJ45+hnhcWK2MS26pNym9T4iMPQdER7bLCE6?=\n\t=?utf-8?q?78VpeclhKa8bWVIGFfhTD4gBiEJ3Z39ueQtYfsTtc0tdq91ZXSr/DFtv?=\n\t=?utf-8?q?ikEzU/zYu+c90TYCgDYUxqR22oivJiQzlQHCA=3D=3D?=","X-OriginatorOrg":"oss.nxp.com","X-MS-Exchange-CrossTenant-Network-Message-Id":"ef55c837-eafc-4052-f40a-08daa8664c5e","X-MS-Exchange-CrossTenant-AuthSource":"PAXPR04MB8703.eurprd04.prod.outlook.com","X-MS-Exchange-CrossTenant-AuthAs":"Internal","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"07 Oct 2022 13:17:35.3079\n\t(UTC)","X-MS-Exchange-CrossTenant-FromEntityHeader":"Hosted","X-MS-Exchange-CrossTenant-Id":"686ea1d3-bc2b-4c6f-a92c-d99c5c301635","X-MS-Exchange-CrossTenant-MailboxType":"HOSTED","X-MS-Exchange-CrossTenant-UserPrincipalName":"jPbu+sOOMwBqcyT15XB0NlvdzRHGhoFk789mPm4J1WOJSPdONBMVqaYJunxbTpE5Dsi8FX1CPjq616bnX4y/4A==","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"VE1PR04MB7407","Subject":"Re: [libcamera-devel] [PATCH 13/14] libcamera: pipeline: rkisp1:\n\tFactorize errors handling path on start()","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","From":"\"Xavier Roumegue \\(OSS\\) via libcamera-devel\"\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"\"Xavier Roumegue \\(OSS\\)\" <xavier.roumegue@oss.nxp.com>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]