From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from BL2PR02CU003.outbound.protection.outlook.com (mail-eastusazon11011045.outbound.protection.outlook.com [52.101.52.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 21A333F0746 for ; Thu, 9 Jul 2026 09:13:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.52.45 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783588432; cv=fail; b=N4kEXEfnreI9evfbaGQvfkqm6V3Pgs7fBVyLpM8Ey+dyP7zo7wDhRC478lzpPcotfn/CQFRTrRYq0JiQpsgFBirna8P1K3AtMi32Fhj9e4xFBYpazaEKnXaYM4mWYFHa3f/+d5+mnAyXG6yDaLC6od+sACwTi1/U3yWxHk2DOr0= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783588432; c=relaxed/simple; bh=MY5ZqtHUxe5GXO19nL/jK1AhjGlmsiTJQDzCunkTyG0=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=VJx1/pPeXxeoy41v4UKZFyBlVL96uwflfZs2vjPvUy9Qp7zcxpAVFXFouqEf2XzvpO9WZoSKtrhQ+/D6MsnFJ3YzhJHHkvfy145tPs93VOiJcxa0F/WedO1Mmhp4EcIx3Zwe1/PPB4xVhB4V7RG4UEKqhhYkSYlDkDzH/7kPVBc= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=altera.com; spf=pass smtp.mailfrom=altera.com; dkim=pass (2048-bit key) header.d=altera.com header.i=@altera.com header.b=RHTjfi1e; arc=fail smtp.client-ip=52.101.52.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=altera.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=altera.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=altera.com header.i=@altera.com header.b="RHTjfi1e" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=qLZ0kGhqufzkMpAlPkHe3nur33DDv9d/sIDa+RhgJnqxS1KhUa1rkRNZnmA1jwbp8Yijc+f/hFsNtJKOSYB7oGjZVlbljK6m0RJJaIFvfT09gzbAf4ln9oFV+9mbru/BTaoNm1w3k68n9LcPNLmxhs89VMOYCpasoMXM8lEw/CpoMO3bLE16LRKmeSH7GNDII9QBgajH4UoMj5sH24LgmF50p2ET/TDr8MeVAWzyw+VY5tEgywGhB+FdHAlR5z3uV++ncWF34t64PergcY8QyVM3/14i1qYxi2hlsKRO5HH1AJG1C8JtaIFiMtkVLeq6JNH0A8CR1hKMbATXy79hbg== 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=MY5ZqtHUxe5GXO19nL/jK1AhjGlmsiTJQDzCunkTyG0=; b=JTShOHF2aOv20le3aror4qSAViCsRclTAstPY4u7BAl0PGpmtY2ATgWnuqULZnvcpa8bUccVtOtrm15FYzQsppewhd5TR7DXbr/Y6GAB2WlcAtENLesQbKm8Lx9li5ozLHCJlr8z/G8rq75YTIbnUjALiyOtaMt3zRESP2pe49bJ4KQWIJT9uT/36/gGXcC+gTy0hBl9KgU9p+LKDPqcawtsrmY1kLG3owNegy6ob5g40x4NwQnwPbXo8MwMV/iXc276cgP2BsFA9rnYTuTEJ+huqiyrov4JWb9EVhF5AOMO19Duvh/SO33F7ykcEBTByRFHfXE2+jywvidcJ4u5EA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=altera.com; dmarc=pass action=none header.from=altera.com; dkim=pass header.d=altera.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=altera.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=MY5ZqtHUxe5GXO19nL/jK1AhjGlmsiTJQDzCunkTyG0=; b=RHTjfi1efjHBk+tZeVpRCfitZtARO/77Eb7grFXXAD1H2VtLrwBdT8T0sx8uweSgwg/8qpewGbFnGONWqtPJFLvoua/Tjn/JLEgd4ZSAiDk6lt++F9qxPjj0N5r7uQ7weOikx4dw+FbbDqz5lkn9KuCYjbv7bTJAx1194bMOd5zkhzFK0HwWDw2gbvORHiEfSUpAv05Qd7vxlJCQ3v9lsnXXzco3+jRGpUvpsJaJrB0ZdQsPfr38rooeGzOxwPkfgfZPa7I+5ksXe3wb5SipXBrXdDpfxVEuxHqbdG0t8/2Nz8h1nb23RgiLrt7JKjeRxpFjsNIFsq+Q8b+B39BFPw== Received: from SJ0PR03MB5950.namprd03.prod.outlook.com (2603:10b6:a03:2d3::20) by MN2PR03MB5101.namprd03.prod.outlook.com (2603:10b6:208:1b0::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.181.15; Thu, 9 Jul 2026 09:13:47 +0000 Received: from SJ0PR03MB5950.namprd03.prod.outlook.com ([fe80::53a0:bf93:6b6b:de01]) by SJ0PR03MB5950.namprd03.prod.outlook.com ([fe80::53a0:bf93:6b6b:de01%5]) with mapi id 15.21.0181.014; Thu, 9 Jul 2026 09:13:47 +0000 From: "NG, TZE YEE" To: Dinh Nguyen , "linux-kernel@vger.kernel.org" CC: "NG, ADRIAN HO YIN" , "Nazle Asmade, Muhammad Nazim Amirul" Subject: Re: [PATCH] firmware: stratix10-rsu: Add synchronous fallback for async SVC operations Thread-Topic: [PATCH] firmware: stratix10-rsu: Add synchronous fallback for async SVC operations Thread-Index: AQHc7PPkYJ/3m42I2E2LhSu2Xpru+7ZlLIuA Date: Thu, 9 Jul 2026 09:13:46 +0000 Message-ID: References: <69aae935f5a07649275a1b79046f5d92968a6087.1779788405.git.tze.yee.ng@altera.com> In-Reply-To: <69aae935f5a07649275a1b79046f5d92968a6087.1779788405.git.tze.yee.ng@altera.com> 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=altera.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SJ0PR03MB5950:EE_|MN2PR03MB5101:EE_ x-ms-office365-filtering-correlation-id: 5e5b88e7-3765-4fb7-e068-08dedd9a61e2 x-ms-exchange-atpmessageproperties: SA x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|23010399003|376014|1800799024|366016|38070700021|18002099003|22082099003|55112099003|56012099006|11063799006|3023799007; x-microsoft-antispam-message-info: xL4M7bm2T1W1Wa32pnU4QyWc33NdAq65o6o9DiKa0q5I10RZSYfJZ7M+Yry5m0bcxtvLrDO0hk2TzYsZmO/aYQXW+9CSmRp/ZX/otyc/15Hk/rD1OWRurUK3crjIvqxtGkuOaWutHqbkbUcdbmk+OpE449YBmwuVaSlKWfahWbQFSq8LGwTrNCpT3q0g+eXB7YyFlLzCGBl9CJD/SL5vdBhkkLnOtl8zS1h++VOkka8VoJe9rkDZmXJMcBC3o+ba4LaVKN+/mbaR11YoNe0koFWRo1eot17uyUnhnYu3Bg3Q1hAMuxHoHqir1gMUhfBm9ZN5NlLiq+uqFucRJe/YBbuCFDsrdghbJqgAZhdL08eCDkztT+QqyyBlHTEvM92fjt2sz8boqk1MryXf1BQgV83J+UmHtg/OF1siv5NJjLJ4trUDaxN66eWQDcLCLH+hLJBASSpvMnoP/XVgvgeviLz4LSDoxAzRHDOZnShqT3JdRp3vqiKvf32y1NnllNQzh1XUsl1JGO2of0bExW0DNOUIzVyhEFaQSFWwCp2f4ZiqRg6HAGX4apnKVXnjVvqpDuJ57gRH/S77SHVh8oemFv7GAaDgy4vdkFodlzvh6KUKDJi9BtFSvLl62VKdsn/FrzY2i2UfpminX25VWVt0RtVkEjkIw5sYC94m6aO2dimsmaV7yAs3sUYcsyZXoRvChLy/sf0tFV3TDih+PxcSAAeLbZIp3jRrAbaIjWN6NJw= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB5950.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(376014)(1800799024)(366016)(38070700021)(18002099003)(22082099003)(55112099003)(56012099006)(11063799006)(3023799007);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?cGgrS0Vwall2MEVhbUY2eVZXRWM3Rk5wWmM1RW5GczNqNnhIOU94T2dEZFRy?= =?utf-8?B?UU1oM2p2Tlp3RHVDREUrYmIwaDhySmxhZkFXT2lGSFdQZytNTXM1MUxnVEVw?= =?utf-8?B?VVNKZzJFT3BNdllKMnZqanNUK3o3NFdWVGNwclMrZGhZQmx1T0RhL1ozelRD?= =?utf-8?B?L3p0ZFlPZE5scG1qalNYcm9yYTd0RllhS3o5czlZamZ1TDcxQ1BOYldoeE1J?= =?utf-8?B?MW5YOXgyWWtUVjkzV1l5a1FlZ0pkMCtDMStYM0pZa09TdGFZQ01CZ0Vxeld4?= =?utf-8?B?K2lmT3hxQlpzM3dMSGhnR3A2NENYa0ROajFxRm9POVMwdHVKMHo1SWFrbHZy?= =?utf-8?B?VEZwb0tPc0srMkZZdVNtYmN0T3NwOVo4ekdPU3M1aFFWakZYRGl6ZUYyakYr?= =?utf-8?B?TDk1VGNaN3Z6dzVmdk53RFlyRE83MWJHaHZKdHlwTVFEb05LSldYdW1nMm9B?= =?utf-8?B?RGg0YWdnKzZzb3FJb2YzWUNkbU03ckQxYW4rQW84bHg0MUFkR3lZZFNCaWlW?= =?utf-8?B?RnU1eXVRcnBtNWthRVRwTWZ3NGdtNVVkdE95RWY2Z2tjdmN6S1QwTzltbkVn?= =?utf-8?B?L0luWTVBUExyUk9wVTAwaGZ0K3dnWnR0WGsrWVVpWXZFTzlOVDlzR0xmZjVq?= =?utf-8?B?eG14UXl5MmEvOWs1bUhZdFlPT3lSbzR2OTNuc1dQQmhKU1N0dG95cFpFOWo1?= =?utf-8?B?ZlJJN0V0Tys1ZWdQSXRHVlVhY1R2amVmMzlUazY2cC83V0N2UStNUU9kNHZ3?= =?utf-8?B?Q3RmTk5ZRDBndm5DZzFkQi9tNGMwc0Nza1hWZStzMXROZncwSVEyRlJCZWlz?= =?utf-8?B?cmtPRnQrYkFwcG45QWNLSXRxQlJKcVZja3AyY1h6ajgrOVFFV0h6UlpzZ3Zo?= =?utf-8?B?TlMwajJuSHlkcElrTjVQT21GeGJCSUE0bUNFWjdkUHhmcGNIaU85emRZL3hs?= =?utf-8?B?NEhkSFJqbG4zVzU3d2lHTzFoVnQwNHR5SnFTYXBXQ3M4T1U0U29XZC9QeHEy?= =?utf-8?B?Rm10NWw5VjZZVTlob0ZNcmcrcFM3NlFDbWpCSnZJcDBLK1VQTDk2RGI3Um4x?= =?utf-8?B?VTRnWWVXeVRsRVI4YjhnVnRMYXVwYzh4WUp6UmFTMjRoWEx2VzBWWE1RT1dI?= =?utf-8?B?NTlnc2RQNUVWNnB0QUtUK0R4QS8rQTNhZVVIakczdC9QV1NlS3U5b0ZmR0VJ?= =?utf-8?B?dHBwSTNhOUEwL1gzWnhHdVk1Q0V4UEt6WTFRTzFVUnJKbjBLaytGODRPdEtJ?= =?utf-8?B?M09tQkJXRk1NVURVZStLZW85czczbjV4UndFY0RVVnlhdHUwSGxtR01DWDlV?= =?utf-8?B?WXFPR3lPTVNrMjRxdHpnQ3EwczRUT0dldDBRTlVjbkNyNzV2ZjdqcXJjSGVt?= =?utf-8?B?Z002eExhbU1abUJQUGwyUElkeUVXeTQrbmtreDRtbUNqRVBNUjJ4MDZoRVU1?= =?utf-8?B?bXlMVnM2SzI0a2lnSXdYREFYY2I1VEpVeU9keUI3bElrZ3F5ZWtWSjAxRDky?= =?utf-8?B?REM0NXV3cnVWbTl5Y014bk5rZFBJOEdrZWRRN1pqdE84TG95UFVmYVV5Q3ln?= =?utf-8?B?ZmZ0R0gwdUtXc2xuNnZ3azJUeGIraDZlamc5T1NBbzBId0NTd0h4SWlWeVZv?= =?utf-8?B?clduVCtNUnorVVk5MW00VlFSZ2dsZVJFTkd2RGo1U2JKNkdHRUp3NHc2bEZs?= =?utf-8?B?V01pTHZzbDVJbHJ1cjVVUnYrMkhTbDJsR25NYWszR25pL1lrWUV3TjBuM3hC?= =?utf-8?B?SlpVdzR6R0VFOVl6TFRDdldxS2dDeTUrUHNIQzlCaVc1bGtnVms0NXNuNFZq?= =?utf-8?B?TjBRYjhqZHZCeTZYZUlNcTVGTU5VbjA1aysza2RIZ2NPMWdib2R6RlZjdW9i?= =?utf-8?B?STlDYW16L3ZiT2poQUxvZVdWS3VOSktYdlFtZWZ5RG9YQWl1dmd5Z21pZytC?= =?utf-8?B?Y1FCekpueitUbFNnM2dnNHgwaVJNSkRMMkNIWGFqclNaZHZoMmFRNHo4T091?= =?utf-8?B?UzFFM3lqQStxY2owSE4zREREeGF0Yk1WaDJ5YU0rYUtZRWZGUDhLTlNreFlH?= =?utf-8?B?dWJKeUdMSFduaW5iYUdQWE1hMlJMTlNSOEJ2TUR4enpvV05CajFZdlZxaVQ0?= =?utf-8?B?QmtlTE0xMTEwc3A3KzVVdXBKV2prNWxYSXQrRDM3VmV4WVdrTG1BcEZWNGdV?= =?utf-8?B?L1A1eWdEcDcvRFhMTmlpYzVGRTFJTEN4c3M1OU9GS0ExZ3FsVlJQd2lXWk1x?= =?utf-8?B?UGVhUVJhODYwN1N4YW5LdHlIOFFvTU9saG1wcmh0UlRWOEhaamw5VkliN3RQ?= =?utf-8?B?R0trblBKeHI1SnBsQXJYN0p5TjNaN20vQW0zWmhQSitXRi9nZmh4Sk1scjJN?= =?utf-8?Q?Gc6595w15VfH0MQo=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <4FEB530A93239C44B51C95FC7DB7458B@namprd03.prod.outlook.com> Content-Transfer-Encoding: base64 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-OriginatorOrg: altera.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB5950.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5e5b88e7-3765-4fb7-e068-08dedd9a61e2 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Jul 2026 09:13:46.9655 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: fbd72e03-d4a5-4110-adce-614d51f2077a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: ZENNtdV82w5rwMNZ3mpKCjNbPm2XsXO+pehCU/beDm1a1YcOez3t/QpsTdw7DpypMXY+wklJJ5+BNiFWU7rHuw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB5101 T24gMjYvNS8yMDI2IDU6NDEgcG0sIE5HLCBUWkUgWUVFIHdyb3RlOg0KPiBGcm9tOiBNYWhlc2gg UmFvIDxtYWhlc2gucmFvQGFsdGVyYS5jb20+DQo+IA0KPiBUaGUgUlNVIGRyaXZlciB3YXMgbWln cmF0ZWQgdG8gdGhlIFN0cmF0aXgxMCBhc3luY2hyb25vdXMgc2VydmljZQ0KPiBmcmFtZXdvcmss IHdoaWNoIGFzc3VtZXMgYXN5bmMgY2xpZW50IHJlZ2lzdHJhdGlvbiBhbHdheXMgc3VjY2VlZHMu IE9uDQo+IHBsYXRmb3JtcyB3aGVyZSB0aGUgYXN5bmMgY29udHJvbGxlciBpcyB1bmF2YWlsYWJs ZSBvciBSU1UgYXN5bmMgc3VwcG9ydA0KPiBpcyBub3QgcHJlc2VudCwgcHJvYmUgZmFpbHMgb3Ig c3lzZnMgb3BlcmF0aW9ucyBjYW5ub3QgcmVhY2ggZmlybXdhcmUuDQo+IA0KPiBEZXRlY3QgYXN5 bmMgY2FwYWJpbGl0eSBhdCBwcm9iZSB2aWEgc3RyYXRpeDEwX3N2Y19hZGRfYXN5bmNfY2xpZW50 KCkgYW5kDQo+IGZhbGwgYmFjayB0byB0aGUgbGVnYWN5IHN5bmNocm9ub3VzIHJzdV9zZW5kX21z ZygpIHBhdGggd2hlbiByZWdpc3RyYXRpb24NCj4gZmFpbHMuIFRyYWNrIGNhcGFiaWxpdHkgaW4g cHJpdi0+YXN5bmMgYW5kIGJyYW5jaCBhY2NvcmRpbmdseSBmb3I6DQo+IA0KPiAgIC0gSW5pdGlh bCBSU1Ugc3RhdHVzIGFuZCByZXRyeSBjb3VudGVyIGR1cmluZyBwcm9iZSAocmV0cnkgaXMgYnVu ZGxlZCBpbg0KPiAgICAgYXN5bmMgc3RhdHVzOyBpc3N1ZSBDT01NQU5EX1JTVV9SRVRSWSBzZXBh cmF0ZWx5IGluIHN5bmMgbW9kZSkNCj4gICAtIG5vdGlmeSBzeXNmcyBzdG9yZSAobm90aWZ5LCBz dGF0dXMsIGFuZCByZXRyeSkNCj4gICAtIFNQVCB0YWJsZSByZXRyaWV2YWwgKENPTU1BTkRfUlNV X0dFVF9TUFRfVEFCTEUgYXN5bmMgdnMgbWJveA0KPiAgICAgQ09NTUFORF9NQk9YX1NFTkRfQ01E IHN5bmNocm9ub3VzKQ0KPiANCj4gUmVzdG9yZSBzeW5jaHJvbm91cyBjYWxsYmFja3MgKHJzdV9z dGF0dXNfY2FsbGJhY2ssIHJzdV9yZXRyeV9jYWxsYmFjaywNCj4gcnN1X2dldF9zcHRfY2FsbGJh Y2spIGFuZCB3aXJlIENPTU1BTkRfTUJPWF9TRU5EX0NNRCBwYXlsb2FkIGhhbmRsaW5nIGluDQo+ IHJzdV9zZW5kX21zZygpLg0KPiANCj4gSW1wcm92ZSBwcm9iZSBhbmQgcmVtb3ZlIGNsZWFudXA6 IHJldHVybiBvbiBpbnRlcm1lZGlhdGUgcHJvYmUgZmFpbHVyZXMsDQo+IHJlbW92ZSB0aGUgYXN5 bmMgY2xpZW50IHdoZW4gcmVnaXN0ZXJlZCwgYW5kIGZyZWUgdGhlIFNQVCByZXNwb25zZSBidWZm ZXINCj4gb24gc3luYy1wYXRoIGFsbG9jYXRpb24gZXJyb3JzLg0KPiANCj4gU3VnZ2VzdGVkLWJ5 OiBBbmRlcnMgSGVkbHVuZCA8YW5kZXJzLmhlZGx1bmRAd2luZHJpdmVyLmNvbT4NCj4gU2lnbmVk LW9mZi1ieTogTWFoZXNoIFJhbyA8bWFoZXNoLnJhb0BhbHRlcmEuY29tPg0KPiBTaWduZWQtb2Zm LWJ5OiBBc3lyYWFmIEF6aGFyIDxtb2hhbWFkLmFzeXJhYWYuYXpoYXJAYWx0ZXJhLmNvbT4NCj4g U2lnbmVkLW9mZi1ieTogVHplIFllZSBOZyA8dHplLnllZS5uZ0BhbHRlcmEuY29tPg0KPiAtLS0N Cj4gICBkcml2ZXJzL2Zpcm13YXJlL3N0cmF0aXgxMC1yc3UuYyB8IDIxNSArKysrKysrKysrKysr KysrKysrKysrKysrKysrKy0tDQo+ICAgMSBmaWxlIGNoYW5nZWQsIDIwMSBpbnNlcnRpb25zKCsp LCAxNCBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2Zpcm13YXJlL3N0 cmF0aXgxMC1yc3UuYyBiL2RyaXZlcnMvZmlybXdhcmUvc3RyYXRpeDEwLXJzdS5jDQo+IGluZGV4 IDZjNWY5NTJmNDhkOC4uMTcyODhlNzIzNWU2IDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL2Zpcm13 YXJlL3N0cmF0aXgxMC1yc3UuYw0KPiArKysgYi9kcml2ZXJzL2Zpcm13YXJlL3N0cmF0aXgxMC1y c3UuYw0KPiBAQCAtMTgsNiArMTgsMTAgQEANCj4gICAjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+ DQo+ICAgI2luY2x1ZGUgPGxpbnV4L3N5c2ZzLmg+DQo+ICAgDQo+ICsjZGVmaW5lIFJTVV9TVEFU RV9NQVNLCQkJR0VOTUFTS19VTEwoMzEsIDApDQo+ICsjZGVmaW5lIFJTVV9WRVJTSU9OX01BU0sJ CUdFTk1BU0tfVUxMKDYzLCAzMikNCj4gKyNkZWZpbmUgUlNVX0VSUk9SX0xPQ0FUSU9OX01BU0sJ CUdFTk1BU0tfVUxMKDMxLCAwKQ0KPiArI2RlZmluZSBSU1VfRVJST1JfREVUQUlMX01BU0sJCUdF Tk1BU0tfVUxMKDYzLCAzMikNCj4gICAvKg0KPiAgICAqIElOVEVMX1NJUF9TTUNfUlNVX0dFVF9E RVZJQ0VfSU5GTyBwYWNrcyBlYWNoIGZsYXNoIHdvcmQgYXM6DQo+ICAgICogICBbNjM6MzJdIGVy YXNlX3NpemUsIFszMTowXSBzaXplIChzZWUgc3RyYXRpeDEwLXNtYy5oKS4NCj4gQEAgLTQ0LDYg KzQ4LDcgQEANCj4gICANCj4gICAjZGVmaW5lIFJTVV9SRVRSWV9TTEVFUF9NUwkJKDFVKQ0KPiAg ICNkZWZpbmUgUlNVX0FTWU5DX01TR19SRVRSWQkJKDNVKQ0KPiArI2RlZmluZSBSU1VfR0VUX1NQ VF9DTUQJCQkweDVBDQo+ICAgI2RlZmluZSBSU1VfR0VUX1NQVF9SRVNQX0xFTgkJKDQgKiBzaXpl b2YodW5zaWduZWQgaW50KSkNCj4gICANCj4gICBzdHJ1Y3QgZmxhc2hfZGV2aWNlX2luZm8gew0K PiBAQCAtNzMsNiArNzgsNyBAQCB0eXBlZGVmIHZvaWQgKCpyc3VfY2FsbGJhY2spKHN0cnVjdCBz dHJhdGl4MTBfc3ZjX2NsaWVudCAqY2xpZW50LA0KPiAgICAqIEBjbGllbnQ6IGFjdGl2ZSBzZXJ2 aWNlIGNsaWVudA0KPiAgICAqIEBjb21wbGV0aW9uOiBzdGF0ZSBmb3IgY2FsbGJhY2sgY29tcGxl dGlvbg0KPiAgICAqIEBsb2NrOiBhIG11dGV4IHRvIHByb3RlY3QgY2FsbGJhY2sgY29tcGxldGlv biBzdGF0ZQ0KPiArICogQGFzeW5jOiBzdXBwb3J0cyBhc3luYyBvcGVyYXRpb25zDQo+ICAgICog QHN0YXR1cy5jdXJyZW50X2ltYWdlOiBhZGRyZXNzIG9mIGltYWdlIGN1cnJlbnRseSBydW5uaW5n IGluIGZsYXNoDQo+ICAgICogQHN0YXR1cy5mYWlsX2ltYWdlOiBhZGRyZXNzIG9mIGZhaWxlZCBp bWFnZSBpbiBmbGFzaA0KPiAgICAqIEBzdGF0dXMudmVyc2lvbjogdGhlIGludGVyZmFjZSB2ZXJz aW9uIG51bWJlciBvZiBSU1UgZmlybXdhcmUNCj4gQEAgLTk5LDYgKzEwNSw3IEBAIHN0cnVjdCBz dHJhdGl4MTBfcnN1X3ByaXYgew0KPiAgIAlzdHJ1Y3Qgc3RyYXRpeDEwX3N2Y19jbGllbnQgY2xp ZW50Ow0KPiAgIAlzdHJ1Y3QgY29tcGxldGlvbiBjb21wbGV0aW9uOw0KPiAgIAlzdHJ1Y3QgbXV0 ZXggbG9jazsNCj4gKwlib29sIGFzeW5jOw0KPiAgIAlzdHJ1Y3Qgew0KPiAgIAkJdW5zaWduZWQg bG9uZyBjdXJyZW50X2ltYWdlOw0KPiAgIAkJdW5zaWduZWQgbG9uZyBmYWlsX2ltYWdlOw0KPiBA QCAtMTI5LDYgKzEzNiw4IEBAIHN0cnVjdCBzdHJhdGl4MTBfcnN1X3ByaXYgew0KPiAgIA0KPiAg IAl1bnNpZ25lZCBsb25nIHNwdDBfYWRkcmVzczsNCj4gICAJdW5zaWduZWQgbG9uZyBzcHQxX2Fk ZHJlc3M7DQo+ICsNCj4gKwl1bnNpZ25lZCBpbnQgKmdldF9zcHRfcmVzcG9uc2VfYnVmOw0KPiAg IH07DQo+ICAgDQo+ICAgLyoqDQo+IEBAIC0xNDgsNiArMTU3LDQ1IEBAIHN0YXRpYyB2b2lkIHJz dV9kZXZpY2VfaW5mb19pbnZhbGlkYXRlKHN0cnVjdCBzdHJhdGl4MTBfcnN1X3ByaXYgKnByaXYp DQo+ICAgdHlwZWRlZiB2b2lkICgqcnN1X2FzeW5jX2NhbGxiYWNrKShzdHJ1Y3QgZGV2aWNlICpk ZXYsDQo+ICAgCXN0cnVjdCBzdHJhdGl4MTBfcnN1X3ByaXYgKnByaXYsIHN0cnVjdCBzdHJhdGl4 MTBfc3ZjX2NiX2RhdGEgKmRhdGEpOw0KPiAgIA0KPiArLyoqDQo+ICsgKiByc3Vfc3RhdHVzX2Nh bGxiYWNrKCkgLSBTdGF0dXMgY2FsbGJhY2sgZnJvbSBJbnRlbCBTZXJ2aWNlIExheWVyDQo+ICsg KiBAY2xpZW50OiBwb2ludGVyIHRvIHNlcnZpY2UgY2xpZW50DQo+ICsgKiBAZGF0YTogcG9pbnRl ciB0byBjYWxsYmFjayBkYXRhIHN0cnVjdHVyZQ0KPiArICoNCj4gKyAqIENhbGxiYWNrIGZyb20g SW50ZWwgc2VydmljZSBsYXllciBmb3IgUlNVIHN0YXR1cyByZXF1ZXN0LiBTdGF0dXMgaXMNCj4g KyAqIG9ubHkgdXBkYXRlZCBhZnRlciBhIHN5c3RlbSByZWJvb3QsIHNvIGEgZ2V0IHVwZGF0ZWQg c3RhdHVzIGNhbGwgaXMNCj4gKyAqIG1hZGUgZHVyaW5nIGRyaXZlciBwcm9iZS4NCj4gKyAqLw0K PiArc3RhdGljIHZvaWQgcnN1X3N0YXR1c19jYWxsYmFjayhzdHJ1Y3Qgc3RyYXRpeDEwX3N2Y19j bGllbnQgKmNsaWVudCwNCj4gKwkJCQlzdHJ1Y3Qgc3RyYXRpeDEwX3N2Y19jYl9kYXRhICpkYXRh KQ0KPiArew0KPiArCXN0cnVjdCBzdHJhdGl4MTBfcnN1X3ByaXYgKnByaXYgPSBjbGllbnQtPnBy aXY7DQo+ICsJc3RydWN0IGFybV9zbWNjY19yZXMgKnJlcyA9IChzdHJ1Y3QgYXJtX3NtY2NjX3Jl cyAqKWRhdGEtPmthZGRyMTsNCj4gKw0KPiArCWlmIChkYXRhLT5zdGF0dXMgPT0gQklUKFNWQ19T VEFUVVNfT0spKSB7DQo+ICsJCXByaXYtPnN0YXR1cy52ZXJzaW9uID0gRklFTERfR0VUKFJTVV9W RVJTSU9OX01BU0ssDQo+ICsJCQkJCQkgcmVzLT5hMik7DQo+ICsJCXByaXYtPnN0YXR1cy5zdGF0 ZSA9IEZJRUxEX0dFVChSU1VfU1RBVEVfTUFTSywgcmVzLT5hMik7DQo+ICsJCXByaXYtPnN0YXR1 cy5mYWlsX2ltYWdlID0gcmVzLT5hMTsNCj4gKwkJcHJpdi0+c3RhdHVzLmN1cnJlbnRfaW1hZ2Ug PSByZXMtPmEwOw0KPiArCQlwcml2LT5zdGF0dXMuZXJyb3JfbG9jYXRpb24gPQ0KPiArCQkJRklF TERfR0VUKFJTVV9FUlJPUl9MT0NBVElPTl9NQVNLLCByZXMtPmEzKTsNCj4gKwkJcHJpdi0+c3Rh dHVzLmVycm9yX2RldGFpbHMgPQ0KPiArCQkJRklFTERfR0VUKFJTVV9FUlJPUl9ERVRBSUxfTUFT SywgcmVzLT5hMyk7DQo+ICsJfSBlbHNlIHsNCj4gKwkJZGV2X2VycihjbGllbnQtPmRldiwgIkNP TU1BTkRfUlNVX1NUQVRVUyByZXR1cm5lZCAweCVsWFxuIiwNCj4gKwkJCXJlcy0+YTApOw0KPiAr CQlwcml2LT5zdGF0dXMudmVyc2lvbiA9IDA7DQo+ICsJCXByaXYtPnN0YXR1cy5zdGF0ZSA9IDA7 DQo+ICsJCXByaXYtPnN0YXR1cy5mYWlsX2ltYWdlID0gMDsNCj4gKwkJcHJpdi0+c3RhdHVzLmN1 cnJlbnRfaW1hZ2UgPSAwOw0KPiArCQlwcml2LT5zdGF0dXMuZXJyb3JfbG9jYXRpb24gPSAwOw0K PiArCQlwcml2LT5zdGF0dXMuZXJyb3JfZGV0YWlscyA9IDA7DQo+ICsJfQ0KPiArDQo+ICsJY29t cGxldGUoJnByaXYtPmNvbXBsZXRpb24pOw0KPiArfQ0KPiArDQo+ICAgLyoqDQo+ICAgICogcnN1 X2FzeW5jX3N0YXR1c19jYWxsYmFjaygpIC0gU3RhdHVzIGNhbGxiYWNrIGZyb20gcnN1X2FzeW5j X3NlbmQoKQ0KPiAgICAqIEBkZXY6IHBvaW50ZXIgdG8gZGV2aWNlIG9iamVjdA0KPiBAQCAtMTky LDYgKzI0MCwzMiBAQCBzdGF0aWMgdm9pZCByc3VfY29tbWFuZF9jYWxsYmFjayhzdHJ1Y3Qgc3Ry YXRpeDEwX3N2Y19jbGllbnQgKmNsaWVudCwNCj4gICAJY29tcGxldGUoJnByaXYtPmNvbXBsZXRp b24pOw0KPiAgIH0NCj4gICANCj4gKy8qKg0KPiArICogcnN1X3JldHJ5X2NhbGxiYWNrKCkgLSBD YWxsYmFjayBmcm9tIEludGVsIHNlcnZpY2UgbGF5ZXIgZm9yIGdldHRpbmcNCj4gKyAqIHRoZSBj dXJyZW50IGltYWdlJ3MgcmV0cnkgY291bnRlciBmcm9tIHRoZSBmaXJtd2FyZQ0KPiArICogQGNs aWVudDogcG9pbnRlciB0byBjbGllbnQNCj4gKyAqIEBkYXRhOiBwb2ludGVyIHRvIGNhbGxiYWNr IGRhdGEgc3RydWN0dXJlDQo+ICsgKg0KPiArICogQ2FsbGJhY2sgZnJvbSBJbnRlbCBzZXJ2aWNl IGxheWVyIGZvciByZXRyeSBjb3VudGVyLCB3aGljaCBpcyB1c2VkIGJ5DQo+ICsgKiB1c2VyIHRv IGtub3cgaG93IG1hbnkgdGltZXMgdGhlIGltYWdlcyBpcyBzdGlsbCBhbGxvd2VkIHRvIHJlbG9h ZA0KPiArICogaXRzZWxmIGJlZm9yZSBnaXZpbmcgdXAgYW5kIHN0YXJ0aW5nIFJTVSBmYWlsLW92 ZXIgZmxvdy4NCj4gKyAqLw0KPiArc3RhdGljIHZvaWQgcnN1X3JldHJ5X2NhbGxiYWNrKHN0cnVj dCBzdHJhdGl4MTBfc3ZjX2NsaWVudCAqY2xpZW50LA0KPiArCQkJICAgICAgIHN0cnVjdCBzdHJh dGl4MTBfc3ZjX2NiX2RhdGEgKmRhdGEpDQo+ICt7DQo+ICsJc3RydWN0IHN0cmF0aXgxMF9yc3Vf cHJpdiAqcHJpdiA9IGNsaWVudC0+cHJpdjsNCj4gKwl1bnNpZ25lZCBpbnQgKmNvdW50ZXIgPSAo dW5zaWduZWQgaW50ICopZGF0YS0+a2FkZHIxOw0KPiArDQo+ICsJaWYgKGRhdGEtPnN0YXR1cyA9 PSBCSVQoU1ZDX1NUQVRVU19PSykpDQo+ICsJCXByaXYtPnJldHJ5X2NvdW50ZXIgPSAqY291bnRl cjsNCj4gKwllbHNlIGlmIChkYXRhLT5zdGF0dXMgPT0gQklUKFNWQ19TVEFUVVNfTk9fU1VQUE9S VCkpDQo+ICsJCWRldl93YXJuKGNsaWVudC0+ZGV2LCAiU2VjdXJlIEZXIGRvZXNuJ3Qgc3VwcG9y dCByZXRyeVxuIik7DQo+ICsJZWxzZQ0KPiArCQlkZXZfZXJyKGNsaWVudC0+ZGV2LCAiRmFpbGVk IHRvIGdldCByZXRyeSBjb3VudGVyICVsdVxuIiwNCj4gKwkJCUJJVChkYXRhLT5zdGF0dXMpKTsN Cj4gKw0KPiArCWNvbXBsZXRlKCZwcml2LT5jb21wbGV0aW9uKTsNCj4gK30NCj4gICANCj4gICAv KioNCj4gICAgKiByc3VfbWF4X3JldHJ5X2NhbGxiYWNrKCkgLSBDYWxsYmFjayBmcm9tIEludGVs IHNlcnZpY2UgbGF5ZXIgZm9yIGdldHRpbmcNCj4gQEAgLTMzNyw2ICs0MTEsMzggQEAgc3RhdGlj IHZvaWQgcnN1X2FzeW5jX2dldF9zcHRfdGFibGVfY2FsbGJhY2soc3RydWN0IGRldmljZSAqZGV2 LA0KPiAgIAlwcml2LT5zcHQxX2FkZHJlc3MgPSAqKCh1bnNpZ25lZCBsb25nICopZGF0YS0+a2Fk ZHIyKTsNCj4gICB9DQo+ICAgDQo+ICtzdGF0aWMgdm9pZCByc3VfZ2V0X3NwdF9jYWxsYmFjayhz dHJ1Y3Qgc3RyYXRpeDEwX3N2Y19jbGllbnQgKmNsaWVudCwNCj4gKwkJCQkgc3RydWN0IHN0cmF0 aXgxMF9zdmNfY2JfZGF0YSAqZGF0YSkNCj4gK3sNCj4gKwlzdHJ1Y3Qgc3RyYXRpeDEwX3JzdV9w cml2ICpwcml2ID0gY2xpZW50LT5wcml2Ow0KPiArCXVuc2lnbmVkIGxvbmcgKm1ib3hfZXJyID0g KHVuc2lnbmVkIGxvbmcgKilkYXRhLT5rYWRkcjE7DQo+ICsJdW5zaWduZWQgbG9uZyAqcmVzcF9s ZW4gPSAodW5zaWduZWQgbG9uZyAqKWRhdGEtPmthZGRyMjsNCj4gKw0KPiArCWlmIChkYXRhLT5z dGF0dXMgIT0gQklUKFNWQ19TVEFUVVNfT0spIHx8ICgqbWJveF9lcnIpIHx8DQo+ICsJICAgICgq cmVzcF9sZW4gIT0gUlNVX0dFVF9TUFRfUkVTUF9MRU4pKQ0KPiArCQlnb3RvIGVycm9yOw0KPiAr DQo+ICsJcHJpdi0+c3B0MF9hZGRyZXNzID0gcHJpdi0+Z2V0X3NwdF9yZXNwb25zZV9idWZbMF07 DQo+ICsJcHJpdi0+c3B0MF9hZGRyZXNzIDw8PSAzMjsNCj4gKwlwcml2LT5zcHQwX2FkZHJlc3Mg fD0gcHJpdi0+Z2V0X3NwdF9yZXNwb25zZV9idWZbMV07DQo+ICsJcHJpdi0+c3B0MV9hZGRyZXNz ID0gcHJpdi0+Z2V0X3NwdF9yZXNwb25zZV9idWZbMl07DQo+ICsJcHJpdi0+c3B0MV9hZGRyZXNz IDw8PSAzMjsNCj4gKwlwcml2LT5zcHQxX2FkZHJlc3MgfD0gcHJpdi0+Z2V0X3NwdF9yZXNwb25z ZV9idWZbM107DQo+ICsNCj4gKwlnb3RvIGNvbXBsZXRlOw0KPiArDQo+ICtlcnJvcjoNCj4gKwlk ZXZfZXJyKHByaXYtPmNsaWVudC5kZXYsDQo+ICsJCSJmYWlsZWQgdG8gZ2V0IFNQVHMgKHN0YXR1 cz0lI3gsIG1ib3hfZXJyPSVsdSwgcmVzcF9sZW49JWx1KVxuIiwNCj4gKwkJZGF0YS0+c3RhdHVz LCBtYm94X2VyciA/ICptYm94X2VyciA6IDAsDQo+ICsJCXJlc3BfbGVuID8gKnJlc3BfbGVuIDog MCk7DQo+ICsNCj4gK2NvbXBsZXRlOg0KPiArCXN0cmF0aXgxMF9zdmNfZnJlZV9tZW1vcnkocHJp di0+Y2hhbiwgcHJpdi0+Z2V0X3NwdF9yZXNwb25zZV9idWYpOw0KPiArCXByaXYtPmdldF9zcHRf cmVzcG9uc2VfYnVmID0gTlVMTDsNCj4gKwljb21wbGV0ZSgmcHJpdi0+Y29tcGxldGlvbik7DQo+ ICt9DQo+ICsNCj4gICAvKioNCj4gICAgKiByc3Vfc2VuZF9tc2coKSAtIHNlbmQgYSBtZXNzYWdl IHRvIEludGVsIHNlcnZpY2UgbGF5ZXINCj4gICAgKiBAcHJpdjogcG9pbnRlciB0byByc3UgcHJp dmF0ZSBkYXRhDQo+IEBAIC0zNTUsNyArNDYxLDcgQEAgc3RhdGljIGludCByc3Vfc2VuZF9tc2co c3RydWN0IHN0cmF0aXgxMF9yc3VfcHJpdiAqcHJpdiwNCj4gICAJCQl1bnNpZ25lZCBsb25nIGFy ZywNCj4gICAJCQlyc3VfY2FsbGJhY2sgY2FsbGJhY2spDQo+ICAgew0KPiAtCXN0cnVjdCBzdHJh dGl4MTBfc3ZjX2NsaWVudF9tc2cgbXNnOw0KPiArCXN0cnVjdCBzdHJhdGl4MTBfc3ZjX2NsaWVu dF9tc2cgbXNnID0gezB9Ow0KPiAgIAlpbnQgcmV0Ow0KPiAgIA0KPiAgIAltdXRleF9sb2NrKCZw cml2LT5sb2NrKTsNCj4gQEAgLTM2Niw2ICs0NzIsMTQgQEAgc3RhdGljIGludCByc3Vfc2VuZF9t c2coc3RydWN0IHN0cmF0aXgxMF9yc3VfcHJpdiAqcHJpdiwNCj4gICAJaWYgKGFyZykNCj4gICAJ CW1zZy5hcmdbMF0gPSBhcmc7DQo+ICAgDQo+ICsJaWYgKGNvbW1hbmQgPT0gQ09NTUFORF9NQk9Y X1NFTkRfQ01EKSB7DQo+ICsJCW1zZy5hcmdbMV0gPSAwOw0KPiArCQltc2cucGF5bG9hZCA9IE5V TEw7DQo+ICsJCW1zZy5wYXlsb2FkX2xlbmd0aCA9IDA7DQo+ICsJCW1zZy5wYXlsb2FkX291dHB1 dCA9IHByaXYtPmdldF9zcHRfcmVzcG9uc2VfYnVmOw0KPiArCQltc2cucGF5bG9hZF9sZW5ndGhf b3V0cHV0ID0gUlNVX0dFVF9TUFRfUkVTUF9MRU47DQo+ICsJfQ0KPiArDQo+ICAgCXJldCA9IHN0 cmF0aXgxMF9zdmNfc2VuZChwcml2LT5jaGFuLCAmbXNnKTsNCj4gICAJaWYgKHJldCA8IDApDQo+ ICAgCQlnb3RvIHN0YXR1c19kb25lOw0KPiBAQCAtNDM3LDYgKzU1MSw4IEBAIHN0YXRpYyBpbnQg cnN1X3NlbmRfYXN5bmNfbXNnKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IHN0cmF0aXgxMF9y c3VfcHJpdiAqcHJpDQo+ICAgDQo+ICAgCWlmIChzdGF0dXMgJiYgIWhhbmRsZSkgew0KPiAgIAkJ ZGV2X2VycihkZXYsICJGYWlsZWQgdG8gc2VuZCBhc3luYyBtZXNzYWdlXG4iKTsNCj4gKwkJaWYg KG1zZy5wYXlsb2FkX291dHB1dCkNCj4gKwkJCXN0cmF0aXgxMF9zdmNfZnJlZV9tZW1vcnkocHJp di0+Y2hhbiwgbXNnLnBheWxvYWRfb3V0cHV0KTsNCj4gICAJCXJldHVybiAtRVRJTUVET1VUOw0K PiAgIAl9DQo+ICAgDQo+IEBAIC00NzYsNiArNTkyLDggQEAgc3RhdGljIGludCByc3Vfc2VuZF9h c3luY19tc2coc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3Qgc3RyYXRpeDEwX3JzdV9wcml2ICpw cmkNCj4gICAJfQ0KPiAgIA0KPiAgIHN0YXR1c19kb25lOg0KPiArCWlmIChtc2cucGF5bG9hZF9v dXRwdXQpDQo+ICsJCXN0cmF0aXgxMF9zdmNfZnJlZV9tZW1vcnkocHJpdi0+Y2hhbiwgbXNnLnBh eWxvYWRfb3V0cHV0KTsNCj4gICAJc3RyYXRpeDEwX3N2Y19hc3luY19kb25lKHByaXYtPmNoYW4s IGhhbmRsZSk7DQo+ICAgCXJldHVybiByZXQ7DQo+ICAgfQ0KPiBAQCAtNzE0LDE1ICs4MzIsMzAg QEAgc3RhdGljIHNzaXplX3Qgbm90aWZ5X3N0b3JlKHN0cnVjdCBkZXZpY2UgKmRldiwNCj4gICAJ aWYgKHJldCkNCj4gICAJCXJldHVybiByZXQ7DQo+ICAgDQo+IC0JcmV0ID0gcnN1X3NlbmRfYXN5 bmNfbXNnKGRldiwgcHJpdiwgQ09NTUFORF9SU1VfTk9USUZZLCBzdGF0dXMsIE5VTEwpOw0KPiAr CWlmIChwcml2LT5hc3luYykNCj4gKwkJcmV0ID0gcnN1X3NlbmRfYXN5bmNfbXNnKGRldiwgcHJp diwgQ09NTUFORF9SU1VfTk9USUZZLCBzdGF0dXMsIE5VTEwpOw0KPiArCWVsc2UNCj4gKwkJcmV0 ID0gcnN1X3NlbmRfbXNnKHByaXYsIENPTU1BTkRfUlNVX05PVElGWSwgc3RhdHVzLCByc3VfY29t bWFuZF9jYWxsYmFjayk7DQo+ICAgCWlmIChyZXQpIHsNCj4gICAJCWRldl9lcnIoZGV2LCAiRXJy b3IsIFJTVSBub3RpZnkgcmV0dXJuZWQgJWlcbiIsIHJldCk7DQo+ICAgCQlyZXR1cm4gcmV0Ow0K PiAgIAl9DQo+ICAgDQo+ICAgCS8qIHRvIGdldCB0aGUgdXBkYXRlZCBzdGF0ZSAqLw0KPiAtCXJl dCA9IHJzdV9zZW5kX2FzeW5jX21zZyhkZXYsIHByaXYsIENPTU1BTkRfUlNVX1NUQVRVUywgMCwN Cj4gLQkJCQkgcnN1X2FzeW5jX3N0YXR1c19jYWxsYmFjayk7DQo+ICsJaWYgKHByaXYtPmFzeW5j KSB7DQo+ICsJCXJldCA9IHJzdV9zZW5kX2FzeW5jX21zZyhkZXYsIHByaXYsIENPTU1BTkRfUlNV X1NUQVRVUywgMCwNCj4gKwkJCQkJIHJzdV9hc3luY19zdGF0dXNfY2FsbGJhY2spOw0KPiArCX0g ZWxzZSB7DQo+ICsJCXJldCA9IHJzdV9zZW5kX21zZyhwcml2LCBDT01NQU5EX1JTVV9TVEFUVVMs IDAsDQo+ICsJCQkJICAgcnN1X3N0YXR1c19jYWxsYmFjayk7DQo+ICsJCS8qDQo+ICsJCSAqIElu IGFzeW5jIG1vZGUgQ09NTUFORF9SU1VfUkVUUlkgaXMgcGFydCBvZiBDT01NQU5EX1JTVV9TVEFU VVM7DQo+ICsJCSAqIGlzc3VlIGl0IHNlcGFyYXRlbHkgb25seSBpbiBzeW5jaHJvbm91cyBtb2Rl Lg0KPiArCQkgKi8NCj4gKwkJaWYgKCFyZXQpDQo+ICsJCQlyZXQgPSByc3Vfc2VuZF9tc2cocHJp diwgQ09NTUFORF9SU1VfUkVUUlksIDAsDQo+ICsJCQkJCSAgIHJzdV9yZXRyeV9jYWxsYmFjayk7 DQo+ICsJfQ0KPiAgIAlpZiAocmV0KSB7DQo+ICAgCQlkZXZfZXJyKGRldiwgIkVycm9yLCBnZXR0 aW5nIFJTVSBzdGF0dXMgJWlcbiIsIHJldCk7DQo+ICAgCQlyZXR1cm4gcmV0Ow0KPiBAQCAtOTIy LDYgKzEwNTUsOCBAQCBzdGF0aWMgaW50IHN0cmF0aXgxMF9yc3VfcHJvYmUoc3RydWN0IHBsYXRm b3JtX2RldmljZSAqcGRldikNCj4gICAJcHJpdi0+bWF4X3JldHJ5ID0gSU5WQUxJRF9SRVRSWV9D T1VOVEVSOw0KPiAgIAlwcml2LT5zcHQwX2FkZHJlc3MgPSBJTlZBTElEX1NQVF9BRERSRVNTOw0K PiAgIAlwcml2LT5zcHQxX2FkZHJlc3MgPSBJTlZBTElEX1NQVF9BRERSRVNTOw0KPiArCXByaXYt PmdldF9zcHRfcmVzcG9uc2VfYnVmID0gTlVMTDsNCj4gKwlwcml2LT5hc3luYyA9IGZhbHNlOw0K PiAgIAlyc3VfZGV2aWNlX2luZm9faW52YWxpZGF0ZShwcml2KTsNCj4gICANCj4gICAJbXV0ZXhf aW5pdCgmcHJpdi0+bG9jayk7DQo+IEBAIC05MzQsNDUgKzEwNjksNzMgQEAgc3RhdGljIGludCBz dHJhdGl4MTBfcnN1X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQo+ICAgCX0N Cj4gICANCj4gICAJcmV0ID0gc3RyYXRpeDEwX3N2Y19hZGRfYXN5bmNfY2xpZW50KHByaXYtPmNo YW4sIGZhbHNlKTsNCj4gLQlpZiAocmV0KSB7DQo+IC0JCWRldl9lcnIoZGV2LCAiZmFpbGVkIHRv IGFkZCBhc3luYyBjbGllbnRcbiIpOw0KPiAtCQlzdHJhdGl4MTBfc3ZjX2ZyZWVfY2hhbm5lbChw cml2LT5jaGFuKTsNCj4gLQkJcmV0dXJuIHJldDsNCj4gKwlpZiAocmV0IDwgMCkgew0KPiArCQlk ZXZfZGJnKGRldiwgIkFzeW5jIG9wZXJhdGlvbnMgbm90IHN1cHBvcnRlZCwgZmFsbGJhY2sgdG8g bm9uLWFzeW5jIG1vZGVcbiIpOw0KPiArCQlwcml2LT5hc3luYyA9IGZhbHNlOw0KPiArCX0gZWxz ZSB7DQo+ICsJCXByaXYtPmFzeW5jID0gdHJ1ZTsNCj4gICAJfQ0KPiAgIA0KPiAgIAlpbml0X2Nv bXBsZXRpb24oJnByaXYtPmNvbXBsZXRpb24pOw0KPiAgIAlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShw ZGV2LCBwcml2KTsNCj4gICANCj4gICAJLyogZ2V0IHRoZSBpbml0aWFsIHN0YXRlIGZyb20gZmly bXdhcmUgKi8NCj4gLQlyZXQgPSByc3Vfc2VuZF9hc3luY19tc2coZGV2LCBwcml2LCBDT01NQU5E X1JTVV9TVEFUVVMsIDAsDQo+IC0JCQkJIHJzdV9hc3luY19zdGF0dXNfY2FsbGJhY2spOw0KPiAr CWlmIChwcml2LT5hc3luYykNCj4gKwkJcmV0ID0gcnN1X3NlbmRfYXN5bmNfbXNnKGRldiwgcHJp diwgQ09NTUFORF9SU1VfU1RBVFVTLCAwLA0KPiArCQkJCQkgcnN1X2FzeW5jX3N0YXR1c19jYWxs YmFjayk7DQo+ICsJZWxzZQ0KPiArCQlyZXQgPSByc3Vfc2VuZF9tc2cocHJpdiwgQ09NTUFORF9S U1VfU1RBVFVTLCAwLA0KPiArCQkJCSAgIHJzdV9zdGF0dXNfY2FsbGJhY2spOw0KPiAgIAlpZiAo cmV0KSB7DQo+ICAgCQlkZXZfZXJyKGRldiwgIkVycm9yLCBnZXR0aW5nIFJTVSBzdGF0dXMgJWlc biIsIHJldCk7DQo+IC0JCXN0cmF0aXgxMF9zdmNfcmVtb3ZlX2FzeW5jX2NsaWVudChwcml2LT5j aGFuKTsNCj4gKwkJaWYgKHByaXYtPmFzeW5jKQ0KPiArCQkJc3RyYXRpeDEwX3N2Y19yZW1vdmVf YXN5bmNfY2xpZW50KHByaXYtPmNoYW4pOw0KPiAgIAkJc3RyYXRpeDEwX3N2Y19mcmVlX2NoYW5u ZWwocHJpdi0+Y2hhbik7DQo+ICAgCQlyZXR1cm4gcmV0Ow0KPiAgIAl9DQo+ICAgDQo+ICsJLyoN Cj4gKwkgKiBJbiBhc3luYyBtb2RlIENPTU1BTkRfUlNVX1JFVFJZIGlzIHBhcnQgb2YgQ09NTUFO RF9SU1VfU1RBVFVTOw0KPiArCSAqIGlzc3VlIGl0IHNlcGFyYXRlbHkgb25seSBpbiBzeW5jaHJv bm91cyBtb2RlLg0KPiArCSAqLw0KPiArCWlmICghcHJpdi0+YXN5bmMpIHsNCj4gKwkJcmV0ID0g cnN1X3NlbmRfbXNnKHByaXYsIENPTU1BTkRfUlNVX1JFVFJZLCAwLCByc3VfcmV0cnlfY2FsbGJh Y2spOw0KPiArCQlpZiAocmV0KSB7DQo+ICsJCQlkZXZfZXJyKGRldiwgIkVycm9yLCBnZXR0aW5n IFJTVSByZXRyeSAlaVxuIiwgcmV0KTsNCj4gKwkJCXN0cmF0aXgxMF9zdmNfZnJlZV9jaGFubmVs KHByaXYtPmNoYW4pOw0KPiArCQkJcmV0dXJuIHJldDsNCj4gKwkJfQ0KPiArCX0NCj4gKw0KPiAg IAkvKiBnZXQgRENNRiB2ZXJzaW9uIGZyb20gZmlybXdhcmUgKi8NCj4gICAJcmV0ID0gcnN1X3Nl bmRfbXNnKHByaXYsIENPTU1BTkRfUlNVX0RDTUZfVkVSU0lPTiwNCj4gICAJCQkgICAwLCByc3Vf ZGNtZl92ZXJzaW9uX2NhbGxiYWNrKTsNCj4gICAJaWYgKHJldCkgew0KPiAgIAkJZGV2X2Vycihk ZXYsICJFcnJvciwgZ2V0dGluZyBEQ01GIHZlcnNpb24gJWlcbiIsIHJldCk7DQo+ICsJCWlmIChw cml2LT5hc3luYykNCj4gKwkJCXN0cmF0aXgxMF9zdmNfcmVtb3ZlX2FzeW5jX2NsaWVudChwcml2 LT5jaGFuKTsNCj4gICAJCXN0cmF0aXgxMF9zdmNfZnJlZV9jaGFubmVsKHByaXYtPmNoYW4pOw0K PiArCQlyZXR1cm4gcmV0Ow0KPiAgIAl9DQo+ICAgDQo+ICAgCXJldCA9IHJzdV9zZW5kX21zZyhw cml2LCBDT01NQU5EX1JTVV9EQ01GX1NUQVRVUywNCj4gICAJCQkgICAwLCByc3VfZGNtZl9zdGF0 dXNfY2FsbGJhY2spOw0KPiAgIAlpZiAocmV0KSB7DQo+ICAgCQlkZXZfZXJyKGRldiwgIkVycm9y LCBnZXR0aW5nIERDTUYgc3RhdHVzICVpXG4iLCByZXQpOw0KPiArCQlpZiAocHJpdi0+YXN5bmMp DQo+ICsJCQlzdHJhdGl4MTBfc3ZjX3JlbW92ZV9hc3luY19jbGllbnQocHJpdi0+Y2hhbik7DQo+ ICAgCQlzdHJhdGl4MTBfc3ZjX2ZyZWVfY2hhbm5lbChwcml2LT5jaGFuKTsNCj4gKwkJcmV0dXJu IHJldDsNCj4gICAJfQ0KPiAgIA0KPiAgIAlyZXQgPSByc3Vfc2VuZF9tc2cocHJpdiwgQ09NTUFO RF9SU1VfTUFYX1JFVFJZLCAwLA0KPiAgIAkJCSAgIHJzdV9tYXhfcmV0cnlfY2FsbGJhY2spOw0K PiAgIAlpZiAocmV0KSB7DQo+ICAgCQlkZXZfZXJyKGRldiwgIkVycm9yLCBnZXR0aW5nIFJTVSBt YXggcmV0cnkgJWlcbiIsIHJldCk7DQo+ICsJCWlmIChwcml2LT5hc3luYykNCj4gKwkJCXN0cmF0 aXgxMF9zdmNfcmVtb3ZlX2FzeW5jX2NsaWVudChwcml2LT5jaGFuKTsNCj4gICAJCXN0cmF0aXgx MF9zdmNfZnJlZV9jaGFubmVsKHByaXYtPmNoYW4pOw0KPiArCQlyZXR1cm4gcmV0Ow0KPiAgIAl9 DQo+ICAgDQo+ICAgCS8qIGdldCBRU1BJIGRldmljZSBpbmZvIGZyb20gZmlybXdhcmUgKi8NCj4g QEAgLTk4MCwxNSArMTE0MywzNiBAQCBzdGF0aWMgaW50IHN0cmF0aXgxMF9yc3VfcHJvYmUoc3Ry dWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikNCj4gICAJCQkgICByc3VfZ2V0X2RldmljZV9pbmZv X2NhbGxiYWNrKTsNCj4gICAJaWYgKHJldCkgew0KPiAgIAkJZGV2X2VycihkZXYsICJFcnJvciwg Z2V0dGluZyBRU1BJIERldmljZSBJbmZvICVpXG4iLCByZXQpOw0KPiAtCQlzdHJhdGl4MTBfc3Zj X3JlbW92ZV9hc3luY19jbGllbnQocHJpdi0+Y2hhbik7DQo+ICsJCWlmIChwcml2LT5hc3luYykN Cj4gKwkJCXN0cmF0aXgxMF9zdmNfcmVtb3ZlX2FzeW5jX2NsaWVudChwcml2LT5jaGFuKTsNCj4g ICAJCXN0cmF0aXgxMF9zdmNfZnJlZV9jaGFubmVsKHByaXYtPmNoYW4pOw0KPiAgIAkJcmV0dXJu IHJldDsNCj4gICAJfQ0KPiAgIA0KPiAtCXJldCA9IHJzdV9zZW5kX2FzeW5jX21zZyhkZXYsIHBy aXYsIENPTU1BTkRfUlNVX0dFVF9TUFRfVEFCTEUsIDAsDQo+IC0JCQkJIHJzdV9hc3luY19nZXRf c3B0X3RhYmxlX2NhbGxiYWNrKTsNCj4gKwlpZiAocHJpdi0+YXN5bmMpIHsNCj4gKwkJcmV0ID0g cnN1X3NlbmRfYXN5bmNfbXNnKGRldiwgcHJpdiwgQ09NTUFORF9SU1VfR0VUX1NQVF9UQUJMRSwN Cj4gKwkJCQkJIDAsIHJzdV9hc3luY19nZXRfc3B0X3RhYmxlX2NhbGxiYWNrKTsNCj4gKwl9IGVs c2Ugew0KPiArCQlwcml2LT5nZXRfc3B0X3Jlc3BvbnNlX2J1ZiA9DQo+ICsJCQlzdHJhdGl4MTBf c3ZjX2FsbG9jYXRlX21lbW9yeShwcml2LT5jaGFuLCBSU1VfR0VUX1NQVF9SRVNQX0xFTik7DQo+ ICsJCWlmIChJU19FUlIocHJpdi0+Z2V0X3NwdF9yZXNwb25zZV9idWYpKSB7DQo+ICsJCQlyZXQg PSBQVFJfRVJSKHByaXYtPmdldF9zcHRfcmVzcG9uc2VfYnVmKTsNCj4gKwkJCXByaXYtPmdldF9z cHRfcmVzcG9uc2VfYnVmID0gTlVMTDsNCj4gKwkJCWRldl9lcnIoZGV2LCAiZmFpbGVkIHRvIGFs bG9jYXRlIGdldCBzcHQgYnVmZmVyXG4iKTsNCj4gKwkJfSBlbHNlIHsNCj4gKwkJCXJldCA9IHJz dV9zZW5kX21zZyhwcml2LCBDT01NQU5EX01CT1hfU0VORF9DTUQsDQo+ICsJCQkJCSAgIFJTVV9H RVRfU1BUX0NNRCwgcnN1X2dldF9zcHRfY2FsbGJhY2spOw0KPiArCQl9DQo+ICsJfQ0KPiAgIAlp ZiAocmV0KSB7DQo+ICAgCQlkZXZfZXJyKGRldiwgIkVycm9yLCBnZXR0aW5nIFNQVCB0YWJsZSAl aVxuIiwgcmV0KTsNCj4gKwkJaWYgKHByaXYtPmFzeW5jKSB7DQo+ICsJCQlzdHJhdGl4MTBfc3Zj X3JlbW92ZV9hc3luY19jbGllbnQocHJpdi0+Y2hhbik7DQo+ICsJCX0gZWxzZSBpZiAoIUlTX0VS Ul9PUl9OVUxMKHByaXYtPmdldF9zcHRfcmVzcG9uc2VfYnVmKSkgew0KPiArCQkJc3RyYXRpeDEw X3N2Y19mcmVlX21lbW9yeShwcml2LT5jaGFuLA0KPiArCQkJCQkJICBwcml2LT5nZXRfc3B0X3Jl c3BvbnNlX2J1Zik7DQo+ICsJCQlwcml2LT5nZXRfc3B0X3Jlc3BvbnNlX2J1ZiA9IE5VTEw7DQo+ ICsJCX0NCj4gICAJCXN0cmF0aXgxMF9zdmNfZnJlZV9jaGFubmVsKHByaXYtPmNoYW4pOw0KPiAg IAl9DQo+ICAgDQo+IEBAIC05OTksNiArMTE4Myw5IEBAIHN0YXRpYyB2b2lkIHN0cmF0aXgxMF9y c3VfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQo+ICAgew0KPiAgIAlzdHJ1 Y3Qgc3RyYXRpeDEwX3JzdV9wcml2ICpwcml2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7 DQo+ICAgDQo+ICsJaWYgKHByaXYtPmFzeW5jKQ0KPiArCQlzdHJhdGl4MTBfc3ZjX3JlbW92ZV9h c3luY19jbGllbnQocHJpdi0+Y2hhbik7DQo+ICsNCj4gICAJc3RyYXRpeDEwX3N2Y19mcmVlX2No YW5uZWwocHJpdi0+Y2hhbik7DQo+ICAgfQ0KPiAgIA0KDQpIaSwNCg0KR2VudGxlIHBpbmcgb24g dGhpcyBwYXRjaCDigJQgYW55IGNoYW5jZSBmb3IgYSByZXZpZXcgd2hlbiB5b3UgaGF2ZSB0aW1l Pw0KSGFwcHkgdG8gcmViYXNlIG9yIHJldmlzZSBiYXNlZCBvbiB5b3VyIGZlZWRiYWNrLg0KDQpU aGFua3MsDQpUemUgWWVlDQo=