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 Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id DE126C77B61 for ; Sun, 16 Apr 2023 16:24:03 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230229AbjDPQYD (ORCPT ); Sun, 16 Apr 2023 12:24:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57826 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229491AbjDPQYC (ORCPT ); Sun, 16 Apr 2023 12:24:02 -0400 Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on2108.outbound.protection.outlook.com [40.107.13.108]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 66B9B19AF for ; Sun, 16 Apr 2023 09:23:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jNIxjHYNEemJbMsURpKRoutrG32soSXotC2OZ/jyGROa1VpWONloIMLZW46F5oxc4MkeShKhHt7mLG/6Fk3fne9mLzRrc/JeGPlKXXYdbuZKFWHQmD78aTfXVHmgNDACuKdYhvvpa69N6bMwoRM+WDJZ1ZJZSdH+Cf+nVNlzfLmYW+dosYYQ0j4Ex2Y6LccQvr2+OHpkg1FieiLtPwBPgNDaJ36n/sKxmd/DFM5u3S1GfTVzm796seK2tbnhiLTx+92UrQ7RChWywRxX6+1bIaeWvNmHtRJFIKEHVka/b6rXqxIKsD8v3JebQOGUCub7MYIBcdck36PAjmidVmeS5A== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=/Izec7HOX4uE9URtXTUyUE2lWWpNo8nqkaYrnRAsmbw=; b=jwXqQFY2UIHRdfQ9yEod00888I/4cJROYdIiEAB0L4XAlzwkVFMmCJAiN+q04P8PatRZHxOrGuoO1pF+40kfKtjEnDTb+YlOd51rGeO/H8IaJKrijTdkYqrKMuZeB7Uh5tjKzvgwlLZwnUm8NX0psVJ0zrJ7l6y+lsh1VkQumOGwYKeDQIqrXFkzf2Kj4sEm+huGwNcgYMTP3DRhqn/Z4baoqrKaj+LFlAbMo+yQuvPD8Zy8FlTrwazIIc6tzLs4U+d9uh8/StgT6yedJAHUzu/tLmBMQZgANbxRigjCO2q3b/hJZ6QWtG8VKakRb4wZ+wEOND7ba/vpfD83lU1iiQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=siklu.com; dmarc=pass action=none header.from=siklu.com; dkim=pass header.d=siklu.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=siklu.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/Izec7HOX4uE9URtXTUyUE2lWWpNo8nqkaYrnRAsmbw=; b=785rTYmy3gJ7wKdYQn6fEGIoERujIHQneoFoXh8P7iKc5btpcaqoARfB5CpxEfE+mvs47/rDDTgnkaGuWJW4USu32n6g6wIOI8j88Q4y9xp2jpmGNUgcJM6ssvhe6Zj/gltwdCAfSMQq+8TDI5LOm2rnRYIC2d24G9xeA+zfkc4= Received: from VI1PR0102MB3117.eurprd01.prod.exchangelabs.com (2603:10a6:803:5::17) by DBBPR01MB7724.eurprd01.prod.exchangelabs.com (2603:10a6:10:1ec::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6298.30; Sun, 16 Apr 2023 16:23:55 +0000 Received: from VI1PR0102MB3117.eurprd01.prod.exchangelabs.com ([fe80::a0b2:d7a9:4f7:4a70]) by VI1PR0102MB3117.eurprd01.prod.exchangelabs.com ([fe80::a0b2:d7a9:4f7:4a70%5]) with mapi id 15.20.6298.030; Sun, 16 Apr 2023 16:23:49 +0000 From: Shmuel Hazan To: "linux@armlinux.org.uk" CC: "mw@semihalf.com" , "netdev@vger.kernel.org" , "davem@davemloft.net" Subject: [RFC PATCH] net: mvpp2: tai: add extts support Thread-Topic: [RFC PATCH] net: mvpp2: tai: add extts support Thread-Index: AQHZcH/TwoRLxAyYQ06rF/uTKIWa5w== Date: Sun, 16 Apr 2023 16:23:49 +0000 Message-ID: <43bfd860b5f387f9344b251b7c83a795d1a96596.camel@siklu.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=siklu.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: VI1PR0102MB3117:EE_|DBBPR01MB7724:EE_ x-ms-office365-filtering-correlation-id: feb5d6c8-dedd-443c-085d-08db3e96f5f9 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: MMIjMlf552B413QLKaXgnzyjPyUaHFWORXxTZu/6TdWVclTXKVvbmSlfoTuGjk9+co/HmNhe3kg1ioWJJvR1KoVRILsquh0FgeuN5QvIOkTZNxapX7oTy/3dLMLix3FMGnStieV/GV3XJhWG343DQOGN5eVD6KA5k90GMxcGX35QNT7Y/ElF/wxSWQgfKbq7SEgGP0InW0qfbehnLKQrIzotaFsqq1I7MsG1w9MCon+mcD3Bpj8ujBKek0SzKtsVev+H3SKossKwC94y+dnTxxyLvqvkYiLFsnNwCJ9AM7IqAqqMUuJB2rkwGktG47413pVX52IvyjBrfFWFyQV4x9+sSY5n0u6cQAq52XO0IcfZBtGwcXOfv2eYFnPqEF0m/Or2EjwfEAsePQQiKu1Jmxom20wi9P83n2adzgK5bdHBQvOA+nPKH9OaYk2SGt1dfl2LCp61OHQ027CAlW790GdfvFSIRZN281RW//uedzbRSUlZCBGcwh5h+9cv5Btb3KOM3ANI8kkM/zkKYL8QpAXsOVj7O6g93DrUPCaf704Kj+vioSUmDKpRFWuA5dptsr/Vx2+cl5Y3qEvwFRjxC1GRjs3sXRib8QHxnXp6AmFmfFpqQ+SLZUVbzLTXodgh x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR0102MB3117.eurprd01.prod.exchangelabs.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(39840400004)(396003)(376002)(346002)(366004)(136003)(451199021)(6486002)(54906003)(86362001)(478600001)(71200400001)(83380400001)(36756003)(2616005)(26005)(6506007)(38070700005)(38100700002)(186003)(6512007)(122000001)(6916009)(316002)(4326008)(2906002)(66946007)(64756008)(66446008)(66476007)(30864003)(66556008)(41300700001)(91956017)(76116006)(8936002)(8676002)(5660300002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?NnNHWU0vU01ENmUvaHpCVUNCNVhucTVwb0VMa01aTVAyeUpXYmQxVmRUVFNG?= =?utf-8?B?SnpyVktMcXVoaVc4VjlIK1JaSXYxTDR2SDliVXpRM2pMQkJ4VXloSWtsUXp3?= =?utf-8?B?Wm9zbjVlV2VsS3ZVN29yUGloTEVCd1VpeG9WR09nQStXUVp6akxINnYzMGZq?= =?utf-8?B?Skg2cXU1UWZPOWM3QW95R1ZLUFlzWWF6VlAwVGZXMG52bXZqTkp2YmdSZ2lk?= =?utf-8?B?bWZSTmNqUEdzSzNUZVgyY1Uwa2hpWEI3aXl0N3pLNzhVV0xYU0xoY3k0M01O?= =?utf-8?B?TENUMThTSmVFNzdWcEdsRnhHQzJKZ3NRY3RkaHN5aEVmemV6TVlGUDBlcVhL?= =?utf-8?B?WDQ4dVRqRE5rVXgydXZ5ZkNqSWY5d1J6Smo4L0ZIU0QrWXp5WmhiQndqRDZR?= =?utf-8?B?eGl0YW5VLzd5UXdsWXVudU8xOTRKQ05PbmpFMlAveE16TnZ5Q2tFc0JMNDJV?= =?utf-8?B?dGo1STVsemhNK0xMSWd0ejZlMFYyMW5SNHhlQXhRVGR4Zmx6S3BFRm5UaUlY?= =?utf-8?B?Nkt0dWVLNVZZWEpOWlFrSlpLN3JORUozS0FPYmY1dStpYk8rTTJoVXZmZzcw?= =?utf-8?B?NVoxTUJRUElxVS91WnhqaHpHVDVacFNvclZIMHo5ZnNpdno1UUtLQW8zeE5k?= =?utf-8?B?dXZFc0dGa3JsTldnRGRjQlZjdkFGK0JPMTcwR2FueXdkd3BreDJRTHc0R1ls?= =?utf-8?B?b3NlUWN1czdOeGo0aSthaFBrdTMwUWpjWFRzTHBrSjlvams5MU9WSHhlWDY1?= =?utf-8?B?SHREaTNuS3pNYzNQU2pmQy9PSHV5Z2VMWHFjT0JnT1NwazU4SmNpdmNic1ZP?= =?utf-8?B?TkpZU1JpYWYwZUoyU3VPdlZGRWhuNHFFc0xkZTk2VThoSkNVZXVGVnNjMkp2?= =?utf-8?B?cThHZTNoVFkwMXNRa2hGVU1JWWplbm5iRC9tZncwVnVUbzdlVXEvWFdyajNY?= =?utf-8?B?VUR5OUg3ajB6QTlwbEtXc045OFY4Y0Yvb3VEeFNPeGxoMTVrY1lSRTNaOCti?= =?utf-8?B?Q1dNV1BRVjNTVGZtM3VzYTlHV2JjL3F1RHYrYUZseFpoRGZoNDk2KzcrTVoy?= =?utf-8?B?RW1lNGc2UmdGT25hZG1MQUsvditBdTluOTR3SzlUa2NONHdMOC9rN0dPVy9j?= =?utf-8?B?aUNkaThpZ1F6Q2I1S0hhL0N5MnNPOE92eEJUMkdrenoyQzNzNGlLSURwWW9U?= =?utf-8?B?QTUzU0NuRkpXVnVCRzhpSDVaOUpnWExCUkV3US9RNHFGNllwbkJpcE1NNTI2?= =?utf-8?B?TFdvTUJyQ2NQbkFFL0Rsekt5Z1lYbE9aY2xxZVhOR09XUms2QjE4S1Z0MTk2?= =?utf-8?B?bEt0dVRKVytoSWtETjRYK1pLU0FFdUFHeWJPTWRmbUQzSDgrZHNRMHRMY2NS?= =?utf-8?B?UktqSkZCcktSVmw1UVJVVWt4VFlmSGR5V2JrbWNuL08wdlFDcW1FRjRKbkFL?= =?utf-8?B?MFdKV2pUYm9kVTMwUlp6cVA2Q1ZvUFBzbXVnRWtGMm5rbzBIREx6dEJyNGdj?= =?utf-8?B?UFMxTGVQQUd1R2kvMjNOYVJ5bUk3WVM3SlBHdk1WUCtqSzV2aCtRV0NjVlli?= =?utf-8?B?U01LaDVDQm5VM2NJMGtyaE11bnNtKzBMQ093TDg4UEd5dWo4Rk5UYUN6VStw?= =?utf-8?B?aXNoZDRNU2E4Y1M1aUtnb2tUTmJuQlFLZFFYZm5RY29oZzlmT0NBNFR1THAx?= =?utf-8?B?b1U2Vm96dGtNS0lvQ3Q3K2dxZnp4ZHlWcXdodk5sZ1Y0U0t4dUZoYTgra3dq?= =?utf-8?B?Sk9WRmJEYmFoRDd5MWhKc29iMDVndzFobkphcDZaQkE3M0ZGQ3pLY3RoOUp5?= =?utf-8?B?QlVDbjVOYWsvMnRXWDkyNVBmQ1FxWUJTVFpWajVxR0YxRFYyWHY1dnZxcE9y?= =?utf-8?B?VkFFRVRhTW05Rll5b2tyQ2lTQ3AzZks0ZWNPTzdLdFIvZlpPSEVYK2EweUF3?= =?utf-8?B?NUFJQW9INkNUZ1JUNmF3NVhWZWdDSWZVWkdVNndBeEd0MTFkV3I0K3VOOTBt?= =?utf-8?B?c29SUHd6dlZDV3pwSWlDZm00M2dIMkVYMVRpVFc2Q1UvSjZscUpnMkVHSTk5?= =?utf-8?B?R2JlQzRYNk9FS0poV09udHZSWjk3S3BMVFNOV25jSDZoZDFTMmdLalQvb0sv?= =?utf-8?Q?4m0P7rm/b3MpFqENwuRtwkJAM?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: siklu.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: VI1PR0102MB3117.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: feb5d6c8-dedd-443c-085d-08db3e96f5f9 X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Apr 2023 16:23:49.5618 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 5841c751-3c9b-43ec-9fa0-b99dbfc9c988 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: IpLF1/G3z7EaKM+cXUkuz1yKcAphs02H+CHB+/RQYejThpNmQkpDMCdQhb37BQcexmUmX3wRok+jUvJ0E8ofvQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR01MB7724 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org RnJvbSBkMzVjZjZhNTExYjJlN2Y1OGIwMmUyY2FlMjg1NWFkOWM1MWRlNmJjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQ0KDQpUaGlzIGNvbW1pdCBhZGQgc3VwcG9ydCBmb3IgY2FwdHVyaW5nDQph IHRpbWVzdGFtcCBpbiB3aGljaCB0aGUgUFRQX1BVTFNFIHBpbiwNCnJlY2VpdmVkIGEgc2lnbmFs Lg0KDQpUaGlzIGZlYXR1cmUgaXMgbmVlZGVkIGluIG9yZGVyIHRvIHN5bmNocm9uaXplDQptdWx0 aXBsZSBjbG9ja3MgaW4gdGhlIHNhbWUgYm9hcmQsIHVzaW5nDQp0b29scyBsaWtlIHRzMnBoYyBm cm9tIHRoZSBsaW51eHB0cCBwcm9qZWN0Lg0KDQpPbiB0aGUgQXJtYWRhIDgwNDAsIHRoaXMgaXMg dGhlIG9ubHkgd2F5IHRvDQpkbyBzbyBhcyBhIHJlc3VsdCBvZiBtdWx0aXBsZSBlcmF0dGFzIHdp dGgNCnRoZSBQVFBfUFVMU0VfSU4gaW50ZXJmYWNlIHRoYXQgd2FzIGRlc2lnbmVkDQp0byBzeW5j aHJvbml6ZSB0aGUgVEFJIG9uIGFuIGV4dGVybmFsIFBQUw0Kc2lnbmFsICh0aGUgZXJyYXR0YXMg YXJlIEZFLTY4NTYyNzYsIEZFLTczODIxNjANCmZyb20gZG9jdW1lbnQgTVYtUzUwMTM4OC0wMCku DQoNClRoaXMgcGF0Y2ggaW50cm9kdWNlcyBhIHBpbmN0cmwNCmNvbmZpZ3VyYXRpb24gImV4dHRz IiB0aGF0IHdpbGwgYmUgc2VsZWN0ZWQNCm9uY2UgdGhlIHVzZXIgaGFkIGVuYWJsZWQgZXh0dHMs IGFuZCB0aGVuDQp3aWxsIGJlIHJldHVybmVkIGJhY2sgdG8gdGhlICJkZWZhdWx0Ig0KcGluY3Ry bCBjb25maWcgb25jZSBpdCBoYXMgYmVlbiBkaXNhYmxlZC4NCg0KVGhpcyBwaW5jdHJsIG1lc3Mg aXMgbmVlZGVkIGR1ZSB0byB0aGUgZmFjdCB0aGF0DQp0aGVyZSBpcyBubyB3YXkgZm9yIHVzIHRv IGRpc3Rpbmd1aXNoIGJldHdlZW4NCmFuIGV4dGVybmFsIHRyaWdnZXIgKGUuZy4gZnJvbSB0aGUg UFRQX1BVTFNFX0lODQpwaW4pIG9yIGFuIGludGVybmFsIG9uZSwgdHJpZ2dlcmVkIGJ5IHRoZSBy ZWdpc3RlcnMuDQoNCkFuIGV4YW1wbGUgc2hvdWxkIGJlOg0KDQomY3AxX2V0aGVybmV0IHsNCglw aW5jdHJsLW5hbWVzID0gImRlZmF1bHQiLCAiZXh0dHMiOw0KCXBpbmN0cmwtMCA9IDwmY3AxX21w cDZfZ3Bpbz47DQoJcGluY3RybC0xID0gPCZjcDFfbXBwNl9wdHA+Ow0KCXN0YXR1cyA9ICJva2F5 IjsNCn07DQoNClRoaXMgZmVhdHVyZSBoYXMgYmVlbiB0ZXN0ZWQgb24gYW4gQXJhbWRhDQo4MDQw IGJhc2VkIGJvYXJkLCB3aXRoIGxpbnV4cHRwIDMuMS4xJ3MgdHMycGhjLg0KDQpTaWduZWQtb2Zm LWJ5OiBTaG11ZWwgSGF6YW4gPHNobXVlbC5oQHNpa2x1LmNvbT4NCi0tLQ0KIC4uLi9uZXQvZXRo ZXJuZXQvbWFydmVsbC9tdnBwMi9tdnBwMl90YWkuYyAgICB8IDIxMCArKysrKysrKysrKysrKysr LQ0KLQ0KIDEgZmlsZSBjaGFuZ2VkLCAxOTEgaW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25zKC0p DQoNCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL212cHAyL212cHAy X3RhaS5jDQpiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21hcnZlbGwvbXZwcDIvbXZwcDJfdGFpLmMN CmluZGV4IDFiNTc1NzNkZDg2Ni4uMWRkMmY5NzdlYjRmIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9u ZXQvZXRoZXJuZXQvbWFydmVsbC9tdnBwMi9tdnBwMl90YWkuYw0KKysrIGIvZHJpdmVycy9uZXQv ZXRoZXJuZXQvbWFydmVsbC9tdnBwMi9tdnBwMl90YWkuYw0KQEAgLTMyLDYgKzMyLDggQEANCiAg Kg0KICAqIENvbnNlcXVlbnRseSwgd2Ugc3VwcG9ydCBub25lIG9mIHRoZXNlLg0KICAqLw0KKyNp bmNsdWRlIDxsaW51eC9waW5jdHJsL2NvbnN1bWVyLmg+DQorI2luY2x1ZGUgPGxpbnV4L3B0cF9j bG9jay5oPg0KICNpbmNsdWRlIDxsaW51eC9pby5oPg0KICNpbmNsdWRlIDxsaW51eC9wdHBfY2xv Y2tfa2VybmVsLmg+DQogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4NCkBAIC01Myw2ICs1NSwxMCBA QA0KICNkZWZpbmUgVENTUl9DQVBUVVJFXzFfVkFMSUQJCUJJVCgxKQ0KICNkZWZpbmUgVENTUl9D QVBUVVJFXzBfVkFMSUQJCUJJVCgwKQ0KIA0KKyNkZWZpbmUgTVZQUDJfUElOQ1RSTF9FWFRUU19T VEFURQkJImV4dHRzIg0KKyNkZWZpbmUgTUFYX1BJTlMgMQ0KKyNkZWZpbmUgRVhUVFNfUEVSSU9E X01TIDk1DQorDQogc3RydWN0IG12cHAyX3RhaSB7DQogCXN0cnVjdCBwdHBfY2xvY2tfaW5mbyBj YXBzOw0KIAlzdHJ1Y3QgcHRwX2Nsb2NrICpwdHBfY2xvY2s7DQpAQCAtNjIsNiArNjgsMTEgQEAg c3RydWN0IG12cHAyX3RhaSB7DQogCS8qIFRoaXMgdGltZXN0YW1wIGlzIHVwZGF0ZWQgZXZlcnkg dHdvIHNlY29uZHMgKi8NCiAJc3RydWN0IHRpbWVzcGVjNjQgc3RhbXA7DQogCXUxNiBwb2xsX3dv cmtlcl9yZWZjb3VudDsNCisJYm9vbCBleHR0c19lbmFibGVkOjE7DQorCXN0cnVjdCBwaW5jdHJs ICpleHR0c19waW5jdHJsOw0KKwlzdHJ1Y3QgcGluY3RybF9zdGF0ZSAqZGVmYXVsdF9waW5jdHJs X3N0YXRlOw0KKwlzdHJ1Y3QgcGluY3RybF9zdGF0ZSAqZXh0dHNfcGluY3RybF9zdGF0ZTsNCisJ c3RydWN0IHB0cF9waW5fZGVzYyBwaW5fY29uZmlnW01BWF9QSU5TXTsNCiB9Ow0KIA0KIHN0YXRp YyB2b2lkIG12cHAyX3RhaV9tb2RpZnkodm9pZCBfX2lvbWVtICpyZWcsIHUzMiBtYXNrLCB1MzIg c2V0KQ0KQEAgLTEwMiw2ICsxMTMsMjUgQEAgc3RhdGljIHZvaWQgbXZwcDIyX3RhaV9yZWFkX3Rz KHN0cnVjdCB0aW1lc3BlYzY0DQoqdHMsIHZvaWQgX19pb21lbSAqYmFzZSkNCiAJcmVhZGxfcmVs YXhlZChiYXNlICsgMjQpOw0KIH0NCiANCitzdGF0aWMgaW50IG12cHAyMl90YWlfdHJ5X3JlYWRf dHMoc3RydWN0IHRpbWVzcGVjNjQgKnRzLCB2b2lkIF9faW9tZW0NCipiYXNlKQ0KK3sNCisJaW50 IHJldCA9IDA7DQorCWxvbmcgdGNzciA9IHJlYWRsKGJhc2UgKyBNVlBQMjJfVEFJX1RDU1IpOw0K Kw0KKwlpZiAodGNzciAmIFRDU1JfQ0FQVFVSRV8xX1ZBTElEKSB7DQorCQltdnBwMjJfdGFpX3Jl YWRfdHModHMsIGJhc2UgKw0KTVZQUDIyX1RBSV9UQ1YxX1NFQ19ISUdIKTsNCisJCXJldCA9IDA7 DQorCX0gZWxzZSBpZiAodGNzciAmIFRDU1JfQ0FQVFVSRV8wX1ZBTElEKSB7DQorCQltdnBwMjJf dGFpX3JlYWRfdHModHMsIGJhc2UgKw0KTVZQUDIyX1RBSV9UQ1YwX1NFQ19ISUdIKTsNCisJCXJl dCA9IDA7DQorCX0gZWxzZSB7DQorCQkvKiBXZSBkb24ndCBzZWVtIHRvIGhhdmUgYSByZWFkaW5n Li4uICovDQorCQlyZXQgPSAtRUJVU1k7DQorCX0NCisNCisJcmV0dXJuIHJldDsNCit9DQorDQog c3RhdGljIHZvaWQgbXZwcDJfdGFpX3dyaXRlX3Rsdihjb25zdCBzdHJ1Y3QgdGltZXNwZWM2NCAq dHMsIHUzMg0KZnJhYywNCiAJCQkgICAgICAgIHZvaWQgX19pb21lbSAqYmFzZSkNCiB7DQpAQCAt MTE2LDE0ICsxNDYsMTcgQEAgc3RhdGljIHZvaWQgbXZwcDJfdGFpX3dyaXRlX3Rsdihjb25zdCBz dHJ1Y3QNCnRpbWVzcGVjNjQgKnRzLCB1MzIgZnJhYywNCiANCiBzdGF0aWMgdm9pZCBtdnBwMl90 YWlfb3AodTMyIG9wLCB2b2lkIF9faW9tZW0gKmJhc2UpDQogew0KKwl1MzIgcmVnX3ZhbDsNCisN CisJcmVnX3ZhbCA9IG12cHAyX3RhaV9yZWFkKGJhc2UgKyBNVlBQMjJfVEFJX1RDRkNSMCk7DQog CS8qIFRyaWdnZXIgdGhlIG9wZXJhdGlvbi4gTm90ZSB0aGF0IGFuIGV4dGVybmFsIHVubWFza2Fi bGUNCiAJICogZXZlbnQgb24gUFRQX0VWRU5UX1JFUSB3aWxsIGFsc28gdHJpZ2dlciB0aGlzIGFj dGlvbi4NCiAJICovDQogCW12cHAyX3RhaV9tb2RpZnkoYmFzZSArIE1WUFAyMl9UQUlfVENGQ1Iw LA0KIAkJCSBUQ0ZDUjBfVENGX01BU0sgfCBUQ0ZDUjBfVENGX1RSSUdHRVIsDQogCQkJIG9wIHwg VENGQ1IwX1RDRl9UUklHR0VSKTsNCi0JbXZwcDJfdGFpX21vZGlmeShiYXNlICsgTVZQUDIyX1RB SV9UQ0ZDUjAsIFRDRkNSMF9UQ0ZfTUFTSywNCi0JCQkgVENGQ1IwX1RDRl9OT1ApOw0KKwltdnBw Ml90YWlfbW9kaWZ5KGJhc2UgKyBNVlBQMjJfVEFJX1RDRkNSMCwgVENGQ1IwX1RDRl9NQVNLIHwN ClRDRkNSMF9UQ0ZfVFJJR0dFUiwNCisJCQkgcmVnX3ZhbCk7DQogfQ0KIA0KIC8qIFRoZSBhZGp1 c3RtZW50IGhhcyBhIHJhbmdlIG9mICswLjVucyB0byAtMC41bnMgaW4gMl4zMiBzdGVwcywgc28N CmhhcyB1bml0cw0KQEAgLTI0MCw4ICsyNzMsMTEgQEAgc3RhdGljIGludCBtdnBwMjJfdGFpX2dl dHRpbWV4NjQoc3RydWN0DQpwdHBfY2xvY2tfaW5mbyAqcHRwLA0KIAlzdHJ1Y3QgbXZwcDJfdGFp ICp0YWkgPSBwdHBfdG9fdGFpKHB0cCk7DQogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7DQogCXZvaWQg X19pb21lbSAqYmFzZTsNCi0JdTMyIHRjc3I7DQogCWludCByZXQ7DQorCXUzMiByZWdfdmFsOw0K Kw0KKwlpZiAodGFpLT5leHR0c19lbmFibGVkKQ0KKwkJcmV0dXJuIC1FQlVTWTsNCiANCiAJYmFz ZSA9IHRhaS0+YmFzZTsNCiAJc3Bpbl9sb2NrX2lycXNhdmUoJnRhaS0+bG9jaywgZmxhZ3MpOw0K QEAgLTI1MCwyNSArMjg2LDE3IEBAIHN0YXRpYyBpbnQgbXZwcDIyX3RhaV9nZXR0aW1leDY0KHN0 cnVjdA0KcHRwX2Nsb2NrX2luZm8gKnB0cCwNCiAJICogdHJpZ2dlcmVkIGV2ZW50LCBhbmQgYW4g ZXh0ZXJuYWwgZXZlbnQgb24gUFRQX0VWRU5UX1JFUS4NClNvIHRoaXMNCiAJICogaXMgaW5jb21w YXRpYmxlIHdpdGggZXh0ZXJuYWwgdXNlIG9mIFBUUF9FVkVOVF9SRVEuDQogCSAqLw0KKwlyZWdf dmFsID0gbXZwcDJfdGFpX3JlYWQoYmFzZSArIE1WUFAyMl9UQUlfVENGQ1IwKTsNCiAJcHRwX3Jl YWRfc3lzdGVtX3ByZXRzKHN0cyk7DQogCW12cHAyX3RhaV9tb2RpZnkoYmFzZSArIE1WUFAyMl9U QUlfVENGQ1IwLA0KIAkJCSBUQ0ZDUjBfVENGX01BU0sgfCBUQ0ZDUjBfVENGX1RSSUdHRVIsDQog CQkJIFRDRkNSMF9UQ0ZfQ0FQVFVSRSB8IFRDRkNSMF9UQ0ZfVFJJR0dFUik7DQogCXB0cF9yZWFk X3N5c3RlbV9wb3N0dHMoc3RzKTsNCi0JbXZwcDJfdGFpX21vZGlmeShiYXNlICsgTVZQUDIyX1RB SV9UQ0ZDUjAsIFRDRkNSMF9UQ0ZfTUFTSywNCi0JCQkgVENGQ1IwX1RDRl9OT1ApOw0KKwltdnBw Ml90YWlfbW9kaWZ5KGJhc2UgKyBNVlBQMjJfVEFJX1RDRkNSMCwNCisJCQkgVENGQ1IwX1RDRl9N QVNLIHwgVENGQ1IwX1RDRl9UUklHR0VSLA0KKwkJCSByZWdfdmFsKTsNCiANCi0JdGNzciA9IHJl YWRsKGJhc2UgKyBNVlBQMjJfVEFJX1RDU1IpOw0KLQlpZiAodGNzciAmIFRDU1JfQ0FQVFVSRV8x X1ZBTElEKSB7DQotCQltdnBwMjJfdGFpX3JlYWRfdHModHMsIGJhc2UgKw0KTVZQUDIyX1RBSV9U Q1YxX1NFQ19ISUdIKTsNCi0JCXJldCA9IDA7DQotCX0gZWxzZSBpZiAodGNzciAmIFRDU1JfQ0FQ VFVSRV8wX1ZBTElEKSB7DQotCQltdnBwMjJfdGFpX3JlYWRfdHModHMsIGJhc2UgKw0KTVZQUDIy X1RBSV9UQ1YwX1NFQ19ISUdIKTsNCi0JCXJldCA9IDA7DQotCX0gZWxzZSB7DQotCQkvKiBXZSBk b24ndCBzZWVtIHRvIGhhdmUgYSByZWFkaW5nLi4uICovDQotCQlyZXQgPSAtRUJVU1k7DQotCX0N CisJcmV0ID0gbXZwcDIyX3RhaV90cnlfcmVhZF90cyh0cywgYmFzZSk7DQogCXNwaW5fdW5sb2Nr X2lycXJlc3RvcmUoJnRhaS0+bG9jaywgZmxhZ3MpOw0KIA0KIAlyZXR1cm4gcmV0Ow0KQEAgLTI4 MCw2ICszMDgsNyBAQCBzdGF0aWMgaW50IG12cHAyMl90YWlfc2V0dGltZTY0KHN0cnVjdA0KcHRw X2Nsb2NrX2luZm8gKnB0cCwNCiAJc3RydWN0IG12cHAyX3RhaSAqdGFpID0gcHRwX3RvX3RhaShw dHApOw0KIAl1bnNpZ25lZCBsb25nIGZsYWdzOw0KIAl2b2lkIF9faW9tZW0gKmJhc2U7DQorCXUz MiByZWdfdmFsOw0KIA0KIAliYXNlID0gdGFpLT5iYXNlOw0KIAlzcGluX2xvY2tfaXJxc2F2ZSgm dGFpLT5sb2NrLCBmbGFncyk7DQpAQCAtMjg5LDIzICszMTgsNDggQEAgc3RhdGljIGludCBtdnBw MjJfdGFpX3NldHRpbWU2NChzdHJ1Y3QNCnB0cF9jbG9ja19pbmZvICpwdHAsDQogCSAqIGludG8g dGhlIFRPRCBjb3VudGVyLiBOb3RlIHRoYXQgYW4gZXh0ZXJuYWwgdW5tYXNrYWJsZQ0KZXZlbnQg b24NCiAJICogUFRQX0VWRU5UX1JFUSB3aWxsIGFsc28gdHJpZ2dlciB0aGlzIGFjdGlvbi4NCiAJ ICovDQorCXJlZ192YWwgPSBtdnBwMl90YWlfcmVhZChiYXNlICsgTVZQUDIyX1RBSV9UQ0ZDUjAp Ow0KIAltdnBwMl90YWlfbW9kaWZ5KGJhc2UgKyBNVlBQMjJfVEFJX1RDRkNSMCwNCiAJCQkgVENG Q1IwX1BIQVNFX1VQREFURV9FTkFCTEUgfA0KIAkJCSBUQ0ZDUjBfVENGX01BU0sgfCBUQ0ZDUjBf VENGX1RSSUdHRVIsDQogCQkJIFRDRkNSMF9UQ0ZfVVBEQVRFIHwgVENGQ1IwX1RDRl9UUklHR0VS KTsNCi0JbXZwcDJfdGFpX21vZGlmeShiYXNlICsgTVZQUDIyX1RBSV9UQ0ZDUjAsIFRDRkNSMF9U Q0ZfTUFTSywNCi0JCQkgVENGQ1IwX1RDRl9OT1ApOw0KKwltdnBwMl90YWlfbW9kaWZ5KGJhc2Ug KyBNVlBQMjJfVEFJX1RDRkNSMCwNCisJCQkgVENGQ1IwX1BIQVNFX1VQREFURV9FTkFCTEUgfA0K KwkJCSBUQ0ZDUjBfVENGX01BU0sgfCBUQ0ZDUjBfVENGX1RSSUdHRVIsDQorCQkJIHJlZ192YWwp Ow0KKw0KIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZ0YWktPmxvY2ssIGZsYWdzKTsNCiANCiAJ cmV0dXJuIDA7DQogfQ0KIA0KK3N0YXRpYyB2b2lkIGRvX2F1eF93b3JrX2V4dHRzKHN0cnVjdCBt dnBwMl90YWkgKnRhaSkNCit7DQorCXN0cnVjdCBwdHBfY2xvY2tfZXZlbnQgZXZlbnQ7DQorCWlu dCByZXQ7DQorDQorCXJldCA9IG12cHAyMl90YWlfdHJ5X3JlYWRfdHMoJnRhaS0+c3RhbXAsIHRh aS0+YmFzZSk7DQorCS8qIFdlIGFyZSBub3QgbWFuYWdlZCB0byByZWFkIGEgVFMsIHRyeSBhZ2Fp biBsYXRlciAqLw0KKwlpZiAocmV0KQ0KKwkJcmV0dXJuOw0KKw0KKwkvKiBUcmlnZ2VyZWQgLSBz YXZlIHRpbWVzdGFtcCAqLw0KKwlldmVudC50eXBlID0gUFRQX0NMT0NLX0VYVFRTOw0KKwlldmVu dC5pbmRleCA9IDA7IC8qIFdlIG9ubHkgaGF2ZSBvbmUgY2hhbm5lbCAqLw0KKwlldmVudC50aW1l c3RhbXAgPSB0aW1lc3BlYzY0X3RvX25zKCZ0YWktPnN0YW1wKTsNCisJcHRwX2Nsb2NrX2V2ZW50 KHRhaS0+cHRwX2Nsb2NrLCAmZXZlbnQpOw0KK30NCisNCiBzdGF0aWMgbG9uZyBtdnBwMjJfdGFp X2F1eF93b3JrKHN0cnVjdCBwdHBfY2xvY2tfaW5mbyAqcHRwKQ0KIHsNCiAJc3RydWN0IG12cHAy X3RhaSAqdGFpID0gcHRwX3RvX3RhaShwdHApOw0KIA0KLQltdnBwMjJfdGFpX2dldHRpbWV4NjQo cHRwLCAmdGFpLT5zdGFtcCwgTlVMTCk7DQorCWlmICh0YWktPmV4dHRzX2VuYWJsZWQpIHsNCisJ CWRvX2F1eF93b3JrX2V4dHRzKHRhaSk7DQorCQlyZXR1cm4gbXNlY3NfdG9famlmZmllcyhFWFRU U19QRVJJT0RfTVMpOw0KKwl9DQogDQorCW12cHAyMl90YWlfZ2V0dGltZXg2NChwdHAsICZ0YWkt PnN0YW1wLCBOVUxMKTsNCiAJcmV0dXJuIG1zZWNzX3RvX2ppZmZpZXMoMjAwMCk7DQogfQ0KIA0K QEAgLTM5MCw2ICs0NDQsOTIgQEAgdm9pZCBtdnBwMjJfdGFpX3N0b3Aoc3RydWN0IG12cHAyX3Rh aSAqdGFpKQ0KIAlwdHBfY2FuY2VsX3dvcmtlcl9zeW5jKHRhaS0+cHRwX2Nsb2NrKTsNCiB9DQog DQorc3RhdGljIHZvaWQgbXZwcDIyX3RhaV9jYXB0dXJlX2VuYWJsZShzdHJ1Y3QgbXZwcDJfdGFp ICp0YWksIGJvb2wNCmVuYWJsZSkNCit7DQorCW12cHAyX3RhaV9tb2RpZnkodGFpLT5iYXNlICsg TVZQUDIyX1RBSV9UQ0ZDUjAsDQorCQkJIFRDRkNSMF9UQ0ZfTUFTSywNCisJCQkgZW5hYmxlID8g VENGQ1IwX1RDRl9DQVBUVVJFIDoNClRDRkNSMF9UQ0ZfTk9QKTsNCit9DQorDQorc3RhdGljIGlu dCBtdnBwMjJfdGFpX3JlcV9leHR0c19lbmFibGUoc3RydWN0IG12cHAyX3RhaSAqdGFpLA0KKwkJ CQkgICAgICAgc3RydWN0IHB0cF9jbG9ja19yZXF1ZXN0ICpycSwNCmludCBvbikNCit7DQorCXU4 IGluZGV4ID0gcnEtPmV4dHRzLmluZGV4Ow0KKwlpbnQgcmV0ID0gMDsNCisNCisJaWYgKCF0YWkt PmV4dHRzX3BpbmN0cmwpDQorCQlyZXR1cm4gLUVJTlZBTDsNCisNCisJLyogUmVqZWN0IHJlcXVl c3RzIHdpdGggdW5zdXBwb3J0ZWQgZmxhZ3MgKi8NCisJaWYgKHJxLT5leHR0cy5mbGFncyAmIH4o UFRQX0VOQUJMRV9GRUFUVVJFIHwNCisJCQkJUFRQX1JJU0lOR19FREdFIHwNCisJCQkJUFRQX0ZB TExJTkdfRURHRSB8DQorCQkJCVBUUF9TVFJJQ1RfRkxBR1MpKQ0KKwkJcmV0dXJuIC1FT1BOT1RT VVBQOw0KKw0KKwkvKiBSZWplY3QgcmVxdWVzdHMgdG8gZW5hYmxlIHRpbWUgc3RhbXBpbmcgb24g ZmFsbGluZyBlZGdlICovDQorCWlmICgocnEtPmV4dHRzLmZsYWdzICYgUFRQX0VOQUJMRV9GRUFU VVJFKSAmJg0KKwkgICAgKHJxLT5leHR0cy5mbGFncyAmIFBUUF9GQUxMSU5HX0VER0UpKQ0KKwkJ cmV0dXJuIC1FT1BOT1RTVVBQOw0KKw0KKwlpZiAoaW5kZXggPj0gTUFYX1BJTlMpDQorCQlyZXR1 cm4gLUVJTlZBTDsNCisNCisJaWYgKG9uKQ0KKwkJcmV0ID0gcGluY3RybF9zZWxlY3Rfc3RhdGUo dGFpLT5leHR0c19waW5jdHJsLCB0YWktDQo+ZXh0dHNfcGluY3RybF9zdGF0ZSk7DQorCWVsc2UN CisJCXJldCA9IHBpbmN0cmxfc2VsZWN0X3N0YXRlKHRhaS0+ZXh0dHNfcGluY3RybCwgdGFpLQ0K PmRlZmF1bHRfcGluY3RybF9zdGF0ZSk7DQorCWlmIChyZXQpDQorCQlnb3RvIG91dDsNCisNCisJ dGFpLT5leHR0c19lbmFibGVkID0gb24gIT0gMDsNCisJbXZwcDIyX3RhaV9jYXB0dXJlX2VuYWJs ZSh0YWksIHRhaS0+ZXh0dHNfZW5hYmxlZCk7DQorDQorCS8qIFdlIG5lZWQgdG8gZW5hYmxlIHRo ZSBwb2xsIHdvcmtlciBpbiBvcmRlciBmb3IgZXZlbnRzIHRvDQpiZSBwb2xsZWQgKi8NCisJaWYg KG9uKQ0KKwkJbXZwcDIyX3RhaV9zdGFydCh0YWkpOw0KKwllbHNlDQorCQltdnBwMjJfdGFpX3N0 b3AodGFpKTsNCisNCitvdXQ6DQorCXJldHVybiByZXQ7DQorfQ0KKw0KK3N0YXRpYyBpbnQgbXZw cDIyX3RhaV9lbmFibGUoc3RydWN0IHB0cF9jbG9ja19pbmZvICpwdHAsDQorCQkJICAgICBzdHJ1 Y3QgcHRwX2Nsb2NrX3JlcXVlc3QgKnJxLCBpbnQgb24pDQorew0KKwlzdHJ1Y3QgbXZwcDJfdGFp ICp0YWkgPSBwdHBfdG9fdGFpKHB0cCk7DQorCWludCBlcnIgPSAtRU9QTk9UU1VQUDsNCisJdW5z aWduZWQgbG9uZyBmbGFnczsNCisNCisJc3Bpbl9sb2NrX2lycXNhdmUoJnRhaS0+bG9jaywgZmxh Z3MpOw0KKw0KKwlzd2l0Y2ggKHJxLT50eXBlKSB7DQorCWNhc2UgUFRQX0NMS19SRVFfRVhUVFM6 DQorCQllcnIgPSBtdnBwMjJfdGFpX3JlcV9leHR0c19lbmFibGUodGFpLCBycSwgb24pOw0KKwkJ YnJlYWs7DQorCWRlZmF1bHQ6DQorCQlicmVhazsNCisJfQ0KKw0KKwlzcGluX3VubG9ja19pcnFy ZXN0b3JlKCZ0YWktPmxvY2ssIGZsYWdzKTsNCisJcmV0dXJuIGVycjsNCit9DQorDQorc3RhdGlj IGludCBtdnBwMjJfdGFpX3ZlcmlmeV9waW4oc3RydWN0IHB0cF9jbG9ja19pbmZvICpwdHAsIHVu c2lnbmVkDQppbnQgcGluLA0KKwkJCQkgZW51bSBwdHBfcGluX2Z1bmN0aW9uIGZ1bmMsIHVuc2ln bmVkDQppbnQgY2hhbikNCit7DQorCXN3aXRjaCAoZnVuYykgew0KKwljYXNlIFBUUF9QRl9OT05F Og0KKwljYXNlIFBUUF9QRl9FWFRUUzoNCisJCWJyZWFrOw0KKwljYXNlIFBUUF9QRl9QRVJPVVQ6 DQorCWNhc2UgUFRQX1BGX1BIWVNZTkM6DQorCQlyZXR1cm4gLTE7DQorCX0NCisJcmV0dXJuIDA7 DQorfQ0KKw0KIHN0YXRpYyB2b2lkIG12cHAyMl90YWlfcmVtb3ZlKHZvaWQgKnByaXYpDQogew0K IAlzdHJ1Y3QgbXZwcDJfdGFpICp0YWkgPSBwcml2Ow0KQEAgLTQwMiw2ICs1NDIsNyBAQCBpbnQg bXZwcDIyX3RhaV9wcm9iZShzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdA0KbXZwcDIgKnByaXYp DQogew0KIAlzdHJ1Y3QgbXZwcDJfdGFpICp0YWk7DQogCWludCByZXQ7DQorCWludCBpOw0KIA0K IAl0YWkgPSBkZXZtX2t6YWxsb2MoZGV2LCBzaXplb2YoKnRhaSksIEdGUF9LRVJORUwpOw0KIAlp ZiAoIXRhaSkNCkBAIC00MDksNiArNTUwLDIzIEBAIGludCBtdnBwMjJfdGFpX3Byb2JlKHN0cnVj dCBkZXZpY2UgKmRldiwgc3RydWN0DQptdnBwMiAqcHJpdikNCiANCiAJc3Bpbl9sb2NrX2luaXQo JnRhaS0+bG9jayk7DQogDQorCXRhaS0+ZXh0dHNfcGluY3RybCA9IGRldm1fcGluY3RybF9nZXRf c2VsZWN0X2RlZmF1bHQoZGV2KTsNCisJaWYgKCFJU19FUlIodGFpLT5leHR0c19waW5jdHJsKSkg ew0KKwkJdGFpLT5kZWZhdWx0X3BpbmN0cmxfc3RhdGUgPQ0KcGluY3RybF9sb29rdXBfc3RhdGUo dGFpLT5leHR0c19waW5jdHJsLA0KKwkJCQkJCQkJIA0KUElOQ1RSTF9TVEFURV9ERUZBVUxUKTsN CisJCXRhaS0+ZXh0dHNfcGluY3RybF9zdGF0ZSA9IHBpbmN0cmxfbG9va3VwX3N0YXRlKHRhaS0N Cj5leHR0c19waW5jdHJsLA0KKwkJCQkJCQkJTVZQUDINCl9QSU5DVFJMX0VYVFRTX1NUQVRFKTsN CisNCisJCWlmIChJU19FUlIodGFpLT5kZWZhdWx0X3BpbmN0cmxfc3RhdGUpIHx8IElTX0VSUih0 YWktDQo+ZXh0dHNfcGluY3RybF9zdGF0ZSkpIHsNCisJCQlwaW5jdHJsX3B1dCh0YWktPmV4dHRz X3BpbmN0cmwpOw0KKwkJCXRhaS0+ZXh0dHNfcGluY3RybCA9IE5VTEw7DQorCQkJdGFpLT5kZWZh dWx0X3BpbmN0cmxfc3RhdGUgPSBOVUxMOw0KKwkJCXRhaS0+ZXh0dHNfcGluY3RybF9zdGF0ZSA9 IE5VTEw7DQorCQl9DQorCX0gZWxzZSB7DQorCQl0YWktPmV4dHRzX3BpbmN0cmwgPSBOVUxMOw0K Kwl9DQorDQogCXRhaS0+YmFzZSA9IHByaXYtPmlmYWNlX2Jhc2U7DQogDQogCS8qIFRoZSBzdGVw IHNpemUgY29uc2lzdHMgb2YgdGhyZWUgcmVnaXN0ZXJzIC0gYSAxNi1iaXQNCm5hbm9zZWNvbmQg c3RlcA0KQEAgLTQ0NCwxMiArNjAyLDI2IEBAIGludCBtdnBwMjJfdGFpX3Byb2JlKHN0cnVjdCBk ZXZpY2UgKmRldiwgc3RydWN0DQptdnBwMiAqcHJpdikNCiANCiAJdGFpLT5jYXBzLm93bmVyID0g VEhJU19NT0RVTEU7DQogCXN0cnNjcHkodGFpLT5jYXBzLm5hbWUsICJNYXJ2ZWxsIFBQMi4yIiwg c2l6ZW9mKHRhaS0NCj5jYXBzLm5hbWUpKTsNCisJdGFpLT5jYXBzLm5fZXh0X3RzID0gTUFYX1BJ TlM7DQorCXRhaS0+Y2Fwcy5uX3BpbnMgPSBNQVhfUElOUzsNCiAJdGFpLT5jYXBzLm1heF9hZGog PSBtdnBwMjJfY2FsY19tYXhfYWRqKHRhaSk7DQogCXRhaS0+Y2Fwcy5hZGpmaW5lID0gbXZwcDIy X3RhaV9hZGpmaW5lOw0KIAl0YWktPmNhcHMuYWRqdGltZSA9IG12cHAyMl90YWlfYWRqdGltZTsN CiAJdGFpLT5jYXBzLmdldHRpbWV4NjQgPSBtdnBwMjJfdGFpX2dldHRpbWV4NjQ7DQogCXRhaS0+ Y2Fwcy5zZXR0aW1lNjQgPSBtdnBwMjJfdGFpX3NldHRpbWU2NDsNCiAJdGFpLT5jYXBzLmRvX2F1 eF93b3JrID0gbXZwcDIyX3RhaV9hdXhfd29yazsNCisJdGFpLT5jYXBzLmVuYWJsZSA9IG12cHAy Ml90YWlfZW5hYmxlOw0KKwl0YWktPmNhcHMudmVyaWZ5ID0gbXZwcDIyX3RhaV92ZXJpZnlfcGlu Ow0KKwl0YWktPmNhcHMucGluX2NvbmZpZyA9IHRhaS0+cGluX2NvbmZpZzsNCisNCisJZm9yIChp ID0gMDsgaSA8IHRhaS0+Y2Fwcy5uX3BpbnM7ICsraSkgew0KKwkJc3RydWN0IHB0cF9waW5fZGVz YyAqcHBkID0gJnRhaS0+Y2Fwcy5waW5fY29uZmlnW2ldOw0KKw0KKwkJc25wcmludGYocHBkLT5u YW1lLCBzaXplb2YocHBkLT5uYW1lKSwNCiJQVFBfUFVMU0VfSU4lZCIsIGkpOw0KKwkJcHBkLT5p bmRleCA9IGk7DQorCQlwcGQtPmZ1bmMgPSBQVFBfUEZfTk9ORTsNCisJCXBwZC0+Y2hhbiA9IDA7 DQorCX0NCiANCiAJcmV0ID0gZGV2bV9hZGRfYWN0aW9uKGRldiwgbXZwcDIyX3RhaV9yZW1vdmUs IHRhaSk7DQogCWlmIChyZXQpDQotLSANCjIuNDAuMA0KDQoNCg==