From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.3 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_PASS,UNWANTED_LANGUAGE_BODY,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 858AEC10F12 for ; Wed, 17 Apr 2019 09:46:30 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 3D3FC217D4 for ; Wed, 17 Apr 2019 09:46:30 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=synopsys.com header.i=@synopsys.com header.b="BGY8T3hL" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729039AbfDQJq3 (ORCPT ); Wed, 17 Apr 2019 05:46:29 -0400 Received: from dc2-smtprelay2.synopsys.com ([198.182.61.142]:49954 "EHLO smtprelay-out1.synopsys.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727013AbfDQJq3 (ORCPT ); Wed, 17 Apr 2019 05:46:29 -0400 X-Greylist: delayed 432 seconds by postgrey-1.27 at vger.kernel.org; Wed, 17 Apr 2019 05:46:28 EDT Received: from mailhost.synopsys.com (badc-mailhost1.synopsys.com [10.192.0.17]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by smtprelay-out1.synopsys.com (Postfix) with ESMTPS id F2C47C0B29; Wed, 17 Apr 2019 09:46:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=synopsys.com; s=mail; t=1555494388; bh=DR4OYFZ9aYHuajuVxLEeyKQTmujDSDWiP2Yzyf3I/FQ=; h=From:To:CC:Subject:Date:References:In-Reply-To:From; b=BGY8T3hLWKndJzswyTQ4sqWiLSEaNFjIjBX1DgNErgRjeNfe7TnmcNy9zXU7tcGhk feLWLHlSYZ/WbNtOtkflKv+1AREZ57Fb3YscjUOHugVe+oOgnLpxjE1ACaQwv5TuR3 C/M4tPWULRe8OujW/4MLLl3iHpxjHWJ+OV5aj+9MMJs5HJExknN1mz+YkSw938Ks6N f90tFWmL6JIoMcFII8JxS71V89HSyLNCv2TYrvXgDLSxSeXqIvIP4I0QvnUSitlMar qDZpfNLaSquDSmwsqtI0omUYcV96fTM+qy8nV37zo2c74AveMSKTSEYzRSXaqDY9t1 vrQ/KmCG80VSA== Received: from US01WEHTC3.internal.synopsys.com (us01wehtc3.internal.synopsys.com [10.15.84.232]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mailhost.synopsys.com (Postfix) with ESMTPS id B4871A0079; Wed, 17 Apr 2019 09:46:22 +0000 (UTC) Received: from DE02WEHTCB.internal.synopsys.com (10.225.19.94) by US01WEHTC3.internal.synopsys.com (10.15.84.232) with Microsoft SMTP Server (TLS) id 14.3.408.0; Wed, 17 Apr 2019 02:46:22 -0700 Received: from DE02WEMBXA.internal.synopsys.com ([fe80::a014:7216:77d:d55c]) by DE02WEHTCB.internal.synopsys.com ([::1]) with mapi id 14.03.0415.000; Wed, 17 Apr 2019 11:46:20 +0200 From: Gustavo Pimentel To: Vidya Sagar , Gustavo Pimentel , "bhelgaas@google.com" , "robh+dt@kernel.org" , "mark.rutland@arm.com" , "thierry.reding@gmail.com" , "jonathanh@nvidia.com" , "kishon@ti.com" , "catalin.marinas@arm.com" , "will.deacon@arm.com" , "lorenzo.pieralisi@arm.com" , "jingoohan1@gmail.com" CC: "mperttunen@nvidia.com" , "linux-pci@vger.kernel.org" , "devicetree@vger.kernel.org" , "linux-tegra@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "kthota@nvidia.com" , "mmaddireddy@nvidia.com" , "sagar.tv@gmail.com" Subject: RE: [PATCH V3 06/16] PCI: dwc: Add ext config space capability search API Thread-Topic: [PATCH V3 06/16] PCI: dwc: Add ext config space capability search API Thread-Index: AQHU9IqSVoqLCdkuM06RUXgoLFzYCqZAFo1A///gdACAACLFcA== Date: Wed, 17 Apr 2019 09:46:20 +0000 Message-ID: <305100E33629484CBB767107E4246BBB0A22C104@de02wembxa.internal.synopsys.com> References: <20190416192730.15681-1-vidyas@nvidia.com> <20190416192730.15681-7-vidyas@nvidia.com> <305100E33629484CBB767107E4246BBB0A22C0A7@de02wembxa.internal.synopsys.com> <97924cc1-0ccb-52c3-5396-accd516f91d4@nvidia.com> In-Reply-To: <97924cc1-0ccb-52c3-5396-accd516f91d4@nvidia.com> Accept-Language: pt-PT, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-dg-ref: =?utf-8?B?UEcxbGRHRStQR0YwSUc1dFBTSmliMlI1TG5SNGRDSWdjRDBpWXpwY2RYTmxj?= =?utf-8?B?bk5jWjNWemRHRjJiMXhoY0hCa1lYUmhYSEp2WVcxcGJtZGNNRGxrT0RRNVlq?= =?utf-8?B?WXRNekprTXkwMFlUUXdMVGcxWldVdE5tSTROR0poTWpsbE16VmlYRzF6WjNO?= =?utf-8?B?Y2JYTm5MV0UxTlRjeU56VXlMVFl3WmpVdE1URmxPUzA1T0Rka0xXWTRPVFJq?= =?utf-8?B?TWpjek9EQTBNbHhoYldVdGRHVnpkRnhoTlRVM01qYzFNeTAyTUdZMUxURXha?= =?utf-8?B?VGt0T1RnM1pDMW1PRGswWXpJM016Z3dOREppYjJSNUxuUjRkQ0lnYzNvOUlq?= =?utf-8?B?TXpPRFFpSUhROUlqRXpNVGs1T1RZM09UYzROamcwT0RZME5DSWdhRDBpYWxO?= =?utf-8?B?NE5GSndaRE56VEVwWk5UUXpNWFpzY0VwVloweEljRGhWUFNJZ2FXUTlJaUln?= =?utf-8?B?WW13OUlqQWlJR0p2UFNJeElpQmphVDBpWTBGQlFVRkZVa2hWTVZKVFVsVkdU?= =?utf-8?B?a05uVlVGQlFsRktRVUZEUlVWVGJHOUJkbGhWUVZGVVVVZEdWVmhHTTNnNVFr?= =?utf-8?B?NUJXVlpTWTFobVNEQlBRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVaEJRVUZCUTJ0RFFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVWQlFWRkJRa0ZCUVVGR2RHSkNjSGRCUVVGQlFVRkJRVUZCUVVGQlFVRktO?= =?utf-8?B?RUZCUVVKdFFVZHJRV0puUW1oQlJ6UkJXWGRDYkVGR09FRmpRVUp6UVVkRlFX?= =?utf-8?B?Sm5RblZCUjJ0QlltZENia0ZHT0VGa2QwSm9RVWhSUVZwUlFubEJSekJCV1ZG?= =?utf-8?B?Q2VVRkhjMEZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUlVGQlFVRkJRVUZCUVVG?= =?utf-8?B?blFVRkJRVUZCYm1kQlFVRkhXVUZpZDBJeFFVYzBRVnBCUW5sQlNHdEJXSGRD?= =?utf-8?B?ZDBGSFJVRmpaMEl3UVVjMFFWcFJRbmxCU0UxQldIZENia0ZIV1VGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFWRkJR?= =?utf-8?B?VUZCUVVGQlFVRkRRVUZCUVVGQlEyVkJRVUZCV21kQ2RrRklWVUZpWjBKclFV?= =?utf-8?B?aEpRV1ZSUW1aQlNFRkJXVkZDZVVGSVVVRmlaMEpzUVVoSlFXTjNRbVpCU0Ux?= =?utf-8?B?QldWRkNkRUZJVFVGa1VVSjFRVWRqUVZoM1FtcEJSemhCWW1kQ2JVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUpCUVVGQlFVRkJRVUZCU1VGQlFVRkJRVW8wUVVGQlFtMUJSemhC?= =?utf-8?B?WkZGQ2RVRkhVVUZqWjBJMVFVWTRRV05CUW1oQlNFbEJaRUZDZFVGSFZVRmpa?= =?utf-8?B?MEo2UVVZNFFXTjNRbWhCUnpCQlkzZENNVUZITkVGYWQwSm1RVWhKUVZwUlFu?= =?utf-8?B?cEJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGRlFVRkJRVUZCUVVGQlFXZEJRVUZCUVVGdVow?= =?utf-8?B?RkJRVWRaUVdKM1FqRkJSelJCV2tGQ2VVRklhMEZZZDBKM1FVZEZRV05uUWpC?= =?utf-8?B?QlJ6UkJXbEZDZVVGSVRVRllkMEo2UVVjd1FXRlJRbXBCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJVVUZCUVVGQlFVRkJRVU5C?= =?utf-8?B?UVVGQlFVRkRaVUZCUVVGYVowSjJRVWhWUVdKblFtdEJTRWxCWlZGQ1prRklR?= =?utf-8?B?VUZaVVVKNVFVaFJRV0puUW14QlNFbEJZM2RDWmtGSVRVRmtRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUWtGQlFV?= =?utf-8?B?RkJRVUZCUVVGSlFVRkJRVUZCU2pSQlFVRkNiVUZIT0VGa1VVSjFRVWRSUVdO?= =?utf-8?B?blFqVkJSamhCWTBGQ2FFRklTVUZrUVVKMVFVZFZRV05uUW5wQlJqaEJaRUZD?= =?utf-8?B?ZWtGSE1FRlpkMEZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVVkJRVUZCUVVGQlFVRkJaMEZCUVVGQlFXNW5RVUZCUjFsQlluZENN?= =?utf-8?B?VUZITkVGYVFVSjVRVWhyUVZoM1FuZEJSMFZCWTJkQ01FRkhORUZhVVVKNVFV?= =?utf-8?B?aE5RVmgzUWpGQlJ6QkJXWGRCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZSUVVGQlFVRkJRVUZCUTBGQlFVRkJRVU5sUVVG?= =?utf-8?B?QlFWcDNRakJCU0UxQldIZENkMEZJU1VGaWQwSnJRVWhWUVZsM1FqQkJSamhC?= =?utf-8?B?WkVGQ2VVRkhSVUZoVVVKMVFVZHJRV0puUW01QlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQ1FVRkJRVUZCUVVGQlFVbEJR?= =?utf-8?B?VUZCUVVGS05FRkJRVUo2UVVkRlFXSkJRbXhCU0UxQldIZENhRUZIVFVGWmQw?= =?utf-8?B?SjJRVWhWUVdKblFqQkJSamhCWTBGQ2MwRkhSVUZpWjBGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJSVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZuUVVGQlFVRkJibWRCUVVGSVRVRlpVVUp6UVVkVlFXTjNRbVpC?= =?utf-8?B?U0VWQlpGRkNka0ZJVVVGYVVVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVZGQlFVRkJRVUZCUVVGRFFVRkJRVUZCUTJWQlFVRkJZM2RDZFVGSVFV?= =?utf-8?B?RmpkMEptUVVkM1FXRlJRbXBCUjFWQlltZENla0ZIVlVGWWQwSXdRVWRWUVdO?= =?utf-8?B?blFuUkJSamhCVFZGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVSkJRVUZCUVVGQlFVRkJTVUZCUVVGQlFVbzBRVUZC?= =?utf-8?B?UW5wQlJ6UkJZMEZDZWtGR09FRmlRVUp3UVVkTlFWcFJRblZCU0UxQldsRkNa?= =?utf-8?B?a0ZJVVVGYVVVSjVRVWN3UVZoM1FucEJTRkZCWkZGQ2EwRkhWVUZpWjBJd1FV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZGUVVGQlFVRkJRVUZCUVdkQlFV?= =?utf-8?B?RkJRVUZ1WjBGQlFVaFpRVnAzUW1aQlIzTkJXbEZDTlVGSVkwRmlkMEo1UVVk?= =?utf-8?B?UlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlVVRkJRVUZC?= =?utf-8?Q?QUFBQUNBQUFBQUFBPSIvPjwvbWV0YT4=3D?= x-originating-ip: [10.107.25.131] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Sender: linux-pci-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org T24gV2VkLCBBcHIgMTcsIDIwMTkgYXQgMTA6MzQ6NTIsIFZpZHlhIFNhZ2FyIDx2aWR5YXNAbnZp ZGlhLmNvbT4gd3JvdGU6DQoNCj4gT24gNC8xNy8yMDE5IDI6NTcgUE0sIEd1c3Rhdm8gUGltZW50 ZWwgd3JvdGU6DQo+ID4gT24gVHVlLCBBcHIgMTYsIDIwMTkgYXQgMjA6Mjc6MjAsIFZpZHlhIFNh Z2FyIDx2aWR5YXNAbnZpZGlhLmNvbT4gd3JvdGU6DQo+ID4gDQo+ID4+IEFkZCBleHRlbmRlZCBj b25maWd1cmF0aW9uIHNwYWNlIGNhcGFiaWxpdHkgc2VhcmNoIEFQSSB1c2luZyBzdHJ1Y3QgZHdf cGNpZSAqDQo+ID4+IHBvaW50ZXINCj4gPj4NCj4gPj4gU2lnbmVkLW9mZi1ieTogVmlkeWEgU2Fn YXIgPHZpZHlhc0BudmlkaWEuY29tPg0KPiA+PiAtLS0NCj4gPj4gQ2hhbmdlcyBmcm9tIFt2Ml06 DQo+ID4+ICogTm9uZQ0KPiA+Pg0KPiA+PiBDaGFuZ2VzIGZyb20gW3YxXToNCj4gPj4gKiBUaGlz IGlzIGEgbmV3IHBhdGNoIGluIHYyIHNlcmllcw0KPiA+Pg0KPiA+PiAgIGRyaXZlcnMvcGNpL2Nv bnRyb2xsZXIvZHdjL3BjaWUtZGVzaWdud2FyZS5jIHwgNDEgKysrKysrKysrKysrKysrKysrKysN Cj4gPj4gICBkcml2ZXJzL3BjaS9jb250cm9sbGVyL2R3Yy9wY2llLWRlc2lnbndhcmUuaCB8ICAx ICsNCj4gPj4gICAyIGZpbGVzIGNoYW5nZWQsIDQyIGluc2VydGlvbnMoKykNCj4gPj4NCj4gPj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvZHdjL3BjaWUtZGVzaWdud2FyZS5j IGIvZHJpdmVycy9wY2kvY29udHJvbGxlci9kd2MvcGNpZS1kZXNpZ253YXJlLmMNCj4gPj4gaW5k ZXggZDY4YzEyM2U0MDljLi40NGMwYmEwNzg0NTIgMTAwNjQ0DQo+ID4+IC0tLSBhL2RyaXZlcnMv cGNpL2NvbnRyb2xsZXIvZHdjL3BjaWUtZGVzaWdud2FyZS5jDQo+ID4+ICsrKyBiL2RyaXZlcnMv cGNpL2NvbnRyb2xsZXIvZHdjL3BjaWUtZGVzaWdud2FyZS5jDQo+ID4+IEBAIC01Myw2ICs1Myw0 NyBAQCB1OCBkd19wY2llX2ZpbmRfY2FwYWJpbGl0eShzdHJ1Y3QgZHdfcGNpZSAqcGNpLCB1OCBj YXApDQo+ID4+ICAgCXJldHVybiBfX2R3X3BjaWVfZmluZF9uZXh0X2NhcChwY2ksIG5leHRfY2Fw X3B0ciwgY2FwKTsNCj4gPj4gICB9DQo+ID4+ICAgDQo+ID4+ICtzdGF0aWMgaW50IGR3X3BjaWVf ZmluZF9uZXh0X2V4dF9jYXBhYmlsaXR5KHN0cnVjdCBkd19wY2llICpwY2ksIGludCBzdGFydCwN Cj4gPj4gKwkJCQkJICAgIGludCBjYXApDQo+ID4+ICt7DQo+ID4+ICsJdTMyIGhlYWRlcjsNCj4g Pj4gKwlpbnQgdHRsOw0KPiA+PiArCWludCBwb3MgPSBQQ0lfQ0ZHX1NQQUNFX1NJWkU7DQo+ID4+ ICsNCj4gPj4gKwkvKiBtaW5pbXVtIDggYnl0ZXMgcGVyIGNhcGFiaWxpdHkgKi8NCj4gPj4gKwl0 dGwgPSAoUENJX0NGR19TUEFDRV9FWFBfU0laRSAtIFBDSV9DRkdfU1BBQ0VfU0laRSkgLyA4Ow0K PiA+PiArDQo+ID4+ICsJaWYgKHN0YXJ0KQ0KPiA+PiArCQlwb3MgPSBzdGFydDsNCj4gPj4gKw0K PiA+PiArCWhlYWRlciA9IGR3X3BjaWVfcmVhZGxfZGJpKHBjaSwgcG9zKTsNCj4gPj4gKwkvKg0K PiA+PiArCSAqIElmIHdlIGhhdmUgbm8gY2FwYWJpbGl0aWVzLCB0aGlzIGlzIGluZGljYXRlZCBi eSBjYXAgSUQsDQo+ID4+ICsJICogY2FwIHZlcnNpb24gYW5kIG5leHQgcG9pbnRlciBhbGwgYmVp bmcgMC4NCj4gPj4gKwkgKi8NCj4gPj4gKwlpZiAoaGVhZGVyID09IDApDQo+ID4+ICsJCXJldHVy biAwOw0KPiA+PiArDQo+ID4+ICsJd2hpbGUgKHR0bC0tID4gMCkgew0KPiA+PiArCQlpZiAoUENJ X0VYVF9DQVBfSUQoaGVhZGVyKSA9PSBjYXAgJiYgcG9zICE9IHN0YXJ0KQ0KPiA+PiArCQkJcmV0 dXJuIHBvczsNCj4gPj4gKw0KPiA+PiArCQlwb3MgPSBQQ0lfRVhUX0NBUF9ORVhUKGhlYWRlcik7 DQo+ID4+ICsJCWlmIChwb3MgPCBQQ0lfQ0ZHX1NQQUNFX1NJWkUpDQo+ID4+ICsJCQlicmVhazsN Cj4gPj4gKw0KPiA+PiArCQloZWFkZXIgPSBkd19wY2llX3JlYWRsX2RiaShwY2ksIHBvcyk7DQo+ ID4+ICsJfQ0KPiA+PiArDQo+ID4+ICsJcmV0dXJuIDA7DQo+ID4+ICt9DQo+ID4+ICsNCj4gPj4g K2ludCBkd19wY2llX2ZpbmRfZXh0X2NhcGFiaWxpdHkoc3RydWN0IGR3X3BjaWUgKnBjaSwgaW50 IGNhcCkNCj4gPj4gK3sNCj4gPj4gKwlyZXR1cm4gZHdfcGNpZV9maW5kX25leHRfZXh0X2NhcGFi aWxpdHkocGNpLCAwLCBjYXApOw0KPiA+PiArfQ0KPiA+PiArRVhQT1JUX1NZTUJPTF9HUEwoZHdf cGNpZV9maW5kX2V4dF9jYXBhYmlsaXR5KTsNCj4gPj4gKw0KPiA+PiAgIGludCBkd19wY2llX3Jl YWQodm9pZCBfX2lvbWVtICphZGRyLCBpbnQgc2l6ZSwgdTMyICp2YWwpDQo+ID4+ICAgew0KPiA+ PiAgIAlpZiAoIUlTX0FMSUdORUQoKHVpbnRwdHJfdClhZGRyLCBzaXplKSkgew0KPiA+PiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9wY2kvY29udHJvbGxlci9kd2MvcGNpZS1kZXNpZ253YXJlLmggYi9k cml2ZXJzL3BjaS9jb250cm9sbGVyL2R3Yy9wY2llLWRlc2lnbndhcmUuaA0KPiA+PiBpbmRleCA0 Y2NkNGM3MDZkZGIuLmZhNDFkNjc1YzQ4ZiAxMDA2NDQNCj4gPj4gLS0tIGEvZHJpdmVycy9wY2kv Y29udHJvbGxlci9kd2MvcGNpZS1kZXNpZ253YXJlLmgNCj4gPj4gKysrIGIvZHJpdmVycy9wY2kv Y29udHJvbGxlci9kd2MvcGNpZS1kZXNpZ253YXJlLmgNCj4gPj4gQEAgLTI0OCw2ICsyNDgsNyBA QCBzdHJ1Y3QgZHdfcGNpZSB7DQo+ID4+ICAgCQljb250YWluZXJfb2YoKGVuZHBvaW50KSwgc3Ry dWN0IGR3X3BjaWUsIGVwKQ0KPiA+PiAgIA0KPiA+PiAgIHU4IGR3X3BjaWVfZmluZF9jYXBhYmls aXR5KHN0cnVjdCBkd19wY2llICpwY2ksIHU4IGNhcCk7DQo+ID4+ICtpbnQgZHdfcGNpZV9maW5k X2V4dF9jYXBhYmlsaXR5KHN0cnVjdCBkd19wY2llICpwY2ksIGludCBjYXApOw0KPiA+PiAgIA0K PiA+PiAgIGludCBkd19wY2llX3JlYWQodm9pZCBfX2lvbWVtICphZGRyLCBpbnQgc2l6ZSwgdTMy ICp2YWwpOw0KPiA+PiAgIGludCBkd19wY2llX3dyaXRlKHZvaWQgX19pb21lbSAqYWRkciwgaW50 IHNpemUsIHUzMiB2YWwpOw0KPiA+PiAtLSANCj4gPj4gMi4xNy4xDQo+ID4gDQo+ID4gVGhpcyBl eHQgY2FwYWJpbGl0eSBmdW5jdGlvbiBpcyBhaW1lZCB0byBiZSB1c2VkIGJ5IHRoZSBFUCBhbHNv Pw0KPiA+IA0KPiBZZXMuIEl0IGNhbiBiZSB1c2VkIGJ5IEVQIGFsc28uIEhlbmNlIEkgYWRkZWQg aXQgaW4gY29tbW9uIGZpbGVzLg0KDQoNCkFja2VkLWJ5OiBHdXN0YXZvIFBpbWVudGVsIDxndXN0 YXZvLnBpbWVudGVsQHN5bm9wc3lzLmNvbT4NCg0KDQo=