From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 4425A45AA3; Fri, 4 Oct 2024 20:19:16 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 304DE42EAF; Fri, 4 Oct 2024 20:19:16 +0200 (CEST) Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.12]) by mails.dpdk.org (Postfix) with ESMTP id 887E44028E for ; Fri, 4 Oct 2024 20:19:14 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1728065955; x=1759601955; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=bEUCCGzC2+JTus81gP3G1RoDEfyu1oy+modlyNRfp0E=; b=VdpLnwdci3xlBs+KAzc0GdXm84sK6zSQF5EDw0dqntf88/yxESKQzTIO psMInwj4IY0x4B38MsokA2zXtx/uNEKeSWS84jRtg3lMLpJSCFGRRURAi Fe6ew0taBe2gbF4AMD8iU26JC125aaVfYBYdR0B+XFFI5RIfE5CdAJQ9D o3njXdokiYbnScvNADIFZJW4PPhpRInVwjhkeBe92e6uBRhxkM4bhaOl2 bzF245wL8A5dL/ch8FrMBAYmbo6Y7nGHsJNxv+SZMfxopUcRJ7pABU4he ENE4pigYnsj2argTqTBqHsoWZDh0bIEpxO3/Pf6jQ1Ake1pGtnmW3Kuoh A==; X-CSE-ConnectionGUID: yhnp/Q70SL26ieLG5Bb/BQ== X-CSE-MsgGUID: eKRpZQ5sRM2XMaC1HGpf2g== X-IronPort-AV: E=McAfee;i="6700,10204,11215"; a="38690307" X-IronPort-AV: E=Sophos;i="6.11,178,1725346800"; d="scan'208";a="38690307" Received: from orviesa007.jf.intel.com ([10.64.159.147]) by orvoesa104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Oct 2024 11:19:14 -0700 X-CSE-ConnectionGUID: x7zRa7MhRHi8MccY5IFYFQ== X-CSE-MsgGUID: K9seTxrgSaClqWRbzfMBYQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.11,178,1725346800"; d="scan'208";a="75214539" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orviesa007.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 04 Oct 2024 11:19:14 -0700 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 4 Oct 2024 11:19:12 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39 via Frontend Transport; Fri, 4 Oct 2024 11:19:12 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.41) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Fri, 4 Oct 2024 11:19:12 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ty7NKcXkJZFoJgBgDN0WVn6rqv+ZBvvDP2QpUmXVtDJAqk/a7UdWkGdasCOlQrSIOdDY6piLteKLjcJRGhkvgiveZhWIG4Ffb5oLx3yhKS32UTXY2RSaxSWnvByly7nLagGlsZvK3cn9cDcnZ1NrZqvaDXiVNrUMKTfEOyyE/RlIJ3yt+Awwx+nkXtbo5VCKDPqJ/EiRKJTqaExZ7tBcYA4t5DDvcg19yTiKI4GIcU7d8vFCDQTbuahlx7/wrb+mHX7rJu9tDWW28GAyrwM4KCJlFdF6IcmcWw3Ldr5YM2Yfcl3/rlXUvYa6zrLvY0+7xRh43hsXIjIezFaf0FkO5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=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; bh=bEUCCGzC2+JTus81gP3G1RoDEfyu1oy+modlyNRfp0E=; b=vCB6CBsjmRgKBhOTxXILPvt3anjG1ek9Uam4xBOId6onhGNUV3+S0GJtDVD5B5mZzz2TUABQTiqH+XvP3XWq2e8gxOoJzkoFUjHvIUqkhS/YF5ViR+Cfj/jIHxO1ihgOKYIA9tYRfra36jI1CAyP6qTxsJHxtLJc6/akujsN50o6PRPH5+Xq9pH2DDOvMr8pRWMjkEt4NBG53kNPOJssLMr2H374XtsTF1IdH3EMyZn4nWBvohtf1z9SbNPFXDr61cbhfpS4HiXDcVss6eT2sW+yvC9/IqJZArJ43c7imeGR23CujS4sRaubp7I6n1WUay9KzgMhAinx+okPUIacNg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from SJ0PR11MB6694.namprd11.prod.outlook.com (2603:10b6:a03:44d::17) by MW4PR11MB7126.namprd11.prod.outlook.com (2603:10b6:303:222::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8026.16; Fri, 4 Oct 2024 18:19:04 +0000 Received: from SJ0PR11MB6694.namprd11.prod.outlook.com ([fe80::37fd:2328:c9e0:9d57]) by SJ0PR11MB6694.namprd11.prod.outlook.com ([fe80::37fd:2328:c9e0:9d57%4]) with mapi id 15.20.8026.016; Fri, 4 Oct 2024 18:19:04 +0000 From: "Chautru, Nicolas" To: Maxime Coquelin , "Vargas, Hernan" , "dev@dpdk.org" , "gakhil@marvell.com" , "trix@redhat.com" CC: "Zhang, Qi Z" Subject: RE: [PATCH v2 02/10] baseband/acc: queue allocation refactor Thread-Topic: [PATCH v2 02/10] baseband/acc: queue allocation refactor Thread-Index: AQHbFdZqjkZi2vseFEuU/GWmsUJxebJ2gIaAgABkdRA= Date: Fri, 4 Oct 2024 18:19:04 +0000 Message-ID: References: <20241003204912.131319-1-hernan.vargas@intel.com> <20241003204912.131319-3-hernan.vargas@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SJ0PR11MB6694:EE_|MW4PR11MB7126:EE_ x-ms-office365-filtering-correlation-id: 981a76ff-b039-44ec-f746-08dce4a1075e x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|376014|1800799024|366016|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?TFFYR05HblF4YU9iVkllODBUNm01TXQvVlJ3cWRHSUgyRHZHMlVjNDBONmR1?= =?utf-8?B?TFVWaGNpYmlsMGFnYnBIa2crZEZFemsxSTZ0d1F6WUJIekJJOUQzTjJQSmJ2?= =?utf-8?B?VmltejdQYWh0N2svZjR0c0Zmb1RrNzQ5T3JIREJxUmh2d3NXc3IxbHNnZ1Rr?= =?utf-8?B?Ty9tamlWL00wenB5MGpIN0p1dFdkVjc0SitSeVVyOHh6YXB6WEFQSS9rc0Y3?= =?utf-8?B?WGtMeTYreHR2WStPSHV5Q0NoTXpYVVRuR0k5TUR1MFY2Wjl4Y0pieGZjSmkv?= =?utf-8?B?VE4reVptbWlZUjJYWEdRVW1rUEpwU3ZQcUl3Mlo4bTgveEIyeUlJSDYrbGRH?= =?utf-8?B?L21hYjdpWHlMRDdORXNrU0hDT0o3a09FN2NXVGtIOExOQm4wL2EwRmF2MktI?= =?utf-8?B?ZWhBY0RlNE8xUVd3czBRZ0ovbXRQZWhVV3lacHo3dHJMQkcwWWdQYUhXa0ZM?= =?utf-8?B?TWpVYzVRTU5vUmZTMmNYd2tpV2hteWV6QnkxNElnZmc2UVRZOTh3aEZNN1pP?= =?utf-8?B?RTZ0RXFqNXR1dURaVHdjUEVuVDMvSnlUSE9tYTQwN3Y1RHkzdDhnRjFrVDdQ?= =?utf-8?B?ajE2L2FpNU50eXkxSEs5MDNvczJleE9TMHpvZURKdHpLTEQ4aEljbFk0dGNq?= =?utf-8?B?RUhRVHNVcktxWTZhaXZhVXhWRDVLYU1SWTNYaVBRSkx6YnFNeUsxUUNMMHFl?= =?utf-8?B?b0VkUVVOd2lNNjQwcHE1aFBndlo1RUdhMGJpWWxBTmNpbHllclNNWFZBeWZ4?= =?utf-8?B?QlE5QXVXQkVPbVRDTGpJL2pWWFVFT2gzM3AyNEMvMkF4eit0cDlqNGN4Znln?= =?utf-8?B?TlhITmhoT0l4ck80eit5akN2UG9qa2lGTW9jU0g4dWNkRTkxZ0N0c3RPY2Y5?= =?utf-8?B?dVFwaTJMRWs0Sm1sZmRGWVF5ZHp4bEZialN6R0kxZXduYTd1d1VaVWVnSFNr?= =?utf-8?B?OWFVOW9VbWc1RWN2U2trMjRaVlRvWGRZZEt1T0NhdENDZFpIZTFLaDFTUXZl?= =?utf-8?B?ZW9kd1ZZQ0dMaEZMVkZjYVp1ZGNJRWFjZWRzYmxoUTByS3pVR3ZJck9LWjFM?= =?utf-8?B?eVlWTTVnbUZ5R2E4cTJPYklxWDB1aXljc2ZBbkYxUUx4dGorUHEwcVJ3ZUov?= =?utf-8?B?cjB2QS9ZRmhJei9Hc3RvbUdyVVdmb2pSZWdCWXd0LzBnT1hSc2NmRVdRV2RJ?= =?utf-8?B?WWVlWEwyNjA2VXJWNWtzUmxrTTdCVnZEc0JZMmVjU3lkdlJSU3ErakpkcnFD?= =?utf-8?B?U09lNWYzdzhVYk4rcXdGNmtjS0ZWRVJKaGE4czhDUzdEV3UxUTZ2akd3V0h1?= =?utf-8?B?blQ1STNIRGRXNVlBbUJZQTVrcW1nZSs0ZXgwc3ZmQmRINXNHREk3c1JxL2xZ?= =?utf-8?B?UkFXRy81YTdVejN0R01jWXJKb3ZhQ3F5YUE2UHVJaXgrUFpvR2ZpYy81TCs2?= =?utf-8?B?WEhmeWd5NDh5Y2tPeFVPZmpCcjJBOHg0NE84bUpUM2gzRzRaVFg2NEhnWmRX?= =?utf-8?B?a0k0UnpLWHdZdS92T2dTVzRiMEJESzZJZmtmYjdLZXkzaEdJcEtsaDBwZnd3?= =?utf-8?B?T1JaZW1icFlhc1VXeHplc24vMXg1Y0pDQzFvZHlzcTU3Yi9OeE9PVmdrSnRa?= =?utf-8?B?bkxUclNzeDNYcGo4eEtYeVZ1THp0b2dWSkY1TVc2TE9RcnlCWHI4L1dOdEZq?= =?utf-8?B?QW9mTW5neHl4KzdjTkU2M01hMVd5RmRpVS9MbXhrRXN5NWhkaDRJY3NRZnBs?= =?utf-8?B?TkRKdkw5OUMzdWhmWlQyVjk4WXF4VUZWZ1VpWHRLbUEwK0txRXp2QVFDdkh0?= =?utf-8?B?aVkyN0YrU3ZhcmV5bHZXQT09?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR11MB6694.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(1800799024)(366016)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?VXdDV085cGdsamRWZDZzeGJYMVIydnE3MUVyRjNZc00zL25nd053Z3Nmc3RR?= =?utf-8?B?Q2QwM0hidnp3MHhJSkM2R0Q0dklJTVlLZU1pWTNHK3NhSE5maXZIN3FObHFw?= =?utf-8?B?QVN3TmtjQVlZRmt1djNFc1hlOGhPNkx1RkhNZlNGSGlodjVjZkN4c2N0OHZk?= =?utf-8?B?SzN6QkpBL2tLeHhkSEtoRWEydWV5cmdYdGNLYTdJSHgrbW8zSTJmK3hhSjBG?= =?utf-8?B?Ujd4RXIxT1lYa1BWdk1QNkxiMVVCeHlZRCtjbEp3WVVsUHFBSHNpd1M4a2FP?= =?utf-8?B?bFFmWWUwaklTSkZ5OWN2cHljSy9ISURKbStydEVkcXB4VTIwYlhMOTFpRlNl?= =?utf-8?B?WFA3Sklwd0RrYVlRZk5HREFSWHpheDl3OXBROEhiNkg2VTJaSWttUzlvc2lC?= =?utf-8?B?MHNCeUszN0RkVEppYkpIb0R0V1AyZEQ4NVN4RXlZaGEzN0ExS0twVmZNVjVJ?= =?utf-8?B?YjhWZ0dGZUQ0Mjd0ZkxnNGJkWUJTMGJIQ2lncG5wZjR5WW1VblFMcDlwUjgr?= =?utf-8?B?YXpUM0duZE9ubllWaVFvVENnMyt2aGtrNVhBZDIvc0lnelZMb2lWK2k0dzFY?= =?utf-8?B?UURkRTZMZ1g0R21LM2I5bjluODZyekhyS1hUbnJJME9JckhVMTd1MTNBU3lE?= =?utf-8?B?WUxndUFDUWJQdUpPZ21GN3lvVnBxS3VYSWgzSGNQc0ZMcFZmWXhVT0htZEwy?= =?utf-8?B?RlZnM1F5MTNOdzdsTkdsSG5uZURWSDZXVy9XOEtCeHlPMkc2bmxMa2x5UHpq?= =?utf-8?B?WTRwMmowR1U5RGRBYVpLbFoxakZzVDBvcnhZZWcwVFNhdGMxbU13SkdmOTJI?= =?utf-8?B?YVlKSmR2ZngyQzZFeE5ObGJTVkR5SFBLRlhuaVdGZTdNK0ZadkRwSDR3Q25Y?= =?utf-8?B?aGM4ckx2dVgxN1lHZUVkVDdSQmx2VzdLeHRVSXFuVlhkTTFVT242WlZiRzFy?= =?utf-8?B?eXNMWWhjdEZ6QnFxc09xNEYwb0lSTU5oUjRkSUt3K2V6Si9tdzZxbDloN20v?= =?utf-8?B?VllpUGZwdUhzNVlrWnlwa3pubGYwZStMZ3FFb3plWldPWVB5dHhJRGdRM2tZ?= =?utf-8?B?OEhBODFsZ1IyRE5WNUd1U05Pc1ZhMFA5NUFxZld5MFBjR3dndit6QjB5MVZy?= =?utf-8?B?c3RHYnhHemYvb0k0WHN1N2Irbkk1OEF0MDdlMXRDL0FJNWFaMVBvMTJTRC9E?= =?utf-8?B?WW1GTU9McmFFa01INjRKTGpjaHhlRE5PNkZIUHJIcmZzNGluUURZN3MxQ2lR?= =?utf-8?B?WVlVQndyZzhFYnA1QUpyRlVpVHB1Y254UWFsczVSTlQ4cWhPa1J0UFNlU1h2?= =?utf-8?B?d0ZvTWtIZkpQQVZtQS9ITW9paXptVHB1MmtrTnNjeUQzNXBsREFlRWkvYUZm?= =?utf-8?B?azU3dzNKZlRjcVY2N2srL0dpeWZEM1NNbUJ5Vy9yaHoyTjdoZU5rWXFIZ01r?= =?utf-8?B?alJWRGdZSGZDcVN5NDd5VGk5S3dUNGIxNXAzS2pVSENpZkR3dUNhRXE1NjM4?= =?utf-8?B?UXAxSWR5dVp0VmZZeGdYcDhaaUNzT0xrNGQxeXh5N2cyNnQ2TUppZkIzbzJL?= =?utf-8?B?ZXhDY1ZyU0dIKzJ4UExiT3NiSENDSkhXeTdmUEgvQjY1QVBQMXpYNkNKMFk3?= =?utf-8?B?bVpoOHBmV2hJTWgrSVlITWJ1Vkhaa0k2Y1VrUUEzVFViQ3ptME5oUW43QUFx?= =?utf-8?B?am5tRlF3aEZyNXhrbzAxTHczcDczcS9UUGlBam10dWMvWlB1b0diQnVSRkFm?= =?utf-8?B?M2NDN3gvcStqcHJtc3p4eDFWUHQ3dXFHNnZTd0ZEOEw2MUJ4TDhoRXBEaTRk?= =?utf-8?B?c2JiUUFNaU9xMHZ3em1PeStkc0pPYnI3a0FpS293Ym1COWNlSUp1Znpxb2U2?= =?utf-8?B?dk9zSWFIMW5yZ2NPeXBJMUFTdC9ONmQ5U3AxNlRlcHI4dktNTzJFODN0ZXhC?= =?utf-8?B?bXNjWXoza1FWaFFraFRiRTdPelRMMWpIQThGVDBXUDQ3Vk1vdUdlVTQ0ZnN0?= =?utf-8?B?SWdPMG1wbzVDYVdBbjZPRERFalFtN0FpZHo1WHhkTEdyamswY3FhQmpURCtq?= =?utf-8?B?NGpKajM5aTI4NFprcG54Y2Fpbmwyc3U3OExpT3EyY1dxVmQ5cjA3a2tIa2Jt?= =?utf-8?Q?o5z5Ec3mRQCoeW6WNpZJx+XK0?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SJ0PR11MB6694.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 981a76ff-b039-44ec-f746-08dce4a1075e X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Oct 2024 18:19:04.4167 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: mcJ79mTRnzX8EM3sJgykLCWSFE7Ya5irz2nrXisd4R1fC87OT3V0QNzTHXqhi7HTW2PigwTvTidtslfKvs8sKJE89xae5OwEQ7fCOhV0qCk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR11MB7126 X-OriginatorOrg: intel.com X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org SGkgTWF4aW1lLCANCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBNYXhp bWUgQ29xdWVsaW4gPG1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPg0KPiBTZW50OiBGcmlkYXks IE9jdG9iZXIgNCwgMjAyNCA1OjA4IEFNDQo+IFRvOiBWYXJnYXMsIEhlcm5hbiA8aGVybmFuLnZh cmdhc0BpbnRlbC5jb20+OyBkZXZAZHBkay5vcmc7DQo+IGdha2hpbEBtYXJ2ZWxsLmNvbTsgdHJp eEByZWRoYXQuY29tDQo+IENjOiBDaGF1dHJ1LCBOaWNvbGFzIDxuaWNvbGFzLmNoYXV0cnVAaW50 ZWwuY29tPjsgWmhhbmcsIFFpIFoNCj4gPHFpLnouemhhbmdAaW50ZWwuY29tPg0KPiBTdWJqZWN0 OiBSZTogW1BBVENIIHYyIDAyLzEwXSBiYXNlYmFuZC9hY2M6IHF1ZXVlIGFsbG9jYXRpb24gcmVm YWN0b3INCj4gDQo+IA0KPiANCj4gT24gMTAvMy8yNCAyMjo0OSwgSGVybmFuIFZhcmdhcyB3cm90 ZToNCj4gPiBSZWZhY3RvciB0byBtYW5hZ2UgcXVldWUgbWVtb3J5IHBlciBvcGVyYXRpb24gbW9y ZSBmbGV4aWJseSBmb3IgVlJCDQo+ID4gZGV2aWNlcy4NCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6 IEhlcm5hbiBWYXJnYXMgPGhlcm5hbi52YXJnYXNAaW50ZWwuY29tPg0KPiA+IC0tLQ0KPiA+ICAg ZHJpdmVycy9iYXNlYmFuZC9hY2MvYWNjX2NvbW1vbi5oICB8ICAgNSArDQo+ID4gICBkcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jIHwgMjE0ICsrKysrKysrKysrKysrKysrKysrLS0t LS0tLS0tDQo+ID4gICAyIGZpbGVzIGNoYW5nZWQsIDE1NyBpbnNlcnRpb25zKCspLCA2MiBkZWxl dGlvbnMoLSkNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9hY2Nf Y29tbW9uLmgNCj4gPiBiL2RyaXZlcnMvYmFzZWJhbmQvYWNjL2FjY19jb21tb24uaA0KPiA+IGlu ZGV4IGIxZjgxZTczZTY4ZC4uYWRiYWMwZGNjYTcwIDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMv YmFzZWJhbmQvYWNjL2FjY19jb21tb24uaA0KPiA+ICsrKyBiL2RyaXZlcnMvYmFzZWJhbmQvYWNj L2FjY19jb21tb24uaA0KPiA+IEBAIC0xNDksNiArMTQ5LDggQEANCj4gPiAgICNkZWZpbmUgVlJC Ml9WRl9JRF9TSElGVCAgICAgNg0KPiA+DQo+ID4gICAjZGVmaW5lIEFDQ19NQVhfRkZUX1dJTiAg ICAgIDE2DQo+ID4gKyNkZWZpbmUgQUNDX01BWF9SSU5HX0JVRkZFUiAgNjQNCj4gPiArI2RlZmlu ZSBWUkIyX01BWF9RX1BFUl9PUCAyNTYNCj4gPg0KPiA+ICAgZXh0ZXJuIGludCBhY2NfY29tbW9u X2xvZ3R5cGU7DQo+ID4NCj4gPiBAQCAtNTgxLDYgKzU4Myw5IEBAIHN0cnVjdCBhY2NfZGV2aWNl IHsNCj4gPiAgIAl2b2lkICpzd19yaW5nc19iYXNlOyAgLyogQmFzZSBhZGRyIG9mIHVuLWFsaWdu ZWQgbWVtb3J5IGZvciBzdyByaW5ncw0KPiAqLw0KPiA+ICAgCXZvaWQgKnN3X3JpbmdzOyAgLyog NjRNQnMgb2YgNjRNQiBhbGlnbmVkIG1lbW9yeSBmb3Igc3cgcmluZ3MgKi8NCj4gPiAgIAlydGVf aW92YV90IHN3X3JpbmdzX2lvdmE7ICAvKiBJT1ZBIGFkZHJlc3Mgb2Ygc3dfcmluZ3MgKi8NCj4g PiArCXZvaWQgKnN3X3JpbmdzX2FycmF5W0FDQ19NQVhfUklOR19CVUZGRVJdOyAgLyogQXJyYXkg b2YgYWxpZ25lZA0KPiBtZW1vcnkgZm9yIHN3IHJpbmdzLiAqLw0KPiA+ICsJcnRlX2lvdmFfdCBz d19yaW5nc19pb3ZhX2FycmF5W0FDQ19NQVhfUklOR19CVUZGRVJdOyAgLyogQXJyYXkNCj4gb2Yg c3dfcmluZ3MgSU9WQS4gKi8NCj4gPiArCXVpbnQzMl90IHF1ZXVlX2luZGV4W0FDQ19NQVhfUklO R19CVUZGRVJdOyAvKiBUcmFja2luZyBxdWV1ZQ0KPiBpbmRleA0KPiA+ICtwZXIgcmluZyBidWZm ZXIuICovDQo+ID4gICAJLyogVmlydHVhbCBhZGRyZXNzIG9mIHRoZSBpbmZvIG1lbW9yeSByb3V0 ZWQgdG8gdGhlIHRoaXMgZnVuY3Rpb24gdW5kZXINCj4gPiAgIAkgKiBvcGVyYXRpb24sIHdoZXRo ZXIgaXQgaXMgUEYgb3IgVkYuDQo+ID4gICAJICogSFcgbWF5IERNQSBpbmZvcm1hdGlvbiBkYXRh IGF0IHRoaXMgbG9jYXRpb24gYXN5bmNocm9ub3VzbHkgZGlmZg0KPiA+IC0tZ2l0IGEvZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYw0KPiA+IGIvZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYw0KPiA+IGluZGV4IGJhZTAxZTU2MzgyNi4uMmM2MmE1YjNlMzI5IDEwMDY0 NA0KPiA+IC0tLSBhL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmMNCj4gPiArKysg Yi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jDQo+ID4gQEAgLTI4MSw3ICsyODEs NyBAQCBmZXRjaF9hY2NfY29uZmlnKHN0cnVjdCBydGVfYmJkZXYgKmRldikNCj4gPiAgIAkJLyog Q2hlY2sgdGhlIGRlcHRoIG9mIHRoZSBBUXMuICovDQo+ID4gICAJCXJlZ19sZW4wID0gYWNjX3Jl Z19yZWFkKGQsIGQtPnJlZ19hZGRyLT5kZXB0aF9sb2cwX29mZnNldCk7DQo+ID4gICAJCXJlZ19s ZW4xID0gYWNjX3JlZ19yZWFkKGQsIGQtPnJlZ19hZGRyLT5kZXB0aF9sb2cxX29mZnNldCk7DQo+ ID4gLQkJZm9yIChhY2MgPSAwOyBhY2MgPCBOVU1fQUNDOyBhY2MrKykgew0KPiA+ICsJCWZvciAo YWNjID0gMDsgYWNjIDwgVlJCMV9OVU1fQUNDUzsgYWNjKyspIHsNCj4gPiAgIAkJCXF0b3BGcm9t QWNjKCZxX3RvcCwgYWNjLCBhY2NfY29uZik7DQo+ID4gICAJCQlpZiAocV90b3AtPmZpcnN0X3Fn cm91cF9pbmRleCA8DQo+IEFDQ19OVU1fUUdSUFNfUEVSX1dPUkQpDQo+ID4gICAJCQkJcV90b3At PmFxX2RlcHRoX2xvZzIgPQ0KPiA+IEBAIC0yOTAsNyArMjkwLDcgQEAgZmV0Y2hfYWNjX2NvbmZp ZyhzdHJ1Y3QgcnRlX2JiZGV2ICpkZXYpDQo+ID4gICAJCQkJcV90b3AtPmFxX2RlcHRoX2xvZzIg PSAocmVnX2xlbjEgPj4gKChxX3RvcC0NCj4gPmZpcnN0X3Fncm91cF9pbmRleCAtDQo+ID4NCj4g CUFDQ19OVU1fUUdSUFNfUEVSX1dPUkQpICogNCkpICYgMHhGOw0KPiA+ICAgCQl9DQo+ID4gLQl9 IGVsc2Ugew0KPiA+ICsJfSBlbHNlIGlmIChkLT5kZXZpY2VfdmFyaWFudCA9PSBWUkIyX1ZBUklB TlQpIHsNCj4gPiAgIAkJcmVnMCA9IGFjY19yZWdfcmVhZChkLCBkLT5yZWdfYWRkci0+cW1hbl9n cm91cF9mdW5jKTsNCj4gPiAgIAkJcmVnMSA9IGFjY19yZWdfcmVhZChkLCBkLT5yZWdfYWRkci0+ cW1hbl9ncm91cF9mdW5jICsgNCk7DQo+ID4gICAJCXJlZzIgPSBhY2NfcmVnX3JlYWQoZCwgZC0+ cmVnX2FkZHItPnFtYW5fZ3JvdXBfZnVuYyArIDgpOw0KPiBAQA0KPiA+IC0zMDgsNyArMzA4LDcg QEAgZmV0Y2hfYWNjX2NvbmZpZyhzdHJ1Y3QgcnRlX2JiZGV2ICpkZXYpDQo+ID4gICAJCQkJCWlk eCA9IChyZWcyID4+ICgocWcgJQ0KPiBBQ0NfTlVNX1FHUlBTX1BFUl9XT1JEKSAqIDQpKSAmIDB4 NzsNCj4gPiAgIAkJCQllbHNlDQo+ID4gICAJCQkJCWlkeCA9IChyZWczID4+ICgocWcgJQ0KPiBB Q0NfTlVNX1FHUlBTX1BFUl9XT1JEKSAqIDQpKSAmIDB4NzsNCj4gPiAtCQkJCWlmIChpZHggPCBW UkJfTlVNX0FDQ1MpIHsNCj4gPiArCQkJCWlmIChpZHggPCBWUkIyX05VTV9BQ0NTKSB7DQo+ID4g ICAJCQkJCWFjYyA9IHFtYW5fZnVuY19pZFtpZHhdOw0KPiA+ICAgCQkJCQl1cGRhdGVRdG9wKGFj YywgcWcsIGFjY19jb25mLCBkKTsNCj4gPiAgIAkJCQl9DQo+ID4gQEAgLTMyMSw3ICszMjEsNyBA QCBmZXRjaF9hY2NfY29uZmlnKHN0cnVjdCBydGVfYmJkZXYgKmRldikNCj4gPiAgIAkJcmVnX2xl bjIgPSBhY2NfcmVnX3JlYWQoZCwgZC0+cmVnX2FkZHItPmRlcHRoX2xvZzBfb2Zmc2V0ICsNCj4g OCk7DQo+ID4gICAJCXJlZ19sZW4zID0gYWNjX3JlZ19yZWFkKGQsIGQtPnJlZ19hZGRyLT5kZXB0 aF9sb2cwX29mZnNldCArDQo+IDEyKTsNCj4gPg0KPiA+IC0JCWZvciAoYWNjID0gMDsgYWNjIDwg TlVNX0FDQzsgYWNjKyspIHsNCj4gPiArCQlmb3IgKGFjYyA9IDA7IGFjYyA8IFZSQjJfTlVNX0FD Q1M7IGFjYysrKSB7DQo+ID4gICAJCQlxdG9wRnJvbUFjYygmcV90b3AsIGFjYywgYWNjX2NvbmYp Ow0KPiA+ICAgCQkJaWYgKHFfdG9wLT5maXJzdF9xZ3JvdXBfaW5kZXggLw0KPiBBQ0NfTlVNX1FH UlBTX1BFUl9XT1JEID09IDApDQo+ID4gICAJCQkJcV90b3AtPmFxX2RlcHRoX2xvZzIgPSAocmVn X2xlbjAgPj4gKChxX3RvcC0NCj4gPmZpcnN0X3Fncm91cF9pbmRleA0KPiA+ICUNCj4gDQo+IFRo aXMgZnVuY3Rpb24gY291bGQgYmUgbXVjaCBoZWF2aWx5IHJlZmFjdG9yZWQuDQo+IElmIHdlIGxv b2sgYXQgd2FzIGlzIGFjdHVhbGx0IHBlcmZvcm1lZCwgVlJCMSBhbmQgVlJCMiBsb2dpYyBpcyB0 aGUgc2FtZSwganVzdCBhDQo+IGNvdXBsZSBvZiB2YWx1ZSBkaWZmZXJzICh0aGV5IGNvdWxkIGJl IHNldCBhdCBwcm9iZSB0aW1lKS4NCj4gDQo+IEkgbWlnaHQgcHJvcG9zZSBzb21ldGhpbmcgaW4g dGhlIGZ1dHVyZS4NCj4gDQo+ID4gQEAgLTU0Myw2ICs1NDMsNyBAQCB2cmJfc2V0dXBfcXVldWVz KHN0cnVjdCBydGVfYmJkZXYgKmRldiwgdWludDE2X3QNCj4gbnVtX3F1ZXVlcywgaW50IHNvY2tl dF9pZCkNCj4gPiAgIHsNCj4gPiAgIAl1aW50MzJfdCBwaHlzX2xvdywgcGh5c19oaWdoLCB2YWx1 ZTsNCj4gPiAgIAlzdHJ1Y3QgYWNjX2RldmljZSAqZCA9IGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGU7 DQo+ID4gKwl1aW50MTZfdCBxdWV1ZXNfcGVyX29wLCBpOw0KPiA+ICAgCWludCByZXQ7DQo+ID4N Cj4gPiAgIAlpZiAoZC0+cGZfZGV2aWNlICYmICFkLT5hY2NfY29uZi5wZl9tb2RlX2VuKSB7IEBA IC01NjQsMjcgKzU2NSwzNw0KPiA+IEBAIHZyYl9zZXR1cF9xdWV1ZXMoc3RydWN0IHJ0ZV9iYmRl diAqZGV2LCB1aW50MTZfdCBudW1fcXVldWVzLCBpbnQNCj4gc29ja2V0X2lkKQ0KPiA+ICAgCQly ZXR1cm4gLUVOT0RFVjsNCj4gPiAgIAl9DQo+ID4NCj4gPiAtCWFsbG9jX3N3X3JpbmdzX21pbl9t ZW0oZGV2LCBkLCBudW1fcXVldWVzLCBzb2NrZXRfaWQpOw0KPiA+ICsJaWYgKGQtPmRldmljZV92 YXJpYW50ID09IFZSQjFfVkFSSUFOVCkgew0KPiA+ICsJCWFsbG9jX3N3X3JpbmdzX21pbl9tZW0o ZGV2LCBkLCBudW1fcXVldWVzLCBzb2NrZXRfaWQpOw0KPiA+DQo+ID4gLQkvKiBJZiBtaW5pbWFs IG1lbW9yeSBzcGFjZSBhcHByb2FjaCBmYWlsZWQsIHRoZW4gYWxsb2NhdGUNCj4gPiAtCSAqIHRo ZSAyICogNjRNQiBibG9jayBmb3IgdGhlIHN3IHJpbmdzLg0KPiA+IC0JICovDQo+ID4gLQlpZiAo ZC0+c3dfcmluZ3MgPT0gTlVMTCkNCj4gPiAtCQlhbGxvY18yeDY0bWJfc3dfcmluZ3NfbWVtKGRl diwgZCwgc29ja2V0X2lkKTsNCj4gPiArCQkvKiBJZiBtaW5pbWFsIG1lbW9yeSBzcGFjZSBhcHBy b2FjaCBmYWlsZWQsIHRoZW4gYWxsb2NhdGUNCj4gPiArCQkgKiB0aGUgMiAqIDY0TUIgYmxvY2sg Zm9yIHRoZSBzdyByaW5ncy4NCj4gPiArCQkgKi8NCj4gPiArCQlpZiAoZC0+c3dfcmluZ3MgPT0g TlVMTCkNCj4gPiArCQkJYWxsb2NfMng2NG1iX3N3X3JpbmdzX21lbShkZXYsIGQsIHNvY2tldF9p ZCk7DQo+ID4NCj4gPiAtCWlmIChkLT5zd19yaW5ncyA9PSBOVUxMKSB7DQo+ID4gLQkJcnRlX2Ji ZGV2X2xvZyhOT1RJQ0UsDQo+ID4gLQkJCQkiRmFpbHVyZSBhbGxvY2F0aW5nIHN3X3JpbmdzIG1l bW9yeSIpOw0KPiA+IC0JCXJldHVybiAtRU5PTUVNOw0KPiA+ICsJCWlmIChkLT5zd19yaW5ncyA9 PSBOVUxMKSB7DQo+ID4gKwkJCXJ0ZV9iYmRldl9sb2coTk9USUNFLCAiRmFpbHVyZSBhbGxvY2F0 aW5nIHN3X3JpbmdzDQo+IG1lbW9yeSIpOw0KPiA+ICsJCQlyZXR1cm4gLUVOT01FTTsNCj4gPiAr CQl9DQo+ID4gKwl9IGVsc2UgaWYgKGQtPmRldmljZV92YXJpYW50ID09IFZSQjJfVkFSSUFOVCkg ew0KPiA+ICsJCXF1ZXVlc19wZXJfb3AgPSBSVEVfTUlOKFZSQjJfTUFYX1FfUEVSX09QLA0KPiBu dW1fcXVldWVzKTsNCj4gPiArCQlmb3IgKGkgPSAwOyBpIDw9IFJURV9CQkRFVl9PUF9NTERUUzsg aSsrKSB7DQo+ID4gKwkJCWFsbG9jX3N3X3JpbmdzX21pbl9tZW0oZGV2LCBkLCBxdWV1ZXNfcGVy X29wLA0KPiBzb2NrZXRfaWQpOw0KPiA+ICsJCQlpZiAoZC0+c3dfcmluZ3MgPT0gTlVMTCkgew0K PiA+ICsJCQkJcnRlX2JiZGV2X2xvZyhOT1RJQ0UsICJGYWlsdXJlIGFsbG9jYXRpbmcNCj4gc3df cmluZ3MgbWVtb3J5ICVkIiwgaSk7DQo+ID4gKwkJCQlyZXR1cm4gLUVOT01FTTsNCj4gPiArCQkJ fQ0KPiA+ICsJCQkvKiBNb3ZlcyB0aGUgcG9pbnRlciB0byB0aGUgcmVsZXZhbnQgYXJyYXkuICov DQo+ID4gKwkJCWQtPnN3X3JpbmdzX2FycmF5W2ldID0gZC0+c3dfcmluZ3M7DQo+ID4gKwkJCWQt PnN3X3JpbmdzX2lvdmFfYXJyYXlbaV0gPSBkLT5zd19yaW5nc19pb3ZhOw0KPiA+ICsJCQlkLT5z d19yaW5ncyA9IE5VTEw7DQo+ID4gKwkJCWQtPnN3X3JpbmdzX2Jhc2UgPSBOVUxMOw0KPiA+ICsJ CQlkLT5zd19yaW5nc19pb3ZhID0gMDsNCj4gPiArCQkJZC0+cXVldWVfaW5kZXhbaV0gPSAwOw0K PiA+ICsJCX0NCj4gPiAgIAl9DQo+ID4NCj4gPiAtCS8qIENvbmZpZ3VyZSBkZXZpY2Ugd2l0aCB0 aGUgYmFzZSBhZGRyZXNzIGZvciBETUEgZGVzY3JpcHRvciByaW5ncy4NCj4gPiAtCSAqIFNhbWUg ZGVzY3JpcHRvciByaW5ncyB1c2VkIGZvciBVTCBhbmQgREwgRE1BIEVuZ2luZXMuDQo+ID4gLQkg KiBOb3RlIDogQXNzdW1pbmcgb25seSBWRjAgYnVuZGxlIGlzIHVzZWQgZm9yIFBGIG1vZGUuDQo+ ID4gLQkgKi8NCj4gPiAtCXBoeXNfaGlnaCA9ICh1aW50MzJfdCkoZC0+c3dfcmluZ3NfaW92YSA+ PiAzMik7DQo+ID4gLQlwaHlzX2xvdyAgPSAodWludDMyX3QpKGQtPnN3X3JpbmdzX2lvdmEgJiB+ KEFDQ19TSVpFXzY0TUJZVEUtMSkpOw0KPiA+IC0NCj4gPiAgIAkvKiBSZWFkIHRoZSBwb3B1bGF0 ZWQgY2ZnIGZyb20gZGV2aWNlIHJlZ2lzdGVycy4gKi8NCj4gPiAgIAlmZXRjaF9hY2NfY29uZmln KGRldik7DQo+ID4NCj4gPiBAQCAtNTk5LDIwICs2MTAsNjAgQEAgdnJiX3NldHVwX3F1ZXVlcyhz dHJ1Y3QgcnRlX2JiZGV2ICpkZXYsDQo+IHVpbnQxNl90IG51bV9xdWV1ZXMsIGludCBzb2NrZXRf aWQpDQo+ID4gICAJaWYgKGQtPnBmX2RldmljZSkNCj4gPiAgIAkJYWNjX3JlZ193cml0ZShkLCBW UkIxX1BmRG1hQXhpQ29udHJvbCwgMSk7DQo+ID4NCj4gPiAtCWFjY19yZWdfd3JpdGUoZCwgZC0+ cmVnX2FkZHItPmRtYV9yaW5nX3VsNWdfaGksIHBoeXNfaGlnaCk7DQo+ID4gLQlhY2NfcmVnX3dy aXRlKGQsIGQtPnJlZ19hZGRyLT5kbWFfcmluZ191bDVnX2xvLCBwaHlzX2xvdyk7DQo+ID4gLQlh Y2NfcmVnX3dyaXRlKGQsIGQtPnJlZ19hZGRyLT5kbWFfcmluZ19kbDVnX2hpLCBwaHlzX2hpZ2gp Ow0KPiA+IC0JYWNjX3JlZ193cml0ZShkLCBkLT5yZWdfYWRkci0+ZG1hX3JpbmdfZGw1Z19sbywg cGh5c19sb3cpOw0KPiA+IC0JYWNjX3JlZ193cml0ZShkLCBkLT5yZWdfYWRkci0+ZG1hX3Jpbmdf dWw0Z19oaSwgcGh5c19oaWdoKTsNCj4gPiAtCWFjY19yZWdfd3JpdGUoZCwgZC0+cmVnX2FkZHIt PmRtYV9yaW5nX3VsNGdfbG8sIHBoeXNfbG93KTsNCj4gPiAtCWFjY19yZWdfd3JpdGUoZCwgZC0+ cmVnX2FkZHItPmRtYV9yaW5nX2RsNGdfaGksIHBoeXNfaGlnaCk7DQo+ID4gLQlhY2NfcmVnX3dy aXRlKGQsIGQtPnJlZ19hZGRyLT5kbWFfcmluZ19kbDRnX2xvLCBwaHlzX2xvdyk7DQo+ID4gLQlh Y2NfcmVnX3dyaXRlKGQsIGQtPnJlZ19hZGRyLT5kbWFfcmluZ19mZnRfaGksIHBoeXNfaGlnaCk7 DQo+ID4gLQlhY2NfcmVnX3dyaXRlKGQsIGQtPnJlZ19hZGRyLT5kbWFfcmluZ19mZnRfbG8sIHBo eXNfbG93KTsNCj4gPiAtCWlmIChkLT5kZXZpY2VfdmFyaWFudCA9PSBWUkIyX1ZBUklBTlQpIHsN Cj4gPiAtCQlhY2NfcmVnX3dyaXRlKGQsIGQtPnJlZ19hZGRyLT5kbWFfcmluZ19tbGRfaGksIHBo eXNfaGlnaCk7DQo+ID4gLQkJYWNjX3JlZ193cml0ZShkLCBkLT5yZWdfYWRkci0+ZG1hX3Jpbmdf bWxkX2xvLCBwaHlzX2xvdyk7DQo+ID4gKwlpZiAoZC0+ZGV2aWNlX3ZhcmlhbnQgPT0gVlJCMV9W QVJJQU5UKSB7DQo+ID4gKwkJLyogQ29uZmlndXJlIGRldmljZSB3aXRoIHRoZSBiYXNlIGFkZHJl c3MgZm9yIERNQSBkZXNjcmlwdG9yDQo+IHJpbmdzLg0KPiA+ICsJCSAqIFNhbWUgZGVzY3JpcHRv ciByaW5ncyB1c2VkIGZvciBVTCBhbmQgREwgRE1BIEVuZ2luZXMuDQo+ID4gKwkJICogTm90ZSA6 IEFzc3VtaW5nIG9ubHkgVkYwIGJ1bmRsZSBpcyB1c2VkIGZvciBQRiBtb2RlLg0KPiA+ICsJCSAq Lw0KPiA+ICsJCXBoeXNfaGlnaCA9ICh1aW50MzJfdCkoZC0+c3dfcmluZ3NfaW92YSA+PiAzMik7 DQo+ID4gKwkJcGh5c19sb3cgID0gKHVpbnQzMl90KShkLT5zd19yaW5nc19pb3ZhICYNCj4gfihB Q0NfU0laRV82NE1CWVRFLTEpKTsNCj4gPiArCQlhY2NfcmVnX3dyaXRlKGQsIGQtPnJlZ19hZGRy LT5kbWFfcmluZ191bDVnX2hpLCBwaHlzX2hpZ2gpOw0KPiA+ICsJCWFjY19yZWdfd3JpdGUoZCwg ZC0+cmVnX2FkZHItPmRtYV9yaW5nX3VsNWdfbG8sIHBoeXNfbG93KTsNCj4gPiArCQlhY2NfcmVn X3dyaXRlKGQsIGQtPnJlZ19hZGRyLT5kbWFfcmluZ19kbDVnX2hpLCBwaHlzX2hpZ2gpOw0KPiA+ ICsJCWFjY19yZWdfd3JpdGUoZCwgZC0+cmVnX2FkZHItPmRtYV9yaW5nX2RsNWdfbG8sIHBoeXNf bG93KTsNCj4gPiArCQlhY2NfcmVnX3dyaXRlKGQsIGQtPnJlZ19hZGRyLT5kbWFfcmluZ191bDRn X2hpLCBwaHlzX2hpZ2gpOw0KPiA+ICsJCWFjY19yZWdfd3JpdGUoZCwgZC0+cmVnX2FkZHItPmRt YV9yaW5nX3VsNGdfbG8sIHBoeXNfbG93KTsNCj4gPiArCQlhY2NfcmVnX3dyaXRlKGQsIGQtPnJl Z19hZGRyLT5kbWFfcmluZ19kbDRnX2hpLCBwaHlzX2hpZ2gpOw0KPiA+ICsJCWFjY19yZWdfd3Jp dGUoZCwgZC0+cmVnX2FkZHItPmRtYV9yaW5nX2RsNGdfbG8sIHBoeXNfbG93KTsNCj4gPiArCQlh Y2NfcmVnX3dyaXRlKGQsIGQtPnJlZ19hZGRyLT5kbWFfcmluZ19mZnRfaGksIHBoeXNfaGlnaCk7 DQo+ID4gKwkJYWNjX3JlZ193cml0ZShkLCBkLT5yZWdfYWRkci0+ZG1hX3JpbmdfZmZ0X2xvLCBw aHlzX2xvdyk7DQo+ID4gKwl9IGVsc2UgaWYgKGQtPmRldmljZV92YXJpYW50ID09IFZSQjJfVkFS SUFOVCkgew0KPiA+ICsJCS8qIENvbmZpZ3VyZSBkZXZpY2Ugd2l0aCB0aGUgYmFzZSBhZGRyZXNz IGZvciBETUEgZGVzY3JpcHRvcg0KPiByaW5ncy4NCj4gPiArCQkgKiBEaWZmZXJlbnQgcmluZyBi dWZmZXIgdXNlZCBmb3IgZWFjaCBvcGVyYXRpb24gdHlwZS4NCj4gPiArCQkgKiBOb3RlIDogQXNz dW1pbmcgb25seSBWRjAgYnVuZGxlIGlzIHVzZWQgZm9yIFBGIG1vZGUuDQo+ID4gKwkJICovDQo+ ID4gKwkJYWNjX3JlZ193cml0ZShkLCBkLT5yZWdfYWRkci0+ZG1hX3JpbmdfdWw1Z19oaSwNCj4g PiArCQkJCSh1aW50MzJfdCkoZC0NCj4gPnN3X3JpbmdzX2lvdmFfYXJyYXlbUlRFX0JCREVWX09Q X0xEUENfREVDXSA+PiAzMikpOw0KPiA+ICsJCWFjY19yZWdfd3JpdGUoZCwgZC0+cmVnX2FkZHIt PmRtYV9yaW5nX3VsNWdfbG8sDQo+ID4gKwkJCQkodWludDMyX3QpKGQtDQo+ID5zd19yaW5nc19p b3ZhX2FycmF5W1JURV9CQkRFVl9PUF9MRFBDX0RFQ10NCj4gPiArCQkJCSYgfihBQ0NfU0laRV82 NE1CWVRFIC0gMSkpKTsNCj4gPiArCQlhY2NfcmVnX3dyaXRlKGQsIGQtPnJlZ19hZGRyLT5kbWFf cmluZ19kbDVnX2hpLA0KPiA+ICsJCQkJKHVpbnQzMl90KShkLQ0KPiA+c3dfcmluZ3NfaW92YV9h cnJheVtSVEVfQkJERVZfT1BfTERQQ19FTkNdID4+IDMyKSk7DQo+ID4gKwkJYWNjX3JlZ193cml0 ZShkLCBkLT5yZWdfYWRkci0+ZG1hX3JpbmdfZGw1Z19sbywNCj4gPiArCQkJCSh1aW50MzJfdCko ZC0NCj4gPnN3X3JpbmdzX2lvdmFfYXJyYXlbUlRFX0JCREVWX09QX0xEUENfRU5DXQ0KPiA+ICsJ CQkJJiB+KEFDQ19TSVpFXzY0TUJZVEUgLSAxKSkpOw0KPiA+ICsJCWFjY19yZWdfd3JpdGUoZCwg ZC0+cmVnX2FkZHItPmRtYV9yaW5nX3VsNGdfaGksDQo+ID4gKwkJCQkodWludDMyX3QpKGQtDQo+ ID5zd19yaW5nc19pb3ZhX2FycmF5W1JURV9CQkRFVl9PUF9UVVJCT19ERUNdID4+IDMyKSk7DQo+ ID4gKwkJYWNjX3JlZ193cml0ZShkLCBkLT5yZWdfYWRkci0+ZG1hX3JpbmdfdWw0Z19sbywNCj4g PiArCQkJCSh1aW50MzJfdCkoZC0NCj4gPnN3X3JpbmdzX2lvdmFfYXJyYXlbUlRFX0JCREVWX09Q X1RVUkJPX0RFQ10NCj4gPiArCQkJCSYgfihBQ0NfU0laRV82NE1CWVRFIC0gMSkpKTsNCj4gPiAr CQlhY2NfcmVnX3dyaXRlKGQsIGQtPnJlZ19hZGRyLT5kbWFfcmluZ19kbDRnX2hpLA0KPiA+ICsJ CQkJKHVpbnQzMl90KShkLQ0KPiA+c3dfcmluZ3NfaW92YV9hcnJheVtSVEVfQkJERVZfT1BfVFVS Qk9fRU5DXSA+PiAzMikpOw0KPiA+ICsJCWFjY19yZWdfd3JpdGUoZCwgZC0+cmVnX2FkZHItPmRt YV9yaW5nX2RsNGdfbG8sDQo+ID4gKwkJCQkodWludDMyX3QpKGQtDQo+ID5zd19yaW5nc19pb3Zh X2FycmF5W1JURV9CQkRFVl9PUF9UVVJCT19FTkNdDQo+ID4gKwkJCQkmIH4oQUNDX1NJWkVfNjRN QllURSAtIDEpKSk7DQo+ID4gKwkJYWNjX3JlZ193cml0ZShkLCBkLT5yZWdfYWRkci0+ZG1hX3Jp bmdfZmZ0X2hpLA0KPiA+ICsJCQkJKHVpbnQzMl90KShkLQ0KPiA+c3dfcmluZ3NfaW92YV9hcnJh eVtSVEVfQkJERVZfT1BfRkZUXSA+PiAzMikpOw0KPiA+ICsJCWFjY19yZWdfd3JpdGUoZCwgZC0+ cmVnX2FkZHItPmRtYV9yaW5nX2ZmdF9sbywNCj4gPiArCQkJCSh1aW50MzJfdCkoZC0NCj4gPnN3 X3JpbmdzX2lvdmFfYXJyYXlbUlRFX0JCREVWX09QX0ZGVF0NCj4gPiArCQkJCSYgfihBQ0NfU0la RV82NE1CWVRFIC0gMSkpKTsNCj4gPiArCQlhY2NfcmVnX3dyaXRlKGQsIGQtPnJlZ19hZGRyLT5k bWFfcmluZ19tbGRfaGksDQo+ID4gKwkJCQkodWludDMyX3QpKGQtDQo+ID5zd19yaW5nc19pb3Zh X2FycmF5W1JURV9CQkRFVl9PUF9NTERUU10gPj4gMzIpKTsNCj4gPiArCQlhY2NfcmVnX3dyaXRl KGQsIGQtPnJlZ19hZGRyLT5kbWFfcmluZ19tbGRfbG8sDQo+ID4gKwkJCQkodWludDMyX3QpKGQt DQo+ID5zd19yaW5nc19pb3ZhX2FycmF5W1JURV9CQkRFVl9PUF9NTERUU10NCj4gPiArCQkJCSYg fihBQ0NfU0laRV82NE1CWVRFIC0gMSkpKTsNCj4gPiAgIAl9DQo+ID4gKw0KPiA+ICAgCS8qDQo+ ID4gICAJICogQ29uZmlndXJlIFJpbmcgU2l6ZSB0byB0aGUgbWF4IHF1ZXVlIHJpbmcgc2l6ZQ0K PiA+ICAgCSAqICh1c2VkIGZvciB3cmFwcGluZyBwdXJwb3NlKS4NCj4gPiBAQCAtNjM2LDE5ICs2 ODcsMjEgQEAgdnJiX3NldHVwX3F1ZXVlcyhzdHJ1Y3QgcnRlX2JiZGV2ICpkZXYsDQo+IHVpbnQx Nl90DQo+ID4gbnVtX3F1ZXVlcywgaW50IHNvY2tldF9pZCkNCj4gPg0KPiA+ICAgCXBoeXNfaGln aCA9ICh1aW50MzJfdCkoZC0+dGFpbF9wdHJfaW92YSA+PiAzMik7DQo+ID4gICAJcGh5c19sb3cg ID0gKHVpbnQzMl90KShkLT50YWlsX3B0cl9pb3ZhKTsNCj4gPiAtCWFjY19yZWdfd3JpdGUoZCwg ZC0+cmVnX2FkZHItPnRhaWxfcHRyc191bDVnX2hpLCBwaHlzX2hpZ2gpOw0KPiA+IC0JYWNjX3Jl Z193cml0ZShkLCBkLT5yZWdfYWRkci0+dGFpbF9wdHJzX3VsNWdfbG8sIHBoeXNfbG93KTsNCj4g PiAtCWFjY19yZWdfd3JpdGUoZCwgZC0+cmVnX2FkZHItPnRhaWxfcHRyc19kbDVnX2hpLCBwaHlz X2hpZ2gpOw0KPiA+IC0JYWNjX3JlZ193cml0ZShkLCBkLT5yZWdfYWRkci0+dGFpbF9wdHJzX2Rs NWdfbG8sIHBoeXNfbG93KTsNCj4gPiAtCWFjY19yZWdfd3JpdGUoZCwgZC0+cmVnX2FkZHItPnRh aWxfcHRyc191bDRnX2hpLCBwaHlzX2hpZ2gpOw0KPiA+IC0JYWNjX3JlZ193cml0ZShkLCBkLT5y ZWdfYWRkci0+dGFpbF9wdHJzX3VsNGdfbG8sIHBoeXNfbG93KTsNCj4gPiAtCWFjY19yZWdfd3Jp dGUoZCwgZC0+cmVnX2FkZHItPnRhaWxfcHRyc19kbDRnX2hpLCBwaHlzX2hpZ2gpOw0KPiA+IC0J YWNjX3JlZ193cml0ZShkLCBkLT5yZWdfYWRkci0+dGFpbF9wdHJzX2RsNGdfbG8sIHBoeXNfbG93 KTsNCj4gPiAtCWFjY19yZWdfd3JpdGUoZCwgZC0+cmVnX2FkZHItPnRhaWxfcHRyc19mZnRfaGks IHBoeXNfaGlnaCk7DQo+ID4gLQlhY2NfcmVnX3dyaXRlKGQsIGQtPnJlZ19hZGRyLT50YWlsX3B0 cnNfZmZ0X2xvLCBwaHlzX2xvdyk7DQo+ID4gLQlpZiAoZC0+ZGV2aWNlX3ZhcmlhbnQgPT0gVlJC Ml9WQVJJQU5UKSB7DQo+ID4gLQkJYWNjX3JlZ193cml0ZShkLCBkLT5yZWdfYWRkci0+dGFpbF9w dHJzX21sZF9oaSwgcGh5c19oaWdoKTsNCj4gPiAtCQlhY2NfcmVnX3dyaXRlKGQsIGQtPnJlZ19h ZGRyLT50YWlsX3B0cnNfbWxkX2xvLCBwaHlzX2xvdyk7DQo+ID4gKwl7DQo+ID4gKwkJYWNjX3Jl Z193cml0ZShkLCBkLT5yZWdfYWRkci0+dGFpbF9wdHJzX3VsNWdfaGksIHBoeXNfaGlnaCk7DQo+ ID4gKwkJYWNjX3JlZ193cml0ZShkLCBkLT5yZWdfYWRkci0+dGFpbF9wdHJzX3VsNWdfbG8sIHBo eXNfbG93KTsNCj4gPiArCQlhY2NfcmVnX3dyaXRlKGQsIGQtPnJlZ19hZGRyLT50YWlsX3B0cnNf ZGw1Z19oaSwgcGh5c19oaWdoKTsNCj4gPiArCQlhY2NfcmVnX3dyaXRlKGQsIGQtPnJlZ19hZGRy LT50YWlsX3B0cnNfZGw1Z19sbywgcGh5c19sb3cpOw0KPiA+ICsJCWFjY19yZWdfd3JpdGUoZCwg ZC0+cmVnX2FkZHItPnRhaWxfcHRyc191bDRnX2hpLCBwaHlzX2hpZ2gpOw0KPiA+ICsJCWFjY19y ZWdfd3JpdGUoZCwgZC0+cmVnX2FkZHItPnRhaWxfcHRyc191bDRnX2xvLCBwaHlzX2xvdyk7DQo+ ID4gKwkJYWNjX3JlZ193cml0ZShkLCBkLT5yZWdfYWRkci0+dGFpbF9wdHJzX2RsNGdfaGksIHBo eXNfaGlnaCk7DQo+ID4gKwkJYWNjX3JlZ193cml0ZShkLCBkLT5yZWdfYWRkci0+dGFpbF9wdHJz X2RsNGdfbG8sIHBoeXNfbG93KTsNCj4gPiArCQlhY2NfcmVnX3dyaXRlKGQsIGQtPnJlZ19hZGRy LT50YWlsX3B0cnNfZmZ0X2hpLCBwaHlzX2hpZ2gpOw0KPiA+ICsJCWFjY19yZWdfd3JpdGUoZCwg ZC0+cmVnX2FkZHItPnRhaWxfcHRyc19mZnRfbG8sIHBoeXNfbG93KTsNCj4gPiArCQlpZiAoZC0+ ZGV2aWNlX3ZhcmlhbnQgPT0gVlJCMl9WQVJJQU5UKSB7DQo+ID4gKwkJCWFjY19yZWdfd3JpdGUo ZCwgZC0+cmVnX2FkZHItPnRhaWxfcHRyc19tbGRfaGksDQo+IHBoeXNfaGlnaCk7DQo+ID4gKwkJ CWFjY19yZWdfd3JpdGUoZCwgZC0+cmVnX2FkZHItPnRhaWxfcHRyc19tbGRfbG8sDQo+IHBoeXNf bG93KTsNCj4gPiArCQl9DQo+ID4gICAJfQ0KPiA+DQo+ID4gICAJcmV0ID0gYWxsb2NhdGVfaW5m b19yaW5nKGRldik7DQo+ID4gQEAgLTY4NCw4ICs3MzcsMTMgQEAgdnJiX3NldHVwX3F1ZXVlcyhz dHJ1Y3QgcnRlX2JiZGV2ICpkZXYsIHVpbnQxNl90DQo+IG51bV9xdWV1ZXMsIGludCBzb2NrZXRf aWQpDQo+ID4gICAJcnRlX2ZyZWUoZC0+dGFpbF9wdHJzKTsNCj4gPiAgIAlkLT50YWlsX3B0cnMg PSBOVUxMOw0KPiA+ICAgZnJlZV9zd19yaW5nczoNCj4gPiAtCXJ0ZV9mcmVlKGQtPnN3X3Jpbmdz X2Jhc2UpOw0KPiA+IC0JZC0+c3dfcmluZ3MgPSBOVUxMOw0KPiA+ICsJaWYgKGQtPmRldmljZV92 YXJpYW50ID09IFZSQjFfVkFSSUFOVCkgew0KPiA+ICsJCXJ0ZV9mcmVlKGQtPnN3X3JpbmdzX2Jh c2UpOw0KPiA+ICsJCWQtPnN3X3JpbmdzID0gTlVMTDsNCj4gDQo+IEl0IHdhcyBub3QgY2F1Z2h0 IGluaXRpYWxseSwgYnV0IGl0IGxvb2tzIGFrd2FyZCB0byBmcmVlIHN3X3JpbmdzX2Jhc2UsIGFu ZCB0aGVuDQo+IHNldCBzd19yaW5ncyB0byBOVUxMLg0KPiBzd19yaW5nc19iYXNlZCBzaG91bGQg YWxzbyBiZSBzZXQgdG8gTlVMTC4NCj4gDQo+ID4gKwl9IGVsc2UgaWYgKGQtPmRldmljZV92YXJp YW50ID09IFZSQjJfVkFSSUFOVCkgew0KPiA+ICsJCWZvciAoaSA9IDA7IGkgPD0gUlRFX0JCREVW X09QX01MRFRTOyBpKyspDQo+ID4gKwkJCXJ0ZV9mcmVlKGQtPnN3X3JpbmdzX2FycmF5W2ldKTsN Cj4gDQo+IFNhbWUgaGVyZSwgeW91IHNob3VsZCBzZXQgc3dfcmluZ3NfYXJyYXlbaV0gdG8gTlVM TCB0byBhdm9pZCBkb3VibGUgZnJlZQ0KPiBsYXRlci4NCg0KSSBiZWxpZXZlIHRoaXMgaXMgbW9y ZSBoaXN0b3JpY2FsIGFuZCBvcnRob2dvbmFsIHRvIHRoYXQgY29tbWl0LiANCkkgd291bGQgcHJl ZmVyIHRvIGNsZWFuIHRoYXQgdGhyb3VnaCBhbm90aGVyIHNlcmllIGFuZCBhcHBseSBzYW1lIEJL TSBjb25zaXN0ZW50bHksIGFuZCB3b3VsZCBub3Qgd2FudCB0byBydXNoIGl0Lg0KT0sgd2l0aCB5 b3U/DQoNCj4gDQo+ID4gKwl9DQo+ID4NCj4gPiAgIAlyZXR1cm4gcmV0Ow0KPiA+ICAgfQ0KPiA+ IEBAIC04MDksMTcgKzg2NywzNCBAQCB2cmJfaW50cl9lbmFibGUoc3RydWN0IHJ0ZV9iYmRldiAq ZGV2KQ0KPiA+ICAgc3RhdGljIGludA0KPiA+ICAgdnJiX2Rldl9jbG9zZShzdHJ1Y3QgcnRlX2Ji ZGV2ICpkZXYpDQo+ID4gICB7DQo+ID4gKwlpbnQgaTsNCj4gPiAgIAlzdHJ1Y3QgYWNjX2Rldmlj ZSAqZCA9IGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGU7DQo+ID4gKw0KPiA+ICAgCXZyYl9jaGVja19p cihkKTsNCj4gPiAtCWlmIChkLT5zd19yaW5nc19iYXNlICE9IE5VTEwpIHsNCj4gPiAtCQlydGVf ZnJlZShkLT50YWlsX3B0cnMpOw0KPiA+IC0JCXJ0ZV9mcmVlKGQtPmluZm9fcmluZyk7DQo+ID4g LQkJcnRlX2ZyZWUoZC0+c3dfcmluZ3NfYmFzZSk7DQo+ID4gLQkJcnRlX2ZyZWUoZC0+aGFycV9s YXlvdXQpOw0KPiA+IC0JCWQtPnRhaWxfcHRycyA9IE5VTEw7DQo+ID4gLQkJZC0+aW5mb19yaW5n ID0gTlVMTDsNCj4gPiAtCQlkLT5zd19yaW5nc19iYXNlID0gTlVMTDsNCj4gPiAtCQlkLT5oYXJx X2xheW91dCA9IE5VTEw7DQo+ID4gKwlpZiAoZC0+ZGV2aWNlX3ZhcmlhbnQgPT0gVlJCMV9WQVJJ QU5UKSB7DQo+ID4gKwkJaWYgKGQtPnN3X3JpbmdzX2Jhc2UgIT0gTlVMTCkgew0KPiA+ICsJCQly dGVfZnJlZShkLT50YWlsX3B0cnMpOw0KPiA+ICsJCQlydGVfZnJlZShkLT5pbmZvX3JpbmcpOw0K PiA+ICsJCQlydGVfZnJlZShkLT5zd19yaW5nc19iYXNlKTsNCj4gPiArCQkJcnRlX2ZyZWUoZC0+ aGFycV9sYXlvdXQpOw0KPiA+ICsJCQlkLT50YWlsX3B0cnMgPSBOVUxMOw0KPiA+ICsJCQlkLT5p bmZvX3JpbmcgPSBOVUxMOw0KPiA+ICsJCQlkLT5zd19yaW5nc19iYXNlID0gTlVMTDsNCj4gPiAr CQkJZC0+aGFycV9sYXlvdXQgPSBOVUxMOw0KPiA+ICsJCX0NCj4gDQo+IEFjdHVhbGx5LCBpdCB3 b3VsZCBiZSBjbGVhbm5lciB0byBwZXJmb3JtIHRoZSBmcmVlIG9wZXJhdGlvbnMgc3lzdGVtYXRp Y2FsbHksIG5vDQo+IG5lZWQgdG8gY2hlY2sgd2hldGhlciBzd19yaW5nc19iYXNlIGlzIE5VTEwu DQoNCk5vdGVkIGFzIGFib3ZlLg0KDQo+IA0KPiA+ICsJfSBlbHNlIGlmIChkLT5kZXZpY2VfdmFy aWFudCA9PSBWUkIyX1ZBUklBTlQpIHsNCj4gPiArCQlpZiAoZC0+c3dfcmluZ3NfYXJyYXlbMV0g IT0gTlVMTCkgew0KPiANCj4gV2h5IDEgYW5kIG5vdCAwPyBBbmQgYXMgbWVudGlvbm5lZCBhYm92 ZSB0aGlzIGNhbiBiZSBkb25lIHVuY29uZGl0aW9ubmFsbHkuDQoNClRoYW5rcy4gV2UgY2FuIGNo ZWNrIHRvIHN0YXJ0IGZyb20gaW5kZXggemVybyBpbmRlZWQgdG8gbWF0Y2ggdGhlIGFsbG9jYXRp b24uIA0KQXJndWFibHkgYXMgYW4gYXNpZGUgdGhlIHF1ZXVlIHplcm8gaXMgYSBzcGVjaWFsIG9u ZSBidXQgd2UgY2FuIG9wdGltaXplIHRoaXMgYSBiaXQgaW4gdGhlIGZ1dHVyZS4gDQpUaGFua3MN Cg0KPiANCj4gPiArCQkJcnRlX2ZyZWUoZC0+dGFpbF9wdHJzKTsNCj4gPiArCQkJcnRlX2ZyZWUo ZC0+aW5mb19yaW5nKTsNCj4gPiArCQkJcnRlX2ZyZWUoZC0+aGFycV9sYXlvdXQpOw0KPiA+ICsJ CQlkLT50YWlsX3B0cnMgPSBOVUxMOw0KPiA+ICsJCQlkLT5pbmZvX3JpbmcgPSBOVUxMOw0KPiA+ ICsJCQlkLT5oYXJxX2xheW91dCA9IE5VTEw7DQo+ID4gKwkJCWZvciAoaSA9IDA7IGkgPD0gUlRF X0JCREVWX09QX01MRFRTOyBpKyspIHsNCj4gPiArCQkJCXJ0ZV9mcmVlKGQtPnN3X3JpbmdzX2Fy cmF5W2ldKTsNCj4gPiArCQkJCWQtPnN3X3JpbmdzX2FycmF5W2ldID0gTlVMTDsNCj4gPiArCQkJ fQ0KPiA+ICsJCX0NCj4gPiAgIAl9DQo+ID4gICAJLyogRW5zdXJlIGFsbCBpbiBmbGlnaHQgSFcg dHJhbnNhY3Rpb25zIGFyZSBjb21wbGV0ZWQuICovDQo+ID4gICAJdXNsZWVwKEFDQ19MT05HX1dB SVQpOw0KPiA+IEBAIC04OTAsOCArOTY1LDE2IEBAIHZyYl9xdWV1ZV9zZXR1cChzdHJ1Y3QgcnRl X2JiZGV2ICpkZXYsIHVpbnQxNl90DQo+IHF1ZXVlX2lkLA0KPiA+ICAgCX0NCj4gPg0KPiA+ICAg CXEtPmQgPSBkOw0KPiA+IC0JcS0+cmluZ19hZGRyID0gUlRFX1BUUl9BREQoZC0+c3dfcmluZ3Ms IChkLT5zd19yaW5nX3NpemUgKg0KPiBxdWV1ZV9pZCkpOw0KPiA+IC0JcS0+cmluZ19hZGRyX2lv dmEgPSBkLT5zd19yaW5nc19pb3ZhICsgKGQtPnN3X3Jpbmdfc2l6ZSAqIHF1ZXVlX2lkKTsNCj4g PiArCWlmIChkLT5kZXZpY2VfdmFyaWFudCA9PSBWUkIxX1ZBUklBTlQpIHsNCj4gPiArCQlxLT5y aW5nX2FkZHIgPSBSVEVfUFRSX0FERChkLT5zd19yaW5ncywgKGQtPnN3X3Jpbmdfc2l6ZSAqDQo+ IHF1ZXVlX2lkKSk7DQo+ID4gKwkJcS0+cmluZ19hZGRyX2lvdmEgPSBkLT5zd19yaW5nc19pb3Zh ICsgKGQtPnN3X3Jpbmdfc2l6ZSAqDQo+IHF1ZXVlX2lkKTsNCj4gPiArCX0gZWxzZSBpZiAoZC0+ ZGV2aWNlX3ZhcmlhbnQgPT0gVlJCMl9WQVJJQU5UKSB7DQo+ID4gKwkJcS0+cmluZ19hZGRyID0g UlRFX1BUUl9BREQoZC0+c3dfcmluZ3NfYXJyYXlbY29uZi0NCj4gPm9wX3R5cGVdLA0KPiA+ICsJ CQkJKGQtPnN3X3Jpbmdfc2l6ZSAqIGQtPnF1ZXVlX2luZGV4W2NvbmYtDQo+ID5vcF90eXBlXSkp Ow0KPiA+ICsJCXEtPnJpbmdfYWRkcl9pb3ZhID0gZC0+c3dfcmluZ3NfaW92YV9hcnJheVtjb25m LT5vcF90eXBlXSArDQo+ID4gKwkJCQkoZC0+c3dfcmluZ19zaXplICogZC0+cXVldWVfaW5kZXhb Y29uZi0NCj4gPm9wX3R5cGVdKTsNCj4gPiArCQlkLT5xdWV1ZV9pbmRleFtjb25mLT5vcF90eXBl XSsrOw0KPiA+ICsJfQ0KPiA+DQo+ID4gICAJLyogUHJlcGFyZSB0aGUgUmluZyB3aXRoIGRlZmF1 bHQgZGVzY3JpcHRvciBmb3JtYXQuICovDQo+ID4gICAJdW5pb24gYWNjX2RtYV9kZXNjICpkZXNj ID0gTlVMTDsNCj4gPiBAQCAtMTM0Nyw4ICsxNDMwLDE0IEBAIHZyYl9kZXZfaW5mb19nZXQoc3Ry dWN0IHJ0ZV9iYmRldiAqZGV2LCBzdHJ1Y3QNCj4gcnRlX2JiZGV2X2RyaXZlcl9pbmZvICpkZXZf aW5mbykNCj4gPiAgIAlkZXZfaW5mby0+cXVldWVfcHJpb3JpdHlbUlRFX0JCREVWX09QX0ZGVF0g PSBkLQ0KPiA+YWNjX2NvbmYucV9mZnQubnVtX3Fncm91cHM7DQo+ID4gICAJZGV2X2luZm8tPnF1 ZXVlX3ByaW9yaXR5W1JURV9CQkRFVl9PUF9NTERUU10gPSBkLQ0KPiA+YWNjX2NvbmYucV9tbGQu bnVtX3Fncm91cHM7DQo+ID4gICAJZGV2X2luZm8tPm1heF9udW1fcXVldWVzID0gMDsNCj4gPiAt CWZvciAoaSA9IFJURV9CQkRFVl9PUF9OT05FOyBpIDw9IFJURV9CQkRFVl9PUF9NTERUUzsgaSsr KQ0KPiA+ICsJZm9yIChpID0gUlRFX0JCREVWX09QX05PTkU7IGkgPD0gUlRFX0JCREVWX09QX01M RFRTOyBpKyspIHsNCj4gPiArCQlpZiAodW5saWtlbHkoZGV2X2luZm8tPm51bV9xdWV1ZXNbaV0g Pg0KPiBWUkIyX01BWF9RX1BFUl9PUCkpIHsNCj4gPiArCQkJcnRlX2JiZGV2X2xvZyhFUlIsICJV bmV4cGVjdGVkIG51bWJlciBvZiBxdWV1ZXMNCj4gJWQgZXhwb3NlZCBmb3Igb3AgJWQiLA0KPiA+ ICsJCQkJCWRldl9pbmZvLT5udW1fcXVldWVzW2ldLCBpKTsNCj4gPiArCQkJZGV2X2luZm8tPm51 bV9xdWV1ZXNbaV0gPSBWUkIyX01BWF9RX1BFUl9PUDsNCj4gPiArCQl9DQo+ID4gICAJCWRldl9p bmZvLT5tYXhfbnVtX3F1ZXVlcyArPSBkZXZfaW5mby0+bnVtX3F1ZXVlc1tpXTsNCj4gPiArCX0N Cj4gPiAgIAlkZXZfaW5mby0+cXVldWVfc2l6ZV9saW0gPSBBQ0NfTUFYX1FVRVVFX0RFUFRIOw0K PiA+ICAgCWRldl9pbmZvLT5oYXJkd2FyZV9hY2NlbGVyYXRlZCA9IHRydWU7DQo+ID4gICAJZGV2 X2luZm8tPm1heF9kbF9xdWV1ZV9wcmlvcml0eSA9DQo+ID4gQEAgLTQyMzksNyArNDMyOCw4IEBA IHZyYl9iYmRldl9pbml0KHN0cnVjdCBydGVfYmJkZXYgKmRldiwgc3RydWN0DQo+IHJ0ZV9wY2lf ZHJpdmVyICpkcnYpDQo+ID4gICAJCQlkLT5yZWdfYWRkciA9ICZ2cmIxX3BmX3JlZ19hZGRyOw0K PiA+ICAgCQllbHNlDQo+ID4gICAJCQlkLT5yZWdfYWRkciA9ICZ2cmIxX3ZmX3JlZ19hZGRyOw0K PiA+IC0JfSBlbHNlIHsNCj4gPiArCX0gZWxzZSBpZiAoKHBjaV9kZXYtPmlkLmRldmljZV9pZCA9 PSBSVEVfVlJCMl9QRl9ERVZJQ0VfSUQpIHx8DQo+ID4gKwkJCShwY2lfZGV2LT5pZC5kZXZpY2Vf aWQgPT0gUlRFX1ZSQjJfVkZfREVWSUNFX0lEKSkgew0KPiA+ICAgCQlkLT5kZXZpY2VfdmFyaWFu dCA9IFZSQjJfVkFSSUFOVDsNCj4gPiAgIAkJZC0+cXVldWVfb2Zmc2V0ID0gdnJiMl9xdWV1ZV9v ZmZzZXQ7DQo+ID4gICAJCWQtPm51bV9xZ3JvdXBzID0gVlJCMl9OVU1fUUdSUFM7DQoNCg==