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=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS 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 C3FC8C07E9B for ; Mon, 19 Jul 2021 11:33:29 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id A009B60FF3 for ; Mon, 19 Jul 2021 11:33:29 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236339AbhGSKws (ORCPT ); Mon, 19 Jul 2021 06:52:48 -0400 Received: from mail-eopbgr70131.outbound.protection.outlook.com ([40.107.7.131]:52133 "EHLO EUR04-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S236487AbhGSKwq (ORCPT ); Mon, 19 Jul 2021 06:52:46 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oF9V3PcaG1+82lD6cHuj8/XH9vKKrFillti6X41ReexueuSaezG7/LutAjfL17dLqsbXsOVsvBzJk5SthqpTAlzt7abEvEDJQF8Kg3tTnYKRc7ZpQpeILGwxd/0OWGpPSNVfiidlEbqV4bHQgtHsBu5voP5KGq7vLon8HhKnY6rUYNBJtaBsEMN/Nxtxx9/MhySpGliTbInjKKMx7VXpndd5snmsgEHPvUzHNKwxDnK16dL6/bDjRSIY1bq30tqeGedKYgQNjAnildQ/l+yaHlJXm0hzW4nKBmaOHt3bi2aqSOOrW4WD1lMpWe9/9UEsznBymA/BNw4/CqKp1n9GOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xVx49oXx8ozh5Ie97HOTLJgsHOOGeX/cdF9taFRmLrQ=; b=ACyWkCFXgI70Nl0JU6i1siSYBXhi54oab1GbdLlWfYrrvFvlpQG+es9kFamU+CUV1KTaTyE6bZrnR/eVFZ63bqiqKr4swU2lTkgC6an6AhEY87XS12kUWYKJUP4E62RhXWHvtbWvovu3lUJ3rfJMh5CvdWvVFWlIc5noRY8Uscv8L30IO4wWF6dAkwIAlRAmXNp9xcOT6ZEwftKQEvfOPlP4BBdfEtAJzobK//+QJL1hVKIird0f73zZmueoBXSEktgbbnGrw5WWsa0jGX5Tcv/ZJEYar16kb3YK3NgXhzbsFJEGFtHFtwX30PbRu8v7hEhqNQqve2XqGqUmGQoHaA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=hbkworld.com; dmarc=pass action=none header.from=hbkworld.com; dkim=pass header.d=hbkworld.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hbkworld.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xVx49oXx8ozh5Ie97HOTLJgsHOOGeX/cdF9taFRmLrQ=; b=BmJk7i7cgQ5DoRFcvUTzR+AGx+vXlNW8dCNXA69DWHWweq7OcGXYdzsN3k1jcgX3Gj7hASKjTt4keBGhERomemiY7Si956vNibpPpBK651lUJRJCLtXEucejM+ZDb3TOlcQwfYrQl7QqdUxCTdu/MCaz05uscL768VUd1Td46Mplz4sZpeiVOW4YiE3BtptckbNQ2d7LEYLNhbZBMSyt7uDwV3ll3TTAhG0fZg98HlZZI3tq//p11a6fL0LLaSG/QqP04VXScdvLfcnCsSMn3uX9cqxggsBSAKCPWO/sY5Hu0LgCQ5EIwDtUidUKuq61KWW/wUF0T3C4/Y70sgF+Eg== Received: from AM0PR09MB4276.eurprd09.prod.outlook.com (2603:10a6:20b:166::10) by AM8PR09MB5228.eurprd09.prod.outlook.com (2603:10a6:20b:3db::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.26; Mon, 19 Jul 2021 11:33:24 +0000 Received: from AM0PR09MB4276.eurprd09.prod.outlook.com ([fe80::4d88:bf9c:b655:7a92]) by AM0PR09MB4276.eurprd09.prod.outlook.com ([fe80::4d88:bf9c:b655:7a92%7]) with mapi id 15.20.4331.032; Mon, 19 Jul 2021 11:33:24 +0000 From: Ruud Bos To: "netdev@vger.kernel.org" CC: "davem@davemloft.net" , "kuba@kernel.org" , "jesse.brandeburg@intel.com" , "anthony.l.nguyen@intel.com" Subject: [PATCH net-next 2/4 resend] igb: move PEROUT and EXTTS isr logic to separate functions Thread-Topic: [PATCH net-next 2/4 resend] igb: move PEROUT and EXTTS isr logic to separate functions Thread-Index: Add8kIuHE38TOLc3RwW+20k2b8PMBw== Date: Mon, 19 Jul 2021 11:33:24 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_9208be00-d674-40fd-8399-cd3587f85bc0_Enabled=true; MSIP_Label_9208be00-d674-40fd-8399-cd3587f85bc0_SetDate=2021-07-19T11:33:23Z; MSIP_Label_9208be00-d674-40fd-8399-cd3587f85bc0_Method=Privileged; MSIP_Label_9208be00-d674-40fd-8399-cd3587f85bc0_Name=Unrestricted; MSIP_Label_9208be00-d674-40fd-8399-cd3587f85bc0_SiteId=6cce74a3-3975-45e0-9893-b072988b30b6; MSIP_Label_9208be00-d674-40fd-8399-cd3587f85bc0_ActionId=a45ba5d9-1ea5-455c-adae-95f5d990e4c7; MSIP_Label_9208be00-d674-40fd-8399-cd3587f85bc0_ContentBits=2 authentication-results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=hbkworld.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: df9bc2d7-6cff-4d64-a73d-08d94aa90531 x-ms-traffictypediagnostic: AM8PR09MB5228: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6430; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: qvcgO5fBFvyyPAHqr8J9KoPODjkUonXNrzyMztX5uHlBA1T5IddqL4547La52zoEQrELqiwQapjsbQBhofZ/RWpO2a0T3CPJbaReL8vk1NH+VG3dJBn3L5VhV1zgi+54fd5FgNkWYw9Lcu1RznWGI/pEB6kI6tWgQKBmNy2S8aMzb/9cqhtEkBbBR5zIhnxcvxLuVdc8NcBZCeCIBK4KoIJt3cMbrtf8YAgDlDMzhUPt11b4LEluBz3Rq7qePMTRXI8AmdEJhS28zqsgOm0r1yql6nnOMiEvKHR64KGr7+J3aL4mVw7jsW74SldzrYP3PoDQi0z4KP5n3kwW37U7hVZK7XH9g8FWbYHKbti0GH1DKdkbkkHlbfx0wYL78TVqZlDBxSd553wKiwvwpjJRudqIpmTINiEpcCuPEWz0/qEX2Oh0PSfpebq2GCdSRON6BkeyR6PKUBHbwXSYFTlHu4TvgXQuoOh3sRfQzAjZFf8RMF9rZ5vV+DX9HuT2ZgSrzspwQC0bPB8rIwcHYelLk+k+fZR+GHtqPQ3gyeaOJdoBMxEKfI4DwwumgL3+BwctgrFvFpo5xjwlSyCWPJwkYeZ8kk7yxN8D8aqoHSBT2AS+iv2QPCKV4Y+UK+HZNf8BmzDQiBUYffrf7i+dB70/S8TpwvSbgwGq7/UGBOwJXuegdontDpD4tqiucALvOFxtD0/WrIawUPu3zRZSaLTU2Q== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR09MB4276.eurprd09.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(39850400004)(366004)(136003)(396003)(346002)(376002)(8936002)(8676002)(5660300002)(6916009)(55016002)(33656002)(52536014)(83380400001)(38100700002)(2906002)(44832011)(122000001)(26005)(9686003)(54906003)(86362001)(186003)(15974865002)(66446008)(64756008)(66556008)(66476007)(4326008)(316002)(71200400001)(66946007)(478600001)(76116006)(7696005)(6506007)(38070700004);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?dEJaZUdBWnBoV1N3VmdpbGJ1ZFE4ZTVqN1RjMDBTeGNKU0IyREFZRCs3cjlJ?= =?utf-8?B?bFJJZXBRalowMUt2TktPRkxkOTdFb0VxMkJWamRjNVdRUGg3OE40OTQrb1J6?= =?utf-8?B?ZnB1Z2dMYlExSDZDS2RkVk5BZlRsSURyUDlVbEJENkxOQU9HcDBWVUdCNWhi?= =?utf-8?B?K1dBVmZMbmg4VW1oRmJiVkk3N2JEcUpsN0U2aDhNUVJPV2djb2tMc1VWT1k2?= =?utf-8?B?V05hRFgxZ3J0UVA3enhUNDh5OXVPcjZuTVQ0OVQxaTRxUTBoc29oeG1KbE0v?= =?utf-8?B?dFZhdmx6VXZFRmZ2RVpBMkR3dU9BUEtmbnhXNWtwbE1sVXgzcnkwTzg0SHBy?= =?utf-8?B?S3BHa3BWRm9ka3JZd3RYRHV2ejl2YWU1LzZQa3ZnVFVyQmJ0UkVkdVduZXRR?= =?utf-8?B?NnY3MzFuNjN5bEF5ZGtkbE1IRXNaNXp2WmZ5bzVTaHE1VHdydGo3Q1k2UGFo?= =?utf-8?B?YmpYNWJpc3UwN1ZzUzFQL0FNdXpDNmQ1ZGswLzgyQVIzaUJ5ekMzWnpYOFhQ?= =?utf-8?B?bFo5aWVHSlJJbU9FaTVOT0w0aVhrdXE0OTNaT24wY1docWtPK2JEQndIdERu?= =?utf-8?B?SHpXMi81NWRFa21tVmZ0RDduOVdvQ0RGWXI5MThTOUR4eXdwdzh1a2wrMmd4?= =?utf-8?B?dzJsWlhBbmFQSktwZWNIaWszeGZiWFNFS2NTZDhMbk5WTkVocnVBUEpHL2lN?= =?utf-8?B?aW9iQTJXeUFqZnJXYmFjV0lIYzBzU1M4bm8zQWd0UFlJQ1JtL3hwOXNhYTI0?= =?utf-8?B?TG8rNFZvdGFIRkVpa3lNajNXU25VNDBKWDFaOXBrVW5nSUY0bzlMSGh1K09q?= =?utf-8?B?M3NoNFJXZ0hvUDFrR3VPUkQ3OTZ3VXRMQ1UrTlBxZ1RuUEl2bVF4N2xCY2dP?= =?utf-8?B?QmJkVnBOQXM3RGg1aGpNaWR3UStFQmFPSmtGQnA5R0orZ2hBY0tTMXNRQWRn?= =?utf-8?B?STFBMGx5dm5TcXphU1EyRGtrRHpuT05DR1IwNjVEUEgvNlFNeTNtZU12cjVS?= =?utf-8?B?eTFOcXpOdmpBMUJYdXA1RmxsSVFaSkZPMDhUWFhnTk9ZUzA2cU9LZ3dXK2My?= =?utf-8?B?SENCbkxRNCtrTDhSaEZzaHVOZEphdjdXeDNrMEhEdE5CR3lDNFRwekZNTWFV?= =?utf-8?B?bllzODlmTUNZSXZ4cFFaVzJaeEVUL01LN1QvaVdTTTFIaVhkTE9zWnE4UXBN?= =?utf-8?B?TmRsUDZvcU9mbWRsTlVTRHR6NXBQWEJLUndXQUM2aFRwZ01pR1ZkRG9SaURr?= =?utf-8?B?b3A2QldxZGt2eWt0OEYzZlAzODcvUm92YWhpRStJMEt1SjFjVHJ4Q3RwdVBQ?= =?utf-8?B?R1ZvRHBFdVlZR2ZFbnc1bGxSUXlsNGEzckhTMHUrNU5FODV0dFNxNU9menVE?= =?utf-8?B?clg1UEsxbFNxcHc3UUFVSXdpZWQwdFNqeUVqSDQvaTFZV2N6TUI1UURuY0VV?= =?utf-8?B?bFVqcVVQVHlWMm5oWDM0NU53RWpVVTA4TFdYc3poeWtZRFg4eCtROWJlbkll?= =?utf-8?B?VjVVM3ZhUGYxVkJhanlvaEFsZWhhV0NGTnBDOGZoMklScnZWWUQ0a2UxM1k0?= =?utf-8?B?cDZkUzNRM0txWTBCUnhmOVArN2xNS214K001QlF4Q1phN293ZEhRYnF3QjBV?= =?utf-8?B?N2JwWDVVekJpRGo5azRTdlVCQUlGbzJUeE10Rk1pbGpld2NDMEJSMEhSbzJD?= =?utf-8?B?cmtacS85a0Vwa2hDeHBNZTFnZlRMZmQ2NTNFSUhLcDZweWx6VXZJQ2o3c2k5?= =?utf-8?Q?uYhwVbYOPV3HYyG4nM=3D?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: hbkworld.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: AM0PR09MB4276.eurprd09.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: df9bc2d7-6cff-4d64-a73d-08d94aa90531 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Jul 2021 11:33:24.6176 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 6cce74a3-3975-45e0-9893-b072988b30b6 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: uhkkg67Urnxh1vxVl43tq5wdyTZyeNH0zLFDDaMmVK0B1fmk5ZAUtA9Z7oOrvlj8 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR09MB5228 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org UmVtb3ZlIGNvZGUgZHVwbGljYXRpb24gaW4gdGhlIHRzeW5jIGludGVycnVwdCBoYW5kbGVyIGZ1 bmN0aW9uIGJ5IG1vdmluZw0KdGhpcyBsb2dpYyB0byBzZXBhcmF0ZSBmdW5jdGlvbnMuIFRoaXMg a2VlcHMgdGhlIGludGVycnVwdCBoYW5kbGVyIHJlYWRhYmxlDQphbmQgYWxsb3dzIHRoZSBuZXcg ZnVuY3Rpb25zIHRvIGJlIGV4dGVuZGVkIGZvciBhZGFwdGVyIHR5cGVzIG90aGVyIHRoYW4NCmky MTAuDQoNClNpZ25lZC1vZmYtYnk6IFJ1dWQgQm9zIDxydXVkLmJvc0BoYmt3b3JsZC5jb20+DQot LS0NCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9pbnRlbC9pZ2IvaWdiX21haW4uYyB8IDc5ICsrKysr KysrKysrKystLS0tLS0tLS0tDQogMSBmaWxlIGNoYW5nZWQsIDQ0IGluc2VydGlvbnMoKyksIDM1 IGRlbGV0aW9ucygtKQ0KDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvaW50ZWwv aWdiL2lnYl9tYWluLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9pbnRlbC9pZ2IvaWdiX21haW4u Yw0KaW5kZXggN2U2NDM1ZGM3ZTgwLi45MjhhYzliYTFjNjYgMTAwNjQ0DQotLS0gYS9kcml2ZXJz L25ldC9ldGhlcm5ldC9pbnRlbC9pZ2IvaWdiX21haW4uYw0KKysrIGIvZHJpdmVycy9uZXQvZXRo ZXJuZXQvaW50ZWwvaWdiL2lnYl9tYWluLmMNCkBAIC02NzIxLDEyICs2NzIxLDUwIEBAIHZvaWQg aWdiX3VwZGF0ZV9zdGF0cyhzdHJ1Y3QgaWdiX2FkYXB0ZXIgKmFkYXB0ZXIpDQogICAgICAgIH0N CiB9DQoNCitzdGF0aWMgdm9pZCBpZ2JfcGVyb3V0KHN0cnVjdCBpZ2JfYWRhcHRlciAqYWRhcHRl ciwgaW50IHNkcCkNCit7DQorICAgICAgIHN0cnVjdCBlMTAwMF9odyAqaHcgPSAmYWRhcHRlci0+ aHc7DQorICAgICAgIHN0cnVjdCB0aW1lc3BlYzY0IHRzOw0KKyAgICAgICB1MzIgdHNhdXhjOw0K Kw0KKyAgICAgICBpZiAoc2RwIDwgMCB8fCBzZHAgPj0gSUdCX05fUEVST1VUKQ0KKyAgICAgICAg ICAgICAgIHJldHVybjsNCisNCisgICAgICAgc3Bpbl9sb2NrKCZhZGFwdGVyLT50bXJlZ19sb2Nr KTsNCisgICAgICAgdHMgPSB0aW1lc3BlYzY0X2FkZChhZGFwdGVyLT5wZXJvdXRbc2RwXS5zdGFy dCwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGFwdGVyLT5wZXJvdXRbc2RwXS5wZXJp b2QpOw0KKyAgICAgICAvKiB1MzIgY29udmVyc2lvbiBvZiB0dl9zZWMgaXMgc2FmZSB1bnRpbCB5 MjEwNiAqLw0KKyAgICAgICB3cjMyKChzZHAgPT0gMSkgPyBFMTAwMF9UUkdUVElNTDEgOiBFMTAw MF9UUkdUVElNTDAsIHRzLnR2X25zZWMpOw0KKyAgICAgICB3cjMyKChzZHAgPT0gMSkgPyBFMTAw MF9UUkdUVElNSDEgOiBFMTAwMF9UUkdUVElNSDAsICh1MzIpdHMudHZfc2VjKTsNCisgICAgICAg dHNhdXhjID0gcmQzMihFMTAwMF9UU0FVWEMpOw0KKyAgICAgICB0c2F1eGMgfD0gVFNBVVhDX0VO X1RUMDsNCisgICAgICAgd3IzMihFMTAwMF9UU0FVWEMsIHRzYXV4Yyk7DQorICAgICAgIGFkYXB0 ZXItPnBlcm91dFtzZHBdLnN0YXJ0ID0gdHM7DQorICAgICAgIHNwaW5fdW5sb2NrKCZhZGFwdGVy LT50bXJlZ19sb2NrKTsNCit9DQorDQorc3RhdGljIHZvaWQgaWdiX2V4dHRzKHN0cnVjdCBpZ2Jf YWRhcHRlciAqYWRhcHRlciwgaW50IHNkcCkNCit7DQorICAgICAgIHN0cnVjdCBlMTAwMF9odyAq aHcgPSAmYWRhcHRlci0+aHc7DQorICAgICAgIHUzMiBzZWMsIG5zZWM7DQorICAgICAgIHN0cnVj dCBwdHBfY2xvY2tfZXZlbnQgZXZlbnQ7DQorDQorICAgICAgIGlmIChzZHAgPCAwIHx8IHNkcCA+ PSBJR0JfTl9FWFRUUykNCisgICAgICAgICAgICAgICByZXR1cm47DQorDQorICAgICAgIG5zZWMg PSByZDMyKChzZHAgPT0gMSkgPyBFMTAwMF9BVVhTVE1QTDEgOiBFMTAwMF9BVVhTVE1QTDApOw0K KyAgICAgICBzZWMgID0gcmQzMigoc2RwID09IDEpID8gRTEwMDBfQVVYU1RNUEgxIDogRTEwMDBf QVVYU1RNUEgwKTsNCisgICAgICAgZXZlbnQudHlwZSA9IFBUUF9DTE9DS19FWFRUUzsNCisgICAg ICAgZXZlbnQuaW5kZXggPSBzZHA7DQorICAgICAgIGV2ZW50LnRpbWVzdGFtcCA9IHNlYyAqIDEw MDAwMDAwMDBVTEwgKyBuc2VjOw0KKyAgICAgICBwdHBfY2xvY2tfZXZlbnQoYWRhcHRlci0+cHRw X2Nsb2NrLCAmZXZlbnQpOw0KK30NCisNCiBzdGF0aWMgdm9pZCBpZ2JfdHN5bmNfaW50ZXJydXB0 KHN0cnVjdCBpZ2JfYWRhcHRlciAqYWRhcHRlcikNCiB7DQogICAgICAgIHN0cnVjdCBlMTAwMF9o dyAqaHcgPSAmYWRhcHRlci0+aHc7DQogICAgICAgIHN0cnVjdCBwdHBfY2xvY2tfZXZlbnQgZXZl bnQ7DQotICAgICAgIHN0cnVjdCB0aW1lc3BlYzY0IHRzOw0KLSAgICAgICB1MzIgYWNrID0gMCwg dHNhdXhjLCBzZWMsIG5zZWMsIHRzaWNyID0gcmQzMihFMTAwMF9UU0lDUik7DQorICAgICAgIHUz MiBhY2sgPSAwLCB0c2ljciA9IHJkMzIoRTEwMDBfVFNJQ1IpOw0KDQogICAgICAgIGlmICh0c2lj ciAmIFRTSU5UUl9TWVNfV1JBUCkgew0KICAgICAgICAgICAgICAgIGV2ZW50LnR5cGUgPSBQVFBf Q0xPQ0tfUFBTOw0KQEAgLTY3NDIsNTEgKzY3ODAsMjIgQEAgc3RhdGljIHZvaWQgaWdiX3RzeW5j X2ludGVycnVwdChzdHJ1Y3QgaWdiX2FkYXB0ZXIgKmFkYXB0ZXIpDQogICAgICAgIH0NCg0KICAg ICAgICBpZiAodHNpY3IgJiBUU0lOVFJfVFQwKSB7DQotICAgICAgICAgICAgICAgc3Bpbl9sb2Nr KCZhZGFwdGVyLT50bXJlZ19sb2NrKTsNCi0gICAgICAgICAgICAgICB0cyA9IHRpbWVzcGVjNjRf YWRkKGFkYXB0ZXItPnBlcm91dFswXS5zdGFydCwNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGFkYXB0ZXItPnBlcm91dFswXS5wZXJpb2QpOw0KLSAgICAgICAgICAgICAgIC8q IHUzMiBjb252ZXJzaW9uIG9mIHR2X3NlYyBpcyBzYWZlIHVudGlsIHkyMTA2ICovDQotICAgICAg ICAgICAgICAgd3IzMihFMTAwMF9UUkdUVElNTDAsIHRzLnR2X25zZWMpOw0KLSAgICAgICAgICAg ICAgIHdyMzIoRTEwMDBfVFJHVFRJTUgwLCAodTMyKXRzLnR2X3NlYyk7DQotICAgICAgICAgICAg ICAgdHNhdXhjID0gcmQzMihFMTAwMF9UU0FVWEMpOw0KLSAgICAgICAgICAgICAgIHRzYXV4YyB8 PSBUU0FVWENfRU5fVFQwOw0KLSAgICAgICAgICAgICAgIHdyMzIoRTEwMDBfVFNBVVhDLCB0c2F1 eGMpOw0KLSAgICAgICAgICAgICAgIGFkYXB0ZXItPnBlcm91dFswXS5zdGFydCA9IHRzOw0KLSAg ICAgICAgICAgICAgIHNwaW5fdW5sb2NrKCZhZGFwdGVyLT50bXJlZ19sb2NrKTsNCisgICAgICAg ICAgICAgICBpZ2JfcGVyb3V0KGFkYXB0ZXIsIDApOw0KICAgICAgICAgICAgICAgIGFjayB8PSBU U0lOVFJfVFQwOw0KICAgICAgICB9DQoNCiAgICAgICAgaWYgKHRzaWNyICYgVFNJTlRSX1RUMSkg ew0KLSAgICAgICAgICAgICAgIHNwaW5fbG9jaygmYWRhcHRlci0+dG1yZWdfbG9jayk7DQotICAg ICAgICAgICAgICAgdHMgPSB0aW1lc3BlYzY0X2FkZChhZGFwdGVyLT5wZXJvdXRbMV0uc3RhcnQs DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGFwdGVyLT5wZXJvdXRbMV0u cGVyaW9kKTsNCi0gICAgICAgICAgICAgICB3cjMyKEUxMDAwX1RSR1RUSU1MMSwgdHMudHZfbnNl Yyk7DQotICAgICAgICAgICAgICAgd3IzMihFMTAwMF9UUkdUVElNSDEsICh1MzIpdHMudHZfc2Vj KTsNCi0gICAgICAgICAgICAgICB0c2F1eGMgPSByZDMyKEUxMDAwX1RTQVVYQyk7DQotICAgICAg ICAgICAgICAgdHNhdXhjIHw9IFRTQVVYQ19FTl9UVDE7DQotICAgICAgICAgICAgICAgd3IzMihF MTAwMF9UU0FVWEMsIHRzYXV4Yyk7DQotICAgICAgICAgICAgICAgYWRhcHRlci0+cGVyb3V0WzFd LnN0YXJ0ID0gdHM7DQotICAgICAgICAgICAgICAgc3Bpbl91bmxvY2soJmFkYXB0ZXItPnRtcmVn X2xvY2spOw0KKyAgICAgICAgICAgICAgIGlnYl9wZXJvdXQoYWRhcHRlciwgMSk7DQogICAgICAg ICAgICAgICAgYWNrIHw9IFRTSU5UUl9UVDE7DQogICAgICAgIH0NCg0KICAgICAgICBpZiAodHNp Y3IgJiBUU0lOVFJfQVVUVDApIHsNCi0gICAgICAgICAgICAgICBuc2VjID0gcmQzMihFMTAwMF9B VVhTVE1QTDApOw0KLSAgICAgICAgICAgICAgIHNlYyAgPSByZDMyKEUxMDAwX0FVWFNUTVBIMCk7 DQotICAgICAgICAgICAgICAgZXZlbnQudHlwZSA9IFBUUF9DTE9DS19FWFRUUzsNCi0gICAgICAg ICAgICAgICBldmVudC5pbmRleCA9IDA7DQotICAgICAgICAgICAgICAgZXZlbnQudGltZXN0YW1w ID0gc2VjICogMTAwMDAwMDAwMFVMTCArIG5zZWM7DQotICAgICAgICAgICAgICAgcHRwX2Nsb2Nr X2V2ZW50KGFkYXB0ZXItPnB0cF9jbG9jaywgJmV2ZW50KTsNCisgICAgICAgICAgICAgICBpZ2Jf ZXh0dHMoYWRhcHRlciwgMCk7DQogICAgICAgICAgICAgICAgYWNrIHw9IFRTSU5UUl9BVVRUMDsN CiAgICAgICAgfQ0KDQogICAgICAgIGlmICh0c2ljciAmIFRTSU5UUl9BVVRUMSkgew0KLSAgICAg ICAgICAgICAgIG5zZWMgPSByZDMyKEUxMDAwX0FVWFNUTVBMMSk7DQotICAgICAgICAgICAgICAg c2VjICA9IHJkMzIoRTEwMDBfQVVYU1RNUEgxKTsNCi0gICAgICAgICAgICAgICBldmVudC50eXBl ID0gUFRQX0NMT0NLX0VYVFRTOw0KLSAgICAgICAgICAgICAgIGV2ZW50LmluZGV4ID0gMTsNCi0g ICAgICAgICAgICAgICBldmVudC50aW1lc3RhbXAgPSBzZWMgKiAxMDAwMDAwMDAwVUxMICsgbnNl YzsNCi0gICAgICAgICAgICAgICBwdHBfY2xvY2tfZXZlbnQoYWRhcHRlci0+cHRwX2Nsb2NrLCAm ZXZlbnQpOw0KKyAgICAgICAgICAgICAgIGlnYl9leHR0cyhhZGFwdGVyLCAxKTsNCiAgICAgICAg ICAgICAgICBhY2sgfD0gVFNJTlRSX0FVVFQxOw0KICAgICAgICB9DQoNCi0tDQoyLjMwLjINCg0K DQpVTlJFU1RSSUNURUQNCkhCSyBCZW5lbHV4IEIuVi4sIFNjaHV0d2VnIDE1YSwgTkwtNTE0NSBO UCBXYWFsd2lqaywgVGhlIE5ldGhlcmxhbmRzIHd3dy5oYmt3b3JsZC5jb20gUmVnaXN0ZXJlZCBh cyBCLlYuIChEdXRjaCBsaW1pdGVkIGxpYWJpbGl0eSBjb21wYW55KSBpbiB0aGUgRHV0Y2ggY29t bWVyY2lhbCByZWdpc3RlciAwODE4MzA3NSAwMDAwIENvbXBhbnkgZG9taWNpbGVkIGluIFdhYWx3 aWprIE1hbmFnaW5nIERpcmVjdG9ycyA6IEFsZXhhbmRyYSBIZWxsZW1hbnMsIEplbnMgV2llZ2Fu ZCwgSm9ybiBCYWdpam4gVGhlIGluZm9ybWF0aW9uIGluIHRoaXMgZW1haWwgaXMgY29uZmlkZW50 aWFsLiBJdCBpcyBpbnRlbmRlZCBzb2xlbHkgZm9yIHRoZSBhZGRyZXNzZWUuIElmIHlvdSBhcmUg bm90IHRoZSBpbnRlbmRlZCByZWNpcGllbnQsIHBsZWFzZSBsZXQgbWUga25vdyBhbmQgZGVsZXRl IHRoaXMgZW1haWwuDQo=