From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from BL2PR02CU003.outbound.protection.outlook.com (mail-eastusazon11011044.outbound.protection.outlook.com [52.101.52.44]) (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 7ED6437AA92 for ; Fri, 8 May 2026 06:56:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.52.44 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778223394; cv=fail; b=PFyzK60B2whmTq0wUG0lQRou1IF+Vgg8Ful7bN6edoa2JNarCCEuoLEDZ16fjZvl4cLKeehVONxNSsqbLDWT9/WHUDh6QvIJM23n0pJLnNPvLthmvETO8qV+lm03dJ4fpJmKHLuPABQwgaxFzQ2Kruvf/BY1jEbv27zjjg/r8pc= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778223394; c=relaxed/simple; bh=9nRoB5dyxypt+kWzjn4fR2d1J/EsLIyBVY9cuLwFtbo=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=kCjIH9nZNHM3yOdl6DJuB+e1erwQoZLjx2Hrt1bu5FT3okGgCV4/+P0qZdsndvLOJvEyjaqY1w7y3VjZRTsal9kB9uri2UhG2QT7ATEcIZ/+BTMh5Z6bSB5Ei636PmsogZgcZDXDmHaeECXCb+az4nFBJmPar1QRtuCEvN3AvnM= 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=ZaC0dum1; arc=fail smtp.client-ip=52.101.52.44 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="ZaC0dum1" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=qqBw0LNpqJ7Y2STQ9H1koW+z/KVsLbwzkbgF61GwqdT7L3w2y5O1Q0KZovvWznzLp9651tRg7IvyQrlcQ+6nUTPU/3yjBu2ptmL/fztM/A402j3/01w78mJng0jmAh/lKj47tVDlo5FyElCf0pjW8s7ORodwO4jKLQ/BnfyWZqbIqCyb3Lq7QnRovpS/67vAiz9FRsxWXnjen+g8E3eT7GD//32e6OhoBBc2XeDViuUlEbjXF7h+iT8nN5NtyF1338TzGWoTt7KIjA78oy+mJzKyI7vqx2MoXaG6cahgSyCd41GbpW5aBpo+cRDe+85cp6K6b5rn1e8gHaV7c8YDgQ== 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=9nRoB5dyxypt+kWzjn4fR2d1J/EsLIyBVY9cuLwFtbo=; b=uPdbfpqbvLvwmPEmO4rntd2JpBBACv8SGwrxCDEX46WDxHbcNJOyMcM6NY7ZoKbgySkncQnkjFqyqJU5jw9JFCRXevvvcbWGwtak+efsDKNgtY9tnWjOBR6TAPjJ2w1SBUkUtyfFfCjFJPkojjyyREfFZNZoSDdz6lrCze467xW1hjWnepwz2W79n84VyHiddRf1Gk2wzspfD4HBGw5mFIr/mciCRnLSM31icYBLjVDHY1tsbq1JG3k1EZwPJJMC8GuB5aC6Fv6s1TFtRDnhzL2drbEqAqMiZ2MNKgmbwyG8MqACNdLfIt308kRwxN6VRSy6GcZuDOxC3+XLx39WUA== 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=9nRoB5dyxypt+kWzjn4fR2d1J/EsLIyBVY9cuLwFtbo=; b=ZaC0dum1UzC5c7gnkLL/zkGz5SF9X2dmjVYevDQw4h2WM/c6dH6smqhFRbpzTrJ9RoGzxaPDGMVp+FRYnzNkpmNJhdyT0qfy8urJsIadnSMzu1UGS1NgE/4gikeXF1PdmyUVHEq0zh2tGY5jEaJrOzSFgytQ/mFqeSfK0iIBVfoONQzbja/XI9U25cnQhcq+Hjec6josKoGIyqbJiLBgLNSKyWIHObbrCe+5IF5q5zDWM1Egxdb3CaYQwI8ZbHazhtnG9Ky4IZwrAgUJbc8tTnG+JFYm8i1Wf/n8J0Xb+/p/lQEsxzFk21kUpX5BEmX/MlBQMJZqwwCamh+p5AZBbA== Received: from SJ0PR03MB5950.namprd03.prod.outlook.com (2603:10b6:a03:2d3::20) by DM6PR03MB5100.namprd03.prod.outlook.com (2603:10b6:5:1e1::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9891.19; Fri, 8 May 2026 06:56:21 +0000 Received: from SJ0PR03MB5950.namprd03.prod.outlook.com ([fe80::53a0:bf93:6b6b:de01]) by SJ0PR03MB5950.namprd03.prod.outlook.com ([fe80::53a0:bf93:6b6b:de01%4]) with mapi id 15.20.9891.019; Fri, 8 May 2026 06:56:21 +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: avoid RSU mutex deadlock on update Thread-Topic: [PATCH] firmware: stratix10-rsu: avoid RSU mutex deadlock on update Thread-Index: AQHc3DoUQpTeGRci+UKEtZiuX2WWCbYAGMSAgAOeUQA= Date: Fri, 8 May 2026 06:56:21 +0000 Message-ID: <41607fd6-b766-48b6-9baa-c72ecb5003a5@altera.com> References: <4307e321-ea7b-4798-890c-adba537fc5e0@kernel.org> In-Reply-To: <4307e321-ea7b-4798-890c-adba537fc5e0@kernel.org> 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_|DM6PR03MB5100:EE_ x-ms-office365-filtering-correlation-id: a5143b53-c897-4e3b-8cdb-08deaccee9b0 x-ms-exchange-atpmessageproperties: SA x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|366016|376014|1800799024|18002099003|55112099003|38070700021|56012099003|22082099003; x-microsoft-antispam-message-info: gr1Gmd8P6IQuHL7ZsDzQbSheQnmKMSQMkgfZ38rLZvs+qVKRUvmhe3BPPIgVj5hKiPSkYhlEBOBIK4uflMS30L0X5BPUNiXcDCOHwq6zrOSA0cE7UyQtv4FFtmmlmncevhlEXyfkMpR0dyhpIZEgb3ki77aE6hMHUHURU4HehcJbi2n8AKGfOLQngtYxInunm79ElTve+zrVTbCniTouZAM4T5UkS+2QbJujCTHIIYzdmeNLiDqTetWqv7ePQQLFGeTOcmnWyF6UJFVUEMlbd2UMH3OzN8Ur8QP2ms9h3aRCzpFUOjbSb+4C/EMfDnQVE+LW65RARE245m1UZ+A9V/+Bja3XJmLc0mAc2IV4tudTy+Mt6iJ9KPqnV2itwNBPrfNYX+uujGL8ELIGaeamNE/pz41qKuqNh1CNdEy+acMwjcbUqWsrJNlq9w1aPdVR8Gkmtn/R0SWR8aszrfck8SH+u3nrmL0XKp8TnXS/b4MzopZuSn0WVMPD+yS/me6E5i0MZaCetb5vGUdEaJQCefPi3aKBTVdgT5qVVbl6RAN1mneJPCVWuccW8BVf6tBPlnQ9zya+g7PAqgncJiV32zznAPVv+s54GDIB8YhhpqAursSwQyhK24ZBc3Ubnzv7Xzpn8ICg5fQwzBJL1iQW3MgV0yJpyw+YhXdprJeBHFlJDQVUqTFHZwukrtHpNoS/UiOmFl1YWKvaHdc1Q1yMPHh4fnzZq7/idgWDilcIS1qZ+RSQ49JTCP0sgNduzZ4V 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)(366016)(376014)(1800799024)(18002099003)(55112099003)(38070700021)(56012099003)(22082099003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?cjdaNGR3YTB6VGJ6REE1bUZ3Rlg1TEx4WXJGRXRQTHZ2bDJGcmx2NTVFdHQ5?= =?utf-8?B?d0xiUjNpWGtLNXc1LzVtOUROcEZnZWJrY21pUUVoSDU1UGdFTXdkQkNKbEVm?= =?utf-8?B?emlVMlA5ek5nelhlN0dHTTVUbWZCMmZWdjJvMWEwZ1NlS0tmZHBmQVdXa2Jw?= =?utf-8?B?YzRxdXFDV2tGRm5OVzNjS3BYV0FPNkV6LzZTQTM1dTltakxkOWdUamVzcTU2?= =?utf-8?B?L2NLL0ZCVnRCQ3U1UnNhWHVHY2xjazV4QlBCRVh3N0hhSnJ3ZktuNkhjdHJZ?= =?utf-8?B?S3pYSWN0N212V1lLNlU3cHZ6Y3poUDdXaWMwR3hOeENtN1dLTG04U1FTa2lh?= =?utf-8?B?NHZKRms0ZEZldkhXZHl5cElCRnZ5My9kQWFyaUxGeXhBRHdZempkc0NRRW5n?= =?utf-8?B?Mkw3SS9VNFBsdko5cTM0aGZ3ZDhzREhmZS92K3ZjZm9VTjZLTk85QmRBWUZ6?= =?utf-8?B?c0NlZjhvOGlYa21IWmlTVUNUSEYvbWpSRnAxVjlBWDc5WGZ2eUdYaERyaXg3?= =?utf-8?B?ZG1NU2NCeHRubjI5b2w2MnBkQ3NzUFpBRTRYT05EOWorYU5aSXlWL0doOUhC?= =?utf-8?B?dzRUZnU1NzVoS3orUHRjblZZZExGZldTeU1UUnYvaDluT0VQcDgyMXZkKzF6?= =?utf-8?B?MDl2Y3YyVU5EYTZ2RTFWWU5PWXdYS0RzaXQrV1BadWpWMGZTTE12N0RrLzhJ?= =?utf-8?B?OVdYd0hLd2EreElsaUJwNzlsV2J1Z2RvdUFnY25lNmVCWFFscEp2MnAyaWtQ?= =?utf-8?B?T1hzb296eWpJcTI3QmRYaFRraE95dGQwQ1I1aGlTa1JLOFNpNDgxOFdKQzJS?= =?utf-8?B?WWhZSHBwYzhwY3I4Z0JxbzVQTXNmMXN0bjZzUktqa2xHQUhPRHpGMHZsSDFE?= =?utf-8?B?UEIwNTUzL05SK2RJUElySEh3enpOMGhRakRRUzdRMmJscW5HNlpDenlSVDUy?= =?utf-8?B?TnQ0Y2dMb29uRTdUWnJMU25BUERRNm96cmVtUURiQUp5TjNLS1RIZUllbith?= =?utf-8?B?THkzY1BUSmkxRE5RcUlqOHMvdHZSblY5djhIV20va3hubjdZRWRsZUN0NDFL?= =?utf-8?B?eHZBRUYzVURtMFN2SHliNW9xWVhHQmxibXJXWG51ZVZXM0RRVDlxaWFoVjNp?= =?utf-8?B?UzNNaUwya0NrbUl3NkxsWmhYbThOVHhSbFJEZmtFNDJTZmV6MHVtNDZWUjVw?= =?utf-8?B?ZTFacHJnalNTMktJNGMwNUYxbHUrQVdwZEJJQU5DWFJPcGJJVm01U0N0bDNl?= =?utf-8?B?cHhDdERaSnJHVkREYlpWMSt3ZE4rYlE1RXJSeXNKem80U1ZYRmExMUw1RlVs?= =?utf-8?B?OS9IN0lZUllqUlNWRWJiZThFSlN0eVJhOFR1WHdkT01oYWxEdEZCTGtGMDBl?= =?utf-8?B?QzVLZjhXdC9zcjVXYzBHUmlxSHBsNkdEU2ZFRXIyVENKVmFlRWthZWhseENT?= =?utf-8?B?RmNkS3VCUHEzUTE4VjVQOGNPNjEvUkJTSnNuWTFGZHhoaFJIcjBEallrL0ox?= =?utf-8?B?dnBzWGJFNk9DdTJMQ0ZiVGZGTXhqMGI1b2NHNW9EdlY3RlRjaUU5U2VNSEtB?= =?utf-8?B?RCszbkFNc0djNmk5V3pPRjBLajFSMkw5VDd2aCt1NllDVkw0OXRDOW9jQy9l?= =?utf-8?B?R2Q0QkxkaG93Slp0eDRPNXQ4RTNOL0tJU2VOckZSb0NBRjlhSW9MeDhvOXMy?= =?utf-8?B?eGpaU0NSbkU4cEw4QmpETVpUWmNTTk5hdk5vWjBqSXUrbnlNQkIvOEVBYXg1?= =?utf-8?B?UmlUdVRkVHprNTJhMjdSMzVmSVA0Tm5zbVkzR2tQdFJZejFvUGs4VVlKeWVR?= =?utf-8?B?R1h1OHN4K3hZOEpKSWtWTjZzVVRVMEZaR3hTL09iUlVRaE1UdndRdzRrR0Jp?= =?utf-8?B?dTRmSVpqSUpoOHhyeXdNclFGdVBQK3B1aEp6T1IxRmozSEVhZ3VLaG5DdzZ0?= =?utf-8?B?ZlBQMHpjQ0tONExtSnRkc3dDS1FiSjRBOWFMVGxlMGxNd0tLUDdrR1FuNjBv?= =?utf-8?B?cGF5dG5NRng1RkpyMlA5Q3gzRXlpa1JubE5yMHU4WUF1WmxPODRybDByb1dM?= =?utf-8?B?QVhsbTNOK1IvOHBSdjQ4ZUN4RVR4dkh5aWdTNXE0Z3dPY1NRbkhNTVZzdnBH?= =?utf-8?B?UGs0dkl0TEo5ZzBhZG0wV0ROei9aeWlSSy82UzI0Tmd5VVlLbjl0U2YxOXFK?= =?utf-8?B?TDRnWTR1elNOVW4yNVJPNmVvVUo5ZTY3b3lzSFB0YzFXSW9nMm45cFNUb2JL?= =?utf-8?B?em90bC94Q0pYNWNmM2hQZ0xSd0RpL1AvTVNVTGd5K044UHVPWXB1VkVURWtm?= =?utf-8?B?SS9oRmZ1WnU1TXlqRitZSnBqaE4yVk52WHJtcGlGV3RxeDV3MEhReG1Yamx0?= =?utf-8?Q?1xyzGvG/ym4k+vFc=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: 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: a5143b53-c897-4e3b-8cdb-08deaccee9b0 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 May 2026 06:56:21.6825 (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: wtotvWo3pd686h+FtpMON3xVGUtf2FdPhYCOxbB8eZ1S2bLJGYtGoVceeHdFPR/VvLzfBgYCeHZhoVPIX/peBQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB5100 T24gNi81LzIwMjYgNzo0MCBhbSwgRGluaCBOZ3V5ZW4gd3JvdGU6DQo+ICBGcm9tIHNhc2hpa28g Y2xhdWRlLXNvbm5ldC00LTYsDQo+IA0KPiBPbiA1LzQvMjYgMjE6NTEsIHR6ZS55ZWUubmdAYWx0 ZXJhLmNvbSB3cm90ZToNCj4+IEZyb206IFR6ZSBZZWUgTmcgPHR6ZS55ZWUubmdAYWx0ZXJhLmNv bT4NCj4+DQo+PiBVc2UgbXV0ZXhfdHJ5bG9jaygpIGluIHJzdV9zZW5kX21zZygpIGluc3RlYWQg b2YgbXV0ZXhfbG9jaygpIHNvIGNhbGxlcnMNCj4+IHRoYXQgYWxyZWFkeSBob2xkIHByaXYtPmxv Y2sgb3IgcmFjZSB3aXRoIGFuIGluLWZsaWdodCBSU1Ugb3BlcmF0aW9uIGdldA0KPj4gLUVBR0FJ TiBpbnN0ZWFkIG9mIGJsb2NraW5nIGZvcmV2ZXIuDQo+Pg0KPj4gSW4gcmVib290X2ltYWdlX3N0 b3JlKCksIHRyZWF0IC1FQUdBSU4gYXMgYSBuby1vcCBzdWNjZXNzIHNvIHN5c2ZzIHdyaXRlDQo+ PiBkb2VzIG5vdCBoYW5nIHdoZW4gdGhlIFJTVSBwYXRoIGlzIGJ1c3kuDQo+Pg0KPj4gU2lnbmVk LW9mZi1ieTogVHplIFllZSBOZyA8dHplLnllZS5uZ0BhbHRlcmEuY29tPg0KPj4gLS0tDQo+PiDC oCBkcml2ZXJzL2Zpcm13YXJlL3N0cmF0aXgxMC1yc3UuYyB8IDE1ICsrKysrKysrKysrKy0tLQ0K Pj4gwqAgMSBmaWxlIGNoYW5nZWQsIDEyIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pDQo+ Pg0KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZmlybXdhcmUvc3RyYXRpeDEwLXJzdS5jIGIvZHJp dmVycy9maXJtd2FyZS8gDQo+PiBzdHJhdGl4MTAtcnN1LmMNCj4+IGluZGV4IGUxOTEyMTA4YTBm ZS4uZjNlZTBiNGU0OWE4IDEwMDY0NA0KPj4gLS0tIGEvZHJpdmVycy9maXJtd2FyZS9zdHJhdGl4 MTAtcnN1LmMNCj4+ICsrKyBiL2RyaXZlcnMvZmlybXdhcmUvc3RyYXRpeDEwLXJzdS5jDQo+PiBA QCAtMjU0LDcgKzI1NCwxMyBAQCBzdGF0aWMgdm9pZCANCj4+IHJzdV9hc3luY19nZXRfc3B0X3Rh YmxlX2NhbGxiYWNrKHN0cnVjdCBkZXZpY2UgKmRldiwNCj4+IMKgwqAgKiBpcyBuZWNlc3Nhcnkg dG8gZ2V0IFJTVSBib290IGxvZyBvciBzZXQgdGhlIGFkZHJlc3Mgb2YgYml0c3RyZWFtIHRvDQo+ PiDCoMKgICogYm9vdCBhZnRlciByZWJvb3QuDQo+PiDCoMKgICoNCj4+IC0gKiBSZXR1cm5zIDAg b24gc3VjY2VzcyBvciAtRVRJTUVET1VUIG9uIGVycm9yLg0KPj4gKyAqIFJldHVybjoNCj4+ICsg KiAqIDAgb24gc3VjY2Vzcw0KPj4gKyAqICogLUVBR0FJTiBpZiB0aGUgZHJpdmVyIG11dGV4IGNv dWxkIG5vdCBiZSBhY3F1aXJlZA0KPj4gKyAqICogYSBuZWdhdGl2ZSBlcnJubyBmcm9tIHN0cmF0 aXgxMF9zdmNfc2VuZCgpIG9uIGZhaWx1cmUgdG8gc2VuZCANCj4+IHRoZSByZXF1ZXN0DQo+PiAr ICogKiAtRVRJTUVET1VUIGlmIHdhaXRpbmcgZm9yIHRoZSBTTUMgY2FsbGJhY2sgdGltZXMgb3V0 DQo+PiArICogKiBhIG5lZ2F0aXZlIGVycm5vIGZyb20gDQo+PiB3YWl0X2Zvcl9jb21wbGV0aW9u X2ludGVycnVwdGlibGVfdGltZW91dCgpIGlmDQo+PiArICrCoMKgIGludGVycnVwdGVkIG9yIG90 aGVyd2lzZSBzaWduYWxlZCB3aGlsZSB3YWl0aW5nIChmb3IgZXhhbXBsZSAtIA0KPj4gRVJFU1RB UlRTWVMpDQo+PiDCoMKgICovDQo+PiDCoCBzdGF0aWMgaW50IHJzdV9zZW5kX21zZyhzdHJ1Y3Qg c3RyYXRpeDEwX3JzdV9wcml2ICpwcml2LA0KPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg ZW51bSBzdHJhdGl4MTBfc3ZjX2NvbW1hbmRfY29kZSBjb21tYW5kLA0KPj4gQEAgLTI2NCw3ICsy NzAsOCBAQCBzdGF0aWMgaW50IHJzdV9zZW5kX21zZyhzdHJ1Y3Qgc3RyYXRpeDEwX3JzdV9wcml2 IA0KPj4gKnByaXYsDQo+PiDCoMKgwqDCoMKgIHN0cnVjdCBzdHJhdGl4MTBfc3ZjX2NsaWVudF9t c2cgbXNnOw0KPj4gwqDCoMKgwqDCoCBpbnQgcmV0Ow0KPj4gLcKgwqDCoCBtdXRleF9sb2NrKCZw cml2LT5sb2NrKTsNCj4+ICvCoMKgwqAgaWYgKCFtdXRleF90cnlsb2NrKCZwcml2LT5sb2NrKSkN Cj4+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4gLUVBR0FJTjsNCj4gDQo+IFRoZSBjb21taXQgbWVz c2FnZSBzYXlzIHRoaXMgcHJldmVudHMgZGVhZGxvY2tzIGZyb20gImNhbGxlcnMgdGhhdA0KPiBh bHJlYWR5IGhvbGQgcHJpdi0+bG9jay4iIERvZXMgc3VjaCBhIGNhbGxlciBhY3R1YWxseSBleGlz dD8NCj4gDQo+IExvb2tpbmcgYXQgdGhlIGRyaXZlciwgcHJpdi0+bG9jayBpcyBpbml0aWFsaXpl ZCBpbg0KPiBzdHJhdGl4MTBfcnN1X3Byb2JlKCkgYW5kIGlzIGFjcXVpcmVkIG9ubHkgaW5zaWRl IHJzdV9zZW5kX21zZygpDQo+IGl0c2VsZi4gVGhlIGNvbXBsZXRpb24gY2FsbGJhY2tzIChyc3Vf Y29tbWFuZF9jYWxsYmFjayBhbmQgZnJpZW5kcykNCj4gY2FsbCBjb21wbGV0ZSgpIHdpdGhvdXQg dGFraW5nIHByaXYtPmxvY2ssIHNvIHRoZXJlIGlzIG5vIHJlZW50cmFudA0KPiBhY3F1aXNpdGlv biBwYXRoIHRocm91Z2ggY2FsbGJhY2tzIGVpdGhlci4NCj4gDQo+IFR3byBjb25jdXJyZW50IHN5 c2ZzIHdyaXRlcyB3b3VsZCBzZXJpYWxpemUgY29ycmVjdGx5IHVuZGVyIHRoZQ0KPiBvcmlnaW5h bCBtdXRleF9sb2NrKCkg4oCUIHRoZSBzZWNvbmQgd3JpdGVyIHdvdWxkIGJsb2NrIHVudGlsIHRo ZSBmaXJzdA0KPiBjb21wbGV0ZWQuIFRoYXQgaXMgdGhlIGV4cGVjdGVkIGJlaGF2aW9yIGZvciBh IG9uZS1zaG90IGZpcm13YXJlDQo+IGNvbmZpZ3VyYXRpb24gY29tbWFuZCwgbm90IGEgZGVhZGxv Y2suDQo+IA0KPiANCllvdSBhcmUgcmlnaHQsIHRoZXJlIGlzIG5vIHJlY3Vyc2l2ZSBkZWFkbG9j ayBwYXRoIGZyb20gYSBjYWxsZXIgYWxyZWFkeSANCmhvbGRpbmcgcHJpdi0+bG9jaywgYW5kIHRo YXQgd29yZGluZyBpbiBteSBjb21taXQgbWVzc2FnZSBpcyBpbmFjY3VyYXRlLg0KVGhlIGlzc3Vl IEkgYW0gdHJ5aW5nIHRvIGFkZHJlc3MgaXMgYSBwb3RlbnRpYWwgaW5kZWZpbml0ZSBvciBibG9j a2luZyANCndhaXQgaW4gcHJhY3RpY2Ugd2hlbiBhbiBSU1UgdHJhbnNhY3Rpb24gZG9lcyBub3Qg Y29tcGxldGUgYXMgZXhwZWN0ZWQsIA0Kd2hpY2ggaXMgb2JzZXJ2ZWQgYXMgYSBzeXNmcyB3cml0 ZSBoYW5nLiBJbiB0aGF0IHNpdHVhdGlvbiwgc3Vic2VxdWVudCANCnN5c2ZzIHdyaXRlcyBxdWV1 ZSBiZWhpbmQgbXV0ZXhfbG9jaygpIGFuZCBhcHBlYXIgaHVuZyBmcm9tIHVzZXIgc3BhY2UuDQpT byB0aGUgaW50ZW50IGlzIHRvIG1ha2UgcmVib290X2ltYWdlX3N0b3JlKCkgbm9uLWJsb2NraW5n IHdoZW4gUlNVIGlzIA0KYWxyZWFkeSBidXN5IGJ5IHJldHVybmluZyBlYXJseSBvbiAtRUFHQUlO LCBub3QgdG8gZml4IGxvY2sgcmVjdXJzaW9uLg0KSSB3aWxsIGNvcnJlY3QgdGhlIGNvbW1pdCB3 b3JkaW5nIGluIHYyIHBhdGNoLj4+IMKgwqDCoMKgwqAgDQpyZWluaXRfY29tcGxldGlvbigmcHJp di0+Y29tcGxldGlvbik7DQo+PiDCoMKgwqDCoMKgIHByaXYtPmNsaWVudC5yZWNlaXZlX2NiID0g Y2FsbGJhY2s7DQo+PiBAQCAtNTk3LDcgKzYwNCw5IEBAIHN0YXRpYyBzc2l6ZV90IHJlYm9vdF9p bWFnZV9zdG9yZShzdHJ1Y3QgZGV2aWNlICpkZXYsDQo+PiDCoMKgwqDCoMKgIHJldCA9IHJzdV9z ZW5kX21zZyhwcml2LCBDT01NQU5EX1JTVV9VUERBVEUsDQo+PiDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBhZGRyZXNzLCByc3VfY29tbWFuZF9jYWxsYmFjayk7DQo+PiAtwqDCoMKg IGlmIChyZXQpIHsNCj4+ICvCoMKgwqAgaWYgKHJldCA9PSAtRUFHQUlOKSB7DQo+PiArwqDCoMKg wqDCoMKgwqAgcmV0dXJuIDA7DQo+IA0KPiBUd28gY29uY2VybnMgaGVyZS4NCj4gDQo+IEZpcnN0 LCBkb2VzIHJldHVybmluZyAwIHZpb2xhdGUgdGhlIHN5c2ZzIHN0b3JlIGNhbGxiYWNrIGNvbnRy YWN0Pw0KPiBTeXNmcyBzdG9yZSBoYW5kbGVycyBhcmUgZXhwZWN0ZWQgdG8gcmV0dXJuIHRoZSBu dW1iZXIgb2YgYnl0ZXMNCj4gY29uc3VtZWQgb24gc3VjY2Vzcywgb3IgYSBuZWdhdGl2ZSBlcnJu byBvbiBlcnJvci4gUmV0dXJuaW5nIDAgdGVsbHMNCj4ga2VybmZzIHRoYXQgemVybyBieXRlcyB3 ZXJlIGNvbnN1bWVkLCB3aGljaCBpcyBhIHNob3J0IHdyaXRlLiBBDQo+IFBPU0lYLWNvbXBsaWFu dCB3cml0ZSBsb29wIHNlZWluZyAwIGJ5dGVzIHJldHVybmVkIG9uIGEgbm9uLXplcm8NCj4gd3Jp dGUgd2lsbCByZXRyeSBpbmRlZmluaXRlbHkuIFRoZSBpbnRlbmRlZCBzaWxlbnQgbm8tb3Agc2hv dWxkDQo+IHJldHVybiBjb3VudCwgbm90IDAuDQo+IA0KPiBTZWNvbmQsIHdoZW4gbXV0ZXhfdHJ5 bG9jayBmYWlscywgQ09NTUFORF9SU1VfVVBEQVRFIGlzIG5ldmVyIHNlbnQNCj4gdG8gdGhlIGZp cm13YXJlLCB5ZXQgcmVib290X2ltYWdlX3N0b3JlKCkgcmV0dXJucyB3aXRob3V0IGFuIGVycm9y Lg0KPiBUaGUgb3BlcmF0b3IncyByZXF1ZXN0IHRvIGNoYW5nZSB0aGUgcGVyc2lzdGVudCBib290 IGltYWdlIGlzDQo+IHNpbGVudGx5IGRyb3BwZWQgd2l0aCBubyBsb2cgbWVzc2FnZSBhbmQgbm8g ZXJyb3IgdG8gdXNlcnNwYWNlLg0KPiANCj4gT24gdGhlIG5leHQgcmVib290IHRoZSBkZXZpY2Ug d2lsbCBib290IHRoZSBvbGQgaW1hZ2UgcmF0aGVyIHRoYW4NCj4gdGhlIG9uZSB0aGF0IHdhcyB3 cml0dGVuIHRvIHRoZSBhdHRyaWJ1dGUuDQo+IA0KPiBGb3IgYSBvbmUtc2hvdCBwZXJzaXN0ZW50 IGZpcm13YXJlIHN0YXRlIGNoYW5nZSwgaXMgc2lsZW50bHkNCj4gZGlzY2FyZGluZyB0aGUgcmVx dWVzdCB0aGUgcmlnaHQgdHJhZGVvZmY/IEJsb2NraW5nIGluIGEgc3lzZnMNCj4gc3RvcmUgY2Fs bGJhY2sgaXMgcGVybWl0dGVkLCBzbyBrZWVwaW5nIHRoZSBvcmlnaW5hbCBtdXRleF9sb2NrKCkN Cj4gd291bGQgbGV0IGNvbmN1cnJlbnQgd3JpdGVycyBzZXJpYWxpemUgY29ycmVjdGx5IHdpdGhv dXQgYW55IGRhdGENCj4gbG9zcy4NCj4gDQo+IERpbmgNCkkgYWdyZWUgd2l0aCBib3RoIHBvaW50 cy4NClJldHVybmluZyAwIGZyb20gYSBzeXNmcyBzdG9yZSBjYWxsYmFjayBpcyBpbmNvcnJlY3Qg aGVyZS4NCkEgc3VjY2Vzc2Z1bCBzeXNmcyBzdG9yZSBzaG91bGQgcmV0dXJuIGNvdW50OyByZXR1 cm5pbmcgMCBjYW4gYmUgdHJlYXRlZCANCmFzIGEgc2hvcnQgd3JpdGUgYW5kIG1heSBjYXVzZSBy ZXRyeSBsb29wcyBpbiB1c2Vyc3BhY2UuDQpJIGFsc28gYWdyZWUgdGhhdCBzaWxlbnRseSBkcm9w cGluZyBDT01NQU5EX1JTVV9VUERBVEUgd2hlbiANCm11dGV4X3RyeWxvY2soKSBmYWlscyBpcyBu b3QgYWNjZXB0YWJsZSBmb3IgYSBvbmUtc2hvdCBwZXJzaXN0ZW50IA0KYm9vdC1pbWFnZSB1cGRh dGUuDQpJIHdpbGwgZHJvcCB0aGUgcmVib290X2ltYWdlX3N0b3JlKCkgc3BlY2lhbC1jYXNlIG5v LW9wIHN1Y2Nlc3Mgb24NCi1FQUdBSU4gaW4gdjIuDQoNClRoYW5rcywNClJlZ2FyZHMsDQpUemUg WWVlDQoNCg0KDQo=