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=-6.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable 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 6547EC4CECE for ; Thu, 19 Sep 2019 14:26:54 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 23F3620882 for ; Thu, 19 Sep 2019 14:26:54 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=silabs.onmicrosoft.com header.i=@silabs.onmicrosoft.com header.b="PfSFE0rS" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2389479AbfISO0s (ORCPT ); Thu, 19 Sep 2019 10:26:48 -0400 Received: from mail-eopbgr810073.outbound.protection.outlook.com ([40.107.81.73]:42736 "EHLO NAM01-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S2389224AbfISOZz (ORCPT ); Thu, 19 Sep 2019 10:25:55 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=D+Spm53gZ8PTArj30dKAmAGVHaeSXn84ruVflsQnl8U7CL8x0Wpdc2duMq+trjp5/Zy6rWW69AwfALileH4OBEGq2Qmh0xWLkXLoEuVuo6Tb0xiU0nPdV3kYhjJnkrL+Y+/2R4rsH9Kxso6/A50UqOGnmyJC6jbr0X9LqBuVVqOQ4xdzTStNX4Npf417TRS5f9FmcsqDoEmZn4D3kbFCJHgyumSW2QZUw88EYlA2+BZ3vn/lvPqya9BkZE+sDJtW9Z++2ikFRolUlR+MGhbklyVNwf7lZsdesmP0rDJku9liJ5eUz1SRLwaz3XtJ/8DLK5ZSQJTOTGvXdIcvsnnYqA== 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=7x3RWz792U2IdjfFxkc9MgFyjlxhFqDh2SZXtVnj9Vs=; b=Wk7mCbDRHaNxQoLEeWc8IJuTb2H2gGdrtWZqzOISIybnpHs4SRmxinxo37Z7Wfy2+xBup3EP+1FiLrA2fNdYtN6R75N0Oz1xLKyb+UuEklKbwDg30Bq0uK/rp4LSn5NsTDUdSSRU1CzjrpeR2be8lXHMXaYbsJ89jdNOgvBsENC8T7lXZCD7getysvcsFO9WAQNbwv43CJtDcnBexeeGuwwdFzR4A0LUveXUyRQ/R2q7y7vTgGpQMuTCtjzK9v28TNMjIfd3tzIcHscT4fYV1BWrfUh4eVZbV+KY6G10LTsWB+Hl9JJbT+12TM3FmQZNY7XxqUkLTeKx4/7kBWeFZQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=silabs.com; dmarc=pass action=none header.from=silabs.com; dkim=pass header.d=silabs.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=silabs.onmicrosoft.com; s=selector2-silabs-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7x3RWz792U2IdjfFxkc9MgFyjlxhFqDh2SZXtVnj9Vs=; b=PfSFE0rSNEsyLKCdnhV800qoxjrlG+SjkwxDubnUn5zjtLIfRI9ddfx/X+yU/NG5WHla5s4wD11TUmkeB1VBb0uvMw1mtw3BvazAJoxrevtpuUWBm1cxPthnh92mKRu354fyL2SZ5SRK6syuGi9KRCVZUQP6iE8sLAsXf4rNgEs= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (20.179.149.217) by MN2PR11MB3807.namprd11.prod.outlook.com (20.178.254.26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2284.18; Thu, 19 Sep 2019 14:25:48 +0000 Received: from MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::45dc:e073:4446:4bf8]) by MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::45dc:e073:4446:4bf8%3]) with mapi id 15.20.2263.023; Thu, 19 Sep 2019 14:25:48 +0000 From: Jerome Pouiller To: "devel@driverdev.osuosl.org" , "linux-wireless@vger.kernel.org" CC: "netdev@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Greg Kroah-Hartman , Kalle Valo , "David S . Miller" , David Le Goff , Jerome Pouiller Subject: [PATCH v3 18/20] staging: wfx: allow to scan networks Thread-Topic: [PATCH v3 18/20] staging: wfx: allow to scan networks Thread-Index: AQHVbvYg7H/O4XSTsUmN1/unnVXtMA== Date: Thu, 19 Sep 2019 14:25:47 +0000 Message-ID: <20190919142527.31797-19-Jerome.Pouiller@silabs.com> References: <20190919142527.31797-1-Jerome.Pouiller@silabs.com> In-Reply-To: <20190919142527.31797-1-Jerome.Pouiller@silabs.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Jerome.Pouiller@silabs.com; x-originating-ip: [37.71.187.125] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: ac57dd97-5e5c-4a75-d705-08d73d0d43f8 x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600167)(711020)(4605104)(1401327)(2017052603328)(7193020);SRVR:MN2PR11MB3807; x-ms-traffictypediagnostic: MN2PR11MB3807: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:227; x-forefront-prvs: 016572D96D x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(136003)(366004)(396003)(346002)(39850400004)(376002)(199004)(189003)(486006)(30864003)(76176011)(66066001)(66946007)(66556008)(91956017)(66476007)(2906002)(5660300002)(71200400001)(76116006)(8936002)(36756003)(476003)(110136005)(54906003)(2616005)(25786009)(316002)(11346002)(81166006)(81156014)(8676002)(446003)(102836004)(6506007)(2501003)(14444005)(256004)(6116002)(3846002)(107886003)(26005)(6486002)(66574012)(64756008)(71190400001)(6436002)(6512007)(66446008)(1076003)(7736002)(86362001)(186003)(99286004)(4326008)(14454004)(478600001)(305945005);DIR:OUT;SFP:1101;SCL:1;SRVR:MN2PR11MB3807;H:MN2PR11MB4063.namprd11.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: silabs.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: gQ0fJdcSJx2Hp7f7DylUl77QxmK7JTCz3z5Si3AWsXdL5Nva0WVcrB3YSj8hJg+ujNOkug7ob0jsiuA9i6s2Dd6JIXhiw7KE7XOTEWJtppKhsdU6XgZ5Z1cmJhRoQXxI2N7M+PAYLU0j0AVBt4JY0hQNor7k9PKGibY0qZBu/mvk32KOEsUN3e/HGqo87g6m1VLbrv3hORTonuzTjb/qGR/fAouRnDFIKDQXPiW9o8RdgGGWSKEBXgAzouZN4l0+oo3fO0NUT8VYKZCY9YUn65L+Fch/qnRbzAKOxRKiax/GYJTOyetLL9cG+k4uyc0TqrFSore6u3mfU8ASunyKoEWygAJLz3G8ibUT33oI8mwbkbBwRkw7vUXtuE1KIL0wsjaMAcRjiyezKXZ9rvmGXAHPlaw9GpiFy9VInmxH/nA= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: ac57dd97-5e5c-4a75-d705-08d73d0d43f8 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Sep 2019 14:25:47.0230 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 54dbd822-5231-4b20-944d-6f4abcd541fb X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: NAmMDCI3Wh2UloWapUSUup+nRzfBUQYcJOrDgBge9aH7X5HES6e5skJvAdjdUHyAYdk5DGrVC7QLJLxAPnl+Qw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3807 Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org RnJvbTogSsOpcsO0bWUgUG91aWxsZXIgPGplcm9tZS5wb3VpbGxlckBzaWxhYnMuY29tPg0KDQpD aGlwIGNhbiBtYWtlIGZvcmVncm91bmQgc2NhbiBvciBiYWNrZ3JvdW5kLCBidXQgYm90aCBjYW4n dCBiZSBtaXhlZCBpbg0Kc2FtZSByZXF1ZXN0LiBTbywgd2UgbmVlZCB0byBzcGxpdCBlYWNoIG1h YzgwMjExIHJlcXVlc3RzIGludG8gbXVsdGlwbGUNCkhJRiByZXF1ZXN0cy4NCg0KU2lnbmVkLW9m Zi1ieTogSsOpcsO0bWUgUG91aWxsZXIgPGplcm9tZS5wb3VpbGxlckBzaWxhYnMuY29tPg0KLS0t DQogZHJpdmVycy9zdGFnaW5nL3dmeC9NYWtlZmlsZSB8ICAgMSArDQogZHJpdmVycy9zdGFnaW5n L3dmeC9iaC5jICAgICB8ICAgMiArLQ0KIGRyaXZlcnMvc3RhZ2luZy93ZngvaGlmX3J4LmMgfCAg MTMgKysNCiBkcml2ZXJzL3N0YWdpbmcvd2Z4L21haW4uYyAgIHwgICA1ICsNCiBkcml2ZXJzL3N0 YWdpbmcvd2Z4L3NjYW4uYyAgIHwgMjQ5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrDQogZHJpdmVycy9zdGFnaW5nL3dmeC9zY2FuLmggICB8ICA0MiArKysrKysNCiBkcml2ZXJz L3N0YWdpbmcvd2Z4L3N0YS5jICAgIHwgIDIzICsrKy0NCiBkcml2ZXJzL3N0YWdpbmcvd2Z4L3N0 YS5oICAgIHwgICA0ICsNCiBkcml2ZXJzL3N0YWdpbmcvd2Z4L3dmeC5oICAgIHwgIDExICsrDQog OSBmaWxlcyBjaGFuZ2VkLCAzNDggaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkNCiBjcmVh dGUgbW9kZSAxMDA2NDQgZHJpdmVycy9zdGFnaW5nL3dmeC9zY2FuLmMNCiBjcmVhdGUgbW9kZSAx MDA2NDQgZHJpdmVycy9zdGFnaW5nL3dmeC9zY2FuLmgNCg0KZGlmZiAtLWdpdCBhL2RyaXZlcnMv c3RhZ2luZy93ZngvTWFrZWZpbGUgYi9kcml2ZXJzL3N0YWdpbmcvd2Z4L01ha2VmaWxlDQppbmRl eCBkOWUyMTUxNWQwOGUuLjJiOGE1ZmE4NmZhYyAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvc3RhZ2lu Zy93ZngvTWFrZWZpbGUNCisrKyBiL2RyaXZlcnMvc3RhZ2luZy93ZngvTWFrZWZpbGUNCkBAIC0x Miw2ICsxMiw3IEBAIHdmeC15IDo9IFwNCiAJcXVldWUubyBcDQogCWRhdGFfdHgubyBcDQogCWRh dGFfcngubyBcDQorCXNjYW4ubyBcDQogCXN0YS5vIFwNCiAJbWFpbi5vIFwNCiAJc3RhLm8gXA0K ZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy93ZngvYmguYyBiL2RyaXZlcnMvc3RhZ2luZy93 ZngvYmguYw0KaW5kZXggZWQ4MWMzOTI0ZDk4Li42MDAwYzAzYmI2NTggMTAwNjQ0DQotLS0gYS9k cml2ZXJzL3N0YWdpbmcvd2Z4L2JoLmMNCisrKyBiL2RyaXZlcnMvc3RhZ2luZy93ZngvYmguYw0K QEAgLTI2OCw3ICsyNjgsNyBAQCBzdGF0aWMgdm9pZCBiaF93b3JrKHN0cnVjdCB3b3JrX3N0cnVj dCAqd29yaykNCiANCiAJaWYgKGxhc3Rfb3BfaXNfcngpDQogCQlhY2tfc2Rpb19kYXRhKHdkZXYp Ow0KLQlpZiAoIXdkZXYtPmhpZi50eF9idWZmZXJzX3VzZWQgJiYgIXdvcmtfcGVuZGluZyh3b3Jr KSkgew0KKwlpZiAoIXdkZXYtPmhpZi50eF9idWZmZXJzX3VzZWQgJiYgIXdvcmtfcGVuZGluZyh3 b3JrKSAmJiAhYXRvbWljX3JlYWQoJndkZXYtPnNjYW5faW5fcHJvZ3Jlc3MpKSB7DQogCQlkZXZp Y2VfcmVsZWFzZSh3ZGV2KTsNCiAJCXJlbGVhc2VfY2hpcCA9IHRydWU7DQogCX0NCmRpZmYgLS1n aXQgYS9kcml2ZXJzL3N0YWdpbmcvd2Z4L2hpZl9yeC5jIGIvZHJpdmVycy9zdGFnaW5nL3dmeC9o aWZfcnguYw0KaW5kZXggYzA3OTg0YjA1MzVkLi5kMzg2ZmFiMGE5MGYgMTAwNjQ0DQotLS0gYS9k cml2ZXJzL3N0YWdpbmcvd2Z4L2hpZl9yeC5jDQorKysgYi9kcml2ZXJzL3N0YWdpbmcvd2Z4L2hp Zl9yeC5jDQpAQCAtMTEsNiArMTEsNyBAQA0KIA0KICNpbmNsdWRlICJoaWZfcnguaCINCiAjaW5j bHVkZSAid2Z4LmgiDQorI2luY2x1ZGUgInNjYW4uaCINCiAjaW5jbHVkZSAiZGF0YV9yeC5oIg0K ICNpbmNsdWRlICJzZWN1cmVfbGluay5oIg0KICNpbmNsdWRlICJoaWZfYXBpX2NtZC5oIg0KQEAg LTE0Myw2ICsxNDQsMTcgQEAgc3RhdGljIGludCBoaWZfcmVjZWl2ZV9pbmRpY2F0aW9uKHN0cnVj dCB3ZnhfZGV2ICp3ZGV2LCBzdHJ1Y3QgaGlmX21zZyAqaGlmLCB2b2kNCiAJcmV0dXJuIDA7DQog fQ0KIA0KK3N0YXRpYyBpbnQgaGlmX3NjYW5fY29tcGxldGVfaW5kaWNhdGlvbihzdHJ1Y3Qgd2Z4 X2RldiAqd2Rldiwgc3RydWN0IGhpZl9tc2cgKmhpZiwgdm9pZCAqYnVmKQ0KK3sNCisJc3RydWN0 IHdmeF92aWYgKnd2aWYgPSB3ZGV2X3RvX3d2aWYod2RldiwgaGlmLT5pbnRlcmZhY2UpOw0KKwlz dHJ1Y3QgaGlmX2luZF9zY2FuX2NtcGwgKmJvZHkgPSBidWY7DQorDQorCVdBUk5fT04oIXd2aWYp Ow0KKwl3Znhfc2Nhbl9jb21wbGV0ZV9jYih3dmlmLCBib2R5KTsNCisNCisJcmV0dXJuIDA7DQor fQ0KKw0KIHN0YXRpYyBpbnQgaGlmX2pvaW5fY29tcGxldGVfaW5kaWNhdGlvbihzdHJ1Y3Qgd2Z4 X2RldiAqd2Rldiwgc3RydWN0IGhpZl9tc2cgKmhpZiwgdm9pZCAqYnVmKQ0KIHsNCiAJc3RydWN0 IHdmeF92aWYgKnd2aWYgPSB3ZGV2X3RvX3d2aWYod2RldiwgaGlmLT5pbnRlcmZhY2UpOw0KQEAg LTIzMCw2ICsyNDIsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHsNCiAJeyBISUZfSU5EX0lEX1NU QVJUVVAsICAgICAgICAgICAgICBoaWZfc3RhcnR1cF9pbmRpY2F0aW9uIH0sDQogCXsgSElGX0lO RF9JRF9XQUtFVVAsICAgICAgICAgICAgICAgaGlmX3dha2V1cF9pbmRpY2F0aW9uIH0sDQogCXsg SElGX0lORF9JRF9KT0lOX0NPTVBMRVRFLCAgICAgICAgaGlmX2pvaW5fY29tcGxldGVfaW5kaWNh dGlvbiB9LA0KKwl7IEhJRl9JTkRfSURfU0NBTl9DTVBMLCAgICAgICAgICAgIGhpZl9zY2FuX2Nv bXBsZXRlX2luZGljYXRpb24gfSwNCiAJeyBISUZfSU5EX0lEX1NMX0VYQ0hBTkdFX1BVQl9LRVlT LCBoaWZfa2V5c19pbmRpY2F0aW9uIH0sDQogCXsgSElGX0lORF9JRF9HRU5FUklDLCAgICAgICAg ICAgICAgaGlmX2dlbmVyaWNfaW5kaWNhdGlvbiB9LA0KIAl7IEhJRl9JTkRfSURfRVJST1IsICAg ICAgICAgICAgICAgIGhpZl9lcnJvcl9pbmRpY2F0aW9uIH0sDQpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9zdGFnaW5nL3dmeC9tYWluLmMgYi9kcml2ZXJzL3N0YWdpbmcvd2Z4L21haW4uYw0KaW5kZXgg Y2NlNGUzMGRkOTRhLi4wNjIyMGJhYzViNzUgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL3N0YWdpbmcv d2Z4L21haW4uYw0KKysrIGIvZHJpdmVycy9zdGFnaW5nL3dmeC9tYWluLmMNCkBAIC01NSw2ICs1 NSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaWVlZTgwMjExX29wcyB3Znhfb3BzID0gew0KIAku YWRkX2ludGVyZmFjZQkJPSB3ZnhfYWRkX2ludGVyZmFjZSwNCiAJLnJlbW92ZV9pbnRlcmZhY2UJ PSB3ZnhfcmVtb3ZlX2ludGVyZmFjZSwNCiAJLnR4CQkJPSB3ZnhfdHgsDQorCS5od19zY2FuCQk9 IHdmeF9od19zY2FuLA0KIH07DQogDQogYm9vbCB3ZnhfYXBpX29sZGVyX3RoYW4oc3RydWN0IHdm eF9kZXYgKndkZXYsIGludCBtYWpvciwgaW50IG1pbm9yKQ0KQEAgLTIwMyw2ICsyMDQsOCBAQCBz dHJ1Y3Qgd2Z4X2RldiAqd2Z4X2luaXRfY29tbW9uKHN0cnVjdCBkZXZpY2UgKmRldiwNCiAJaHct PmV4dHJhX3R4X2hlYWRyb29tID0gc2l6ZW9mKHN0cnVjdCBoaWZfc2xfbXNnX2hkcikgKyBzaXpl b2Yoc3RydWN0IGhpZl9tc2cpDQogCQkJCSsgc2l6ZW9mKHN0cnVjdCBoaWZfcmVxX3R4KQ0KIAkJ CQkrIDQgLyogYWxpZ25tZW50ICovICsgOCAvKiBUS0lQIElWICovOw0KKwlody0+d2lwaHktPm1h eF9zY2FuX3NzaWRzID0gMjsNCisJaHctPndpcGh5LT5tYXhfc2Nhbl9pZV9sZW4gPSBJRUVFODAy MTFfTUFYX0RBVEFfTEVOOw0KIA0KIAl3ZGV2ID0gaHctPnByaXY7DQogCXdkZXYtPmh3ID0gaHc7 DQpAQCAtMjE0LDYgKzIxNyw3IEBAIHN0cnVjdCB3ZnhfZGV2ICp3ZnhfaW5pdF9jb21tb24oc3Ry dWN0IGRldmljZSAqZGV2LA0KIAl3ZGV2LT5wZGF0YS5ncGlvX3dha2V1cCA9IHdmeF9nZXRfZ3Bp byhkZXYsIGdwaW9fd2FrZXVwLCAid2FrZXVwIik7DQogCXdmeF9maWxsX3NsX2tleShkZXYsICZ3 ZGV2LT5wZGF0YSk7DQogDQorCW11dGV4X2luaXQoJndkZXYtPmNvbmZfbXV0ZXgpOw0KIAltdXRl eF9pbml0KCZ3ZGV2LT5yeF9zdGF0c19sb2NrKTsNCiAJaW5pdF9jb21wbGV0aW9uKCZ3ZGV2LT5m aXJtd2FyZV9yZWFkeSk7DQogCXdmeF9pbml0X2hpZl9jbWQoJndkZXYtPmhpZl9jbWQpOw0KQEAg LTIyNSw2ICsyMjksNyBAQCBzdHJ1Y3Qgd2Z4X2RldiAqd2Z4X2luaXRfY29tbW9uKHN0cnVjdCBk ZXZpY2UgKmRldiwNCiB2b2lkIHdmeF9mcmVlX2NvbW1vbihzdHJ1Y3Qgd2Z4X2RldiAqd2RldikN CiB7DQogCW11dGV4X2Rlc3Ryb3koJndkZXYtPnJ4X3N0YXRzX2xvY2spOw0KKwltdXRleF9kZXN0 cm95KCZ3ZGV2LT5jb25mX211dGV4KTsNCiAJd2Z4X3R4X3F1ZXVlc19kZWluaXQod2Rldik7DQog CWllZWU4MDIxMV9mcmVlX2h3KHdkZXYtPmh3KTsNCiB9DQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9z dGFnaW5nL3dmeC9zY2FuLmMgYi9kcml2ZXJzL3N0YWdpbmcvd2Z4L3NjYW4uYw0KbmV3IGZpbGUg bW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwMC4uMjA3YjI2ZWJjOWZkDQotLS0gL2Rldi9u dWxsDQorKysgYi9kcml2ZXJzL3N0YWdpbmcvd2Z4L3NjYW4uYw0KQEAgLTAsMCArMSwyNDkgQEAN CisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5DQorLyoNCisgKiBTY2Fu IHJlbGF0ZWQgZnVuY3Rpb25zLg0KKyAqDQorICogQ29weXJpZ2h0IChjKSAyMDE3LTIwMTksIFNp bGljb24gTGFib3JhdG9yaWVzLCBJbmMuDQorICogQ29weXJpZ2h0IChjKSAyMDEwLCBTVC1Fcmlj c3Nvbg0KKyAqLw0KKyNpbmNsdWRlIDxuZXQvbWFjODAyMTEuaD4NCisNCisjaW5jbHVkZSAic2Nh bi5oIg0KKyNpbmNsdWRlICJ3ZnguaCINCisjaW5jbHVkZSAic3RhLmgiDQorI2luY2x1ZGUgImhp Zl90eF9taWIuaCINCisNCitzdGF0aWMgdm9pZCBfX2llZWU4MDIxMV9zY2FuX2NvbXBsZXRlZF9j b21wYXQoc3RydWN0IGllZWU4MDIxMV9odyAqaHcsIGJvb2wgYWJvcnRlZCkNCit7DQorCXN0cnVj dCBjZmc4MDIxMV9zY2FuX2luZm8gaW5mbyA9IHsNCisJCS5hYm9ydGVkID0gYWJvcnRlZCA/IDEg OiAwLA0KKwl9Ow0KKw0KKwlpZWVlODAyMTFfc2Nhbl9jb21wbGV0ZWQoaHcsICZpbmZvKTsNCit9 DQorDQorc3RhdGljIGludCB3Znhfc2Nhbl9zdGFydChzdHJ1Y3Qgd2Z4X3ZpZiAqd3ZpZiwgc3Ry dWN0IHdmeF9zY2FuX3BhcmFtcyAqc2NhbikNCit7DQorCWludCByZXQ7DQorCWludCB0bW8gPSA1 MDA7DQorDQorCXRtbyArPSBzY2FuLT5zY2FuX3JlcS5udW1fb2ZfY2hhbm5lbHMgKg0KKwkgICAg ICAgKCgyMCAqIChzY2FuLT5zY2FuX3JlcS5tYXhfY2hhbm5lbF90aW1lKSkgKyAxMCk7DQorCWF0 b21pY19zZXQoJnd2aWYtPnNjYW4uaW5fcHJvZ3Jlc3MsIDEpOw0KKwlhdG9taWNfc2V0KCZ3dmlm LT53ZGV2LT5zY2FuX2luX3Byb2dyZXNzLCAxKTsNCisNCisJc2NoZWR1bGVfZGVsYXllZF93b3Jr KCZ3dmlmLT5zY2FuLnRpbWVvdXQsIG1zZWNzX3RvX2ppZmZpZXModG1vKSk7DQorCXJldCA9IGhp Zl9zY2FuKHd2aWYsIHNjYW4pOw0KKwlpZiAocmV0KSB7DQorCQl3Znhfc2Nhbl9mYWlsZWRfY2Io d3ZpZik7DQorCQlhdG9taWNfc2V0KCZ3dmlmLT5zY2FuLmluX3Byb2dyZXNzLCAwKTsNCisJCWF0 b21pY19zZXQoJnd2aWYtPndkZXYtPnNjYW5faW5fcHJvZ3Jlc3MsIDApOw0KKwkJY2FuY2VsX2Rl bGF5ZWRfd29ya19zeW5jKCZ3dmlmLT5zY2FuLnRpbWVvdXQpOw0KKwl9DQorCXJldHVybiByZXQ7 DQorfQ0KKw0KK2ludCB3ZnhfaHdfc2NhbihzdHJ1Y3QgaWVlZTgwMjExX2h3ICpodywNCisJCSAg IHN0cnVjdCBpZWVlODAyMTFfdmlmICp2aWYsDQorCQkgICBzdHJ1Y3QgaWVlZTgwMjExX3NjYW5f cmVxdWVzdCAqaHdfcmVxKQ0KK3sNCisJc3RydWN0IHdmeF9kZXYgKndkZXYgPSBody0+cHJpdjsN CisJc3RydWN0IHdmeF92aWYgKnd2aWYgPSAoc3RydWN0IHdmeF92aWYgKikgdmlmLT5kcnZfcHJp djsNCisJc3RydWN0IGNmZzgwMjExX3NjYW5fcmVxdWVzdCAqcmVxID0gJmh3X3JlcS0+cmVxOw0K KwlzdHJ1Y3Qgc2tfYnVmZiAqc2tiOw0KKwlpbnQgaSwgcmV0Ow0KKwlzdHJ1Y3QgaGlmX21pYl90 ZW1wbGF0ZV9mcmFtZSAqcDsNCisNCisJaWYgKCF3dmlmKQ0KKwkJcmV0dXJuIC1FSU5WQUw7DQor DQorCWlmIChyZXEtPm5fc3NpZHMgPT0gMSAmJiAhcmVxLT5zc2lkc1swXS5zc2lkX2xlbikNCisJ CXJlcS0+bl9zc2lkcyA9IDA7DQorDQorCWlmIChyZXEtPm5fc3NpZHMgPiBISUZfQVBJX01BWF9O Ql9TU0lEUykNCisJCXJldHVybiAtRUlOVkFMOw0KKw0KKwlza2IgPSBpZWVlODAyMTFfcHJvYmVy ZXFfZ2V0KGh3LCB3dmlmLT52aWYtPmFkZHIsIE5VTEwsIDAsIHJlcS0+aWVfbGVuKTsNCisJaWYg KCFza2IpDQorCQlyZXR1cm4gLUVOT01FTTsNCisNCisJaWYgKHJlcS0+aWVfbGVuKQ0KKwkJbWVt Y3B5KHNrYl9wdXQoc2tiLCByZXEtPmllX2xlbiksIHJlcS0+aWUsIHJlcS0+aWVfbGVuKTsNCisN CisJbXV0ZXhfbG9jaygmd2Rldi0+Y29uZl9tdXRleCk7DQorDQorCXAgPSAoc3RydWN0IGhpZl9t aWJfdGVtcGxhdGVfZnJhbWUgKilza2JfcHVzaChza2IsIDQpOw0KKwlwLT5mcmFtZV90eXBlID0g SElGX1RNUExUX1BSQlJFUTsNCisJcC0+ZnJhbWVfbGVuZ3RoID0gY3B1X3RvX2xlMTYoc2tiLT5s ZW4gLSA0KTsNCisJcmV0ID0gaGlmX3NldF90ZW1wbGF0ZV9mcmFtZSh3dmlmLCBwKTsNCisJc2ti X3B1bGwoc2tiLCA0KTsNCisNCisJaWYgKCFyZXQpDQorCQkvKiBIb3N0IHdhbnQgdG8gYmUgdGhl IHByb2JlIHJlc3BvbmRlci4gKi8NCisJCXJldCA9IHdmeF9md2RfcHJvYmVfcmVxKHd2aWYsIHRy dWUpOw0KKwlpZiAocmV0KSB7DQorCQltdXRleF91bmxvY2soJndkZXYtPmNvbmZfbXV0ZXgpOw0K KwkJZGV2X2tmcmVlX3NrYihza2IpOw0KKwkJcmV0dXJuIHJldDsNCisJfQ0KKw0KKwl3ZnhfdHhf bG9ja19mbHVzaCh3ZGV2KTsNCisNCisJQlVHX09OKHd2aWYtPnNjYW4ucmVxKTsNCisJd3ZpZi0+ c2Nhbi5yZXEgPSByZXE7DQorCXd2aWYtPnNjYW4ubl9zc2lkcyA9IDA7DQorCXd2aWYtPnNjYW4u c3RhdHVzID0gMDsNCisJd3ZpZi0+c2Nhbi5iZWdpbiA9ICZyZXEtPmNoYW5uZWxzWzBdOw0KKwl3 dmlmLT5zY2FuLmN1cnIgPSB3dmlmLT5zY2FuLmJlZ2luOw0KKwl3dmlmLT5zY2FuLmVuZCA9ICZy ZXEtPmNoYW5uZWxzW3JlcS0+bl9jaGFubmVsc107DQorCXd2aWYtPnNjYW4ub3V0cHV0X3Bvd2Vy ID0gd2Rldi0+b3V0cHV0X3Bvd2VyOw0KKw0KKwlmb3IgKGkgPSAwOyBpIDwgcmVxLT5uX3NzaWRz OyArK2kpIHsNCisJCXN0cnVjdCBoaWZfc3NpZF9kZWYgKmRzdCA9ICZ3dmlmLT5zY2FuLnNzaWRz W3d2aWYtPnNjYW4ubl9zc2lkc107DQorDQorCQltZW1jcHkoJmRzdC0+c3NpZFswXSwgcmVxLT5z c2lkc1tpXS5zc2lkLCBzaXplb2YoZHN0LT5zc2lkKSk7DQorCQlkc3QtPnNzaWRfbGVuZ3RoID0g cmVxLT5zc2lkc1tpXS5zc2lkX2xlbjsNCisJCSsrd3ZpZi0+c2Nhbi5uX3NzaWRzOw0KKwl9DQor DQorCW11dGV4X3VubG9jaygmd2Rldi0+Y29uZl9tdXRleCk7DQorDQorCWlmIChza2IpDQorCQlk ZXZfa2ZyZWVfc2tiKHNrYik7DQorCXNjaGVkdWxlX3dvcmsoJnd2aWYtPnNjYW4ud29yayk7DQor CXJldHVybiAwOw0KK30NCisNCit2b2lkIHdmeF9zY2FuX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0 ICp3b3JrKQ0KK3sNCisJc3RydWN0IHdmeF92aWYgKnd2aWYgPSBjb250YWluZXJfb2Yod29yaywg c3RydWN0IHdmeF92aWYsIHNjYW4ud29yayk7DQorCXN0cnVjdCBpZWVlODAyMTFfY2hhbm5lbCAq Kml0Ow0KKwlzdHJ1Y3Qgd2Z4X3NjYW5fcGFyYW1zIHNjYW4gPSB7DQorCQkuc2Nhbl9yZXEuc2Nh bl90eXBlLnR5cGUgPSAwLCAgICAvKiBGb3JlZ3JvdW5kICovDQorCX07DQorCXN0cnVjdCBpZWVl ODAyMTFfY2hhbm5lbCAqZmlyc3Q7DQorCWludCBpOw0KKw0KKwlkb3duKCZ3dmlmLT5zY2FuLmxv Y2spOw0KKwltdXRleF9sb2NrKCZ3dmlmLT53ZGV2LT5jb25mX211dGV4KTsNCisNCisJaWYgKCF3 dmlmLT5zY2FuLnJlcSB8fCB3dmlmLT5zY2FuLmN1cnIgPT0gd3ZpZi0+c2Nhbi5lbmQpIHsNCisJ CWlmICh3dmlmLT5zY2FuLm91dHB1dF9wb3dlciAhPSB3dmlmLT53ZGV2LT5vdXRwdXRfcG93ZXIp DQorCQkJaGlmX3NldF9vdXRwdXRfcG93ZXIod3ZpZiwgd3ZpZi0+d2Rldi0+b3V0cHV0X3Bvd2Vy ICogMTApOw0KKw0KKwkJaWYgKHd2aWYtPnNjYW4uc3RhdHVzIDwgMCkNCisJCQlkZXZfd2Fybih3 dmlmLT53ZGV2LT5kZXYsICJzY2FuIGZhaWxlZFxuIik7DQorCQllbHNlIGlmICh3dmlmLT5zY2Fu LnJlcSkNCisJCQlkZXZfZGJnKHd2aWYtPndkZXYtPmRldiwgInNjYW4gY29tcGxldGVkXG4iKTsN CisJCWVsc2UNCisJCQlkZXZfZGJnKHd2aWYtPndkZXYtPmRldiwgInNjYW4gY2FuY2VsZWRcbiIp Ow0KKw0KKwkJd3ZpZi0+c2Nhbi5yZXEgPSBOVUxMOw0KKwkJd2Z4X3R4X3VubG9jayh3dmlmLT53 ZGV2KTsNCisJCW11dGV4X3VubG9jaygmd3ZpZi0+d2Rldi0+Y29uZl9tdXRleCk7DQorCQlfX2ll ZWU4MDIxMV9zY2FuX2NvbXBsZXRlZF9jb21wYXQod3ZpZi0+d2Rldi0+aHcsIHd2aWYtPnNjYW4u c3RhdHVzID8gMSA6IDApOw0KKwkJdXAoJnd2aWYtPnNjYW4ubG9jayk7DQorCQlyZXR1cm47DQor CX0NCisJZmlyc3QgPSAqd3ZpZi0+c2Nhbi5jdXJyOw0KKw0KKwlmb3IgKGl0ID0gd3ZpZi0+c2Nh bi5jdXJyICsgMSwgaSA9IDE7DQorCSAgICAgaXQgIT0gd3ZpZi0+c2Nhbi5lbmQgJiYgaSA8IEhJ Rl9BUElfTUFYX05CX0NIQU5ORUxTOw0KKwkgICAgICsraXQsICsraSkgew0KKwkJaWYgKCgqaXQp LT5iYW5kICE9IGZpcnN0LT5iYW5kKQ0KKwkJCWJyZWFrOw0KKwkJaWYgKCgoKml0KS0+ZmxhZ3Mg XiBmaXJzdC0+ZmxhZ3MpICYNCisJCQkJSUVFRTgwMjExX0NIQU5fTk9fSVIpDQorCQkJYnJlYWs7 DQorCQlpZiAoIShmaXJzdC0+ZmxhZ3MgJiBJRUVFODAyMTFfQ0hBTl9OT19JUikgJiYNCisJCSAg ICAoKml0KS0+bWF4X3Bvd2VyICE9IGZpcnN0LT5tYXhfcG93ZXIpDQorCQkJYnJlYWs7DQorCX0N CisJc2Nhbi5zY2FuX3JlcS5iYW5kID0gZmlyc3QtPmJhbmQ7DQorDQorCWlmICh3dmlmLT5zY2Fu LnJlcS0+bm9fY2NrKQ0KKwkJc2Nhbi5zY2FuX3JlcS5tYXhfdHJhbnNtaXRfcmF0ZSA9IEFQSV9S QVRFX0lOREVYX0dfNk1CUFM7DQorCWVsc2UNCisJCXNjYW4uc2Nhbl9yZXEubWF4X3RyYW5zbWl0 X3JhdGUgPSBBUElfUkFURV9JTkRFWF9CXzFNQlBTOw0KKwlzY2FuLnNjYW5fcmVxLm51bV9vZl9w cm9iZV9yZXF1ZXN0cyA9DQorCQkoZmlyc3QtPmZsYWdzICYgSUVFRTgwMjExX0NIQU5fTk9fSVIp ID8gMCA6IDI7DQorCXNjYW4uc2Nhbl9yZXEubnVtX29mX3NzaV9kcyA9IHd2aWYtPnNjYW4ubl9z c2lkczsNCisJc2Nhbi5zc2lkcyA9ICZ3dmlmLT5zY2FuLnNzaWRzWzBdOw0KKwlzY2FuLnNjYW5f cmVxLm51bV9vZl9jaGFubmVscyA9IGl0IC0gd3ZpZi0+c2Nhbi5jdXJyOw0KKwlzY2FuLnNjYW5f cmVxLnByb2JlX2RlbGF5ID0gMTAwOw0KKw0KKwlzY2FuLmNoID0ga2NhbGxvYyhzY2FuLnNjYW5f cmVxLm51bV9vZl9jaGFubmVscywgc2l6ZW9mKHU4KSwgR0ZQX0tFUk5FTCk7DQorDQorCWlmICgh c2Nhbi5jaCkgew0KKwkJd3ZpZi0+c2Nhbi5zdGF0dXMgPSAtRU5PTUVNOw0KKwkJZ290byBmYWls Ow0KKwl9DQorCWZvciAoaSA9IDA7IGkgPCBzY2FuLnNjYW5fcmVxLm51bV9vZl9jaGFubmVsczsg KytpKQ0KKwkJc2Nhbi5jaFtpXSA9IHd2aWYtPnNjYW4uY3VycltpXS0+aHdfdmFsdWU7DQorDQor CWlmICh3dmlmLT5zY2FuLmN1cnJbMF0tPmZsYWdzICYgSUVFRTgwMjExX0NIQU5fTk9fSVIpIHsN CisJCXNjYW4uc2Nhbl9yZXEubWluX2NoYW5uZWxfdGltZSA9IDUwOw0KKwkJc2Nhbi5zY2FuX3Jl cS5tYXhfY2hhbm5lbF90aW1lID0gMTUwOw0KKwl9IGVsc2Ugew0KKwkJc2Nhbi5zY2FuX3JlcS5t aW5fY2hhbm5lbF90aW1lID0gMTA7DQorCQlzY2FuLnNjYW5fcmVxLm1heF9jaGFubmVsX3RpbWUg PSA1MDsNCisJfQ0KKwlpZiAoIShmaXJzdC0+ZmxhZ3MgJiBJRUVFODAyMTFfQ0hBTl9OT19JUikg JiYNCisJICAgIHd2aWYtPnNjYW4ub3V0cHV0X3Bvd2VyICE9IGZpcnN0LT5tYXhfcG93ZXIpIHsN CisJCXd2aWYtPnNjYW4ub3V0cHV0X3Bvd2VyID0gZmlyc3QtPm1heF9wb3dlcjsNCisJCWhpZl9z ZXRfb3V0cHV0X3Bvd2VyKHd2aWYsIHd2aWYtPnNjYW4ub3V0cHV0X3Bvd2VyICogMTApOw0KKwl9 DQorCXd2aWYtPnNjYW4uc3RhdHVzID0gd2Z4X3NjYW5fc3RhcnQod3ZpZiwgJnNjYW4pOw0KKwlr ZnJlZShzY2FuLmNoKTsNCisJaWYgKHd2aWYtPnNjYW4uc3RhdHVzKQ0KKwkJZ290byBmYWlsOw0K Kwl3dmlmLT5zY2FuLmN1cnIgPSBpdDsNCisJbXV0ZXhfdW5sb2NrKCZ3dmlmLT53ZGV2LT5jb25m X211dGV4KTsNCisJcmV0dXJuOw0KKw0KK2ZhaWw6DQorCXd2aWYtPnNjYW4uY3VyciA9IHd2aWYt PnNjYW4uZW5kOw0KKwltdXRleF91bmxvY2soJnd2aWYtPndkZXYtPmNvbmZfbXV0ZXgpOw0KKwl1 cCgmd3ZpZi0+c2Nhbi5sb2NrKTsNCisJc2NoZWR1bGVfd29yaygmd3ZpZi0+c2Nhbi53b3JrKTsN Cit9DQorDQorc3RhdGljIHZvaWQgd2Z4X3NjYW5fY29tcGxldGUoc3RydWN0IHdmeF92aWYgKnd2 aWYpDQorew0KKwl1cCgmd3ZpZi0+c2Nhbi5sb2NrKTsNCisJYXRvbWljX3NldCgmd3ZpZi0+d2Rl di0+c2Nhbl9pbl9wcm9ncmVzcywgMCk7DQorDQorCXdmeF9zY2FuX3dvcmsoJnd2aWYtPnNjYW4u d29yayk7DQorfQ0KKw0KK3ZvaWQgd2Z4X3NjYW5fZmFpbGVkX2NiKHN0cnVjdCB3ZnhfdmlmICp3 dmlmKQ0KK3sNCisJaWYgKGNhbmNlbF9kZWxheWVkX3dvcmtfc3luYygmd3ZpZi0+c2Nhbi50aW1l b3V0KSA+IDApIHsNCisJCXd2aWYtPnNjYW4uc3RhdHVzID0gLUVJTzsNCisJCXNjaGVkdWxlX3dv cmsoJnd2aWYtPnNjYW4udGltZW91dC53b3JrKTsNCisJfQ0KK30NCisNCit2b2lkIHdmeF9zY2Fu X2NvbXBsZXRlX2NiKHN0cnVjdCB3ZnhfdmlmICp3dmlmLCBzdHJ1Y3QgaGlmX2luZF9zY2FuX2Nt cGwgKmFyZykNCit7DQorCWlmIChjYW5jZWxfZGVsYXllZF93b3JrX3N5bmMoJnd2aWYtPnNjYW4u dGltZW91dCkgPiAwKSB7DQorCQl3dmlmLT5zY2FuLnN0YXR1cyA9IDE7DQorCQlzY2hlZHVsZV93 b3JrKCZ3dmlmLT5zY2FuLnRpbWVvdXQud29yayk7DQorCX0NCit9DQorDQordm9pZCB3Znhfc2Nh bl90aW1lb3V0KHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykNCit7DQorCXN0cnVjdCB3Znhfdmlm ICp3dmlmID0gY29udGFpbmVyX29mKHdvcmssIHN0cnVjdCB3ZnhfdmlmLCBzY2FuLnRpbWVvdXQu d29yayk7DQorDQorCWlmIChhdG9taWNfeGNoZygmd3ZpZi0+c2Nhbi5pbl9wcm9ncmVzcywgMCkp IHsNCisJCWlmICh3dmlmLT5zY2FuLnN0YXR1cyA+IDApIHsNCisJCQl3dmlmLT5zY2FuLnN0YXR1 cyA9IDA7DQorCQl9IGVsc2UgaWYgKCF3dmlmLT5zY2FuLnN0YXR1cykgew0KKwkJCWRldl93YXJu KHd2aWYtPndkZXYtPmRldiwgInRpbWVvdXQgd2FpdGluZyBmb3Igc2NhbiBjb21wbGV0ZSBub3Rp ZmljYXRpb25cbiIpOw0KKwkJCXd2aWYtPnNjYW4uc3RhdHVzID0gLUVUSU1FRE9VVDsNCisJCQl3 dmlmLT5zY2FuLmN1cnIgPSB3dmlmLT5zY2FuLmVuZDsNCisJCQloaWZfc3RvcF9zY2FuKHd2aWYp Ow0KKwkJfQ0KKwkJd2Z4X3NjYW5fY29tcGxldGUod3ZpZik7DQorCX0NCit9DQpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9zdGFnaW5nL3dmeC9zY2FuLmggYi9kcml2ZXJzL3N0YWdpbmcvd2Z4L3NjYW4u aA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwMC4uYjRkZGQwNzcxYTli DQotLS0gL2Rldi9udWxsDQorKysgYi9kcml2ZXJzL3N0YWdpbmcvd2Z4L3NjYW4uaA0KQEAgLTAs MCArMSw0MiBAQA0KKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkgKi8N CisvKg0KKyAqIFNjYW4gcmVsYXRlZCBmdW5jdGlvbnMuDQorICoNCisgKiBDb3B5cmlnaHQgKGMp IDIwMTctMjAxOSwgU2lsaWNvbiBMYWJvcmF0b3JpZXMsIEluYy4NCisgKiBDb3B5cmlnaHQgKGMp IDIwMTAsIFNULUVyaWNzc29uDQorICovDQorI2lmbmRlZiBXRlhfU0NBTl9IDQorI2RlZmluZSBX RlhfU0NBTl9IDQorDQorI2luY2x1ZGUgPGxpbnV4L3NlbWFwaG9yZS5oPg0KKyNpbmNsdWRlIDxs aW51eC93b3JrcXVldWUuaD4NCisjaW5jbHVkZSA8bmV0L21hYzgwMjExLmg+DQorDQorI2luY2x1 ZGUgImhpZl9hcGlfY21kLmgiDQorDQorc3RydWN0IHdmeF9kZXY7DQorc3RydWN0IHdmeF92aWY7 DQorDQorc3RydWN0IHdmeF9zY2FuIHsNCisJc3RydWN0IHNlbWFwaG9yZSBsb2NrOw0KKwlzdHJ1 Y3Qgd29ya19zdHJ1Y3Qgd29yazsNCisJc3RydWN0IGRlbGF5ZWRfd29yayB0aW1lb3V0Ow0KKwlz dHJ1Y3QgY2ZnODAyMTFfc2Nhbl9yZXF1ZXN0ICpyZXE7DQorCXN0cnVjdCBpZWVlODAyMTFfY2hh bm5lbCAqKmJlZ2luOw0KKwlzdHJ1Y3QgaWVlZTgwMjExX2NoYW5uZWwgKipjdXJyOw0KKwlzdHJ1 Y3QgaWVlZTgwMjExX2NoYW5uZWwgKiplbmQ7DQorCXN0cnVjdCBoaWZfc3NpZF9kZWYgc3NpZHNb SElGX0FQSV9NQVhfTkJfU1NJRFNdOw0KKwlpbnQgb3V0cHV0X3Bvd2VyOw0KKwlpbnQgbl9zc2lk czsNCisJaW50IHN0YXR1czsNCisJYXRvbWljX3QgaW5fcHJvZ3Jlc3M7DQorfTsNCisNCitpbnQg d2Z4X2h3X3NjYW4oc3RydWN0IGllZWU4MDIxMV9odyAqaHcsIHN0cnVjdCBpZWVlODAyMTFfdmlm ICp2aWYsDQorCQlzdHJ1Y3QgaWVlZTgwMjExX3NjYW5fcmVxdWVzdCAqcmVxKTsNCit2b2lkIHdm eF9zY2FuX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKTsNCit2b2lkIHdmeF9zY2FuX3Rp bWVvdXQoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKTsNCit2b2lkIHdmeF9zY2FuX2NvbXBsZXRl X2NiKHN0cnVjdCB3ZnhfdmlmICp3dmlmLCBzdHJ1Y3QgaGlmX2luZF9zY2FuX2NtcGwgKmFyZyk7 DQordm9pZCB3Znhfc2Nhbl9mYWlsZWRfY2Ioc3RydWN0IHdmeF92aWYgKnd2aWYpOw0KKw0KKyNl bmRpZiAvKiBXRlhfU0NBTl9IICovDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL3dmeC9z dGEuYyBiL2RyaXZlcnMvc3RhZ2luZy93Zngvc3RhLmMNCmluZGV4IDU3MTRhYmExNDMyYy4uNWE4 MTQwMTAwZTk3IDEwMDY0NA0KLS0tIGEvZHJpdmVycy9zdGFnaW5nL3dmeC9zdGEuYw0KKysrIGIv ZHJpdmVycy9zdGFnaW5nL3dmeC9zdGEuYw0KQEAgLTksOSArOSwxOCBAQA0KIA0KICNpbmNsdWRl ICJzdGEuaCINCiAjaW5jbHVkZSAid2Z4LmgiDQorI2luY2x1ZGUgInNjYW4uaCINCisjaW5jbHVk ZSAiaGlmX3R4X21pYi5oIg0KIA0KICNkZWZpbmUgVFhPUF9VTklUIDMyDQogDQoraW50IHdmeF9m d2RfcHJvYmVfcmVxKHN0cnVjdCB3ZnhfdmlmICp3dmlmLCBib29sIGVuYWJsZSkNCit7DQorCXd2 aWYtPmZ3ZF9wcm9iZV9yZXEgPSBlbmFibGU7DQorCXJldHVybiBoaWZfc2V0X3J4X2ZpbHRlcih3 dmlmLCB3dmlmLT5maWx0ZXJfYnNzaWQsDQorCQkJCSB3dmlmLT5md2RfcHJvYmVfcmVxKTsNCit9 DQorDQogc3RhdGljIGludCB3Znhfc2V0X3RpbV9pbXBsKHN0cnVjdCB3ZnhfdmlmICp3dmlmLCBi b29sIGFpZDBfYml0X3NldCkNCiB7DQogCXN0cnVjdCBza19idWZmICpza2I7DQpAQCAtMTI4LDYg KzEzNyw4IEBAIGludCB3ZnhfYWRkX2ludGVyZmFjZShzdHJ1Y3QgaWVlZTgwMjExX2h3ICpodywg c3RydWN0IGllZWU4MDIxMV92aWYgKnZpZikNCiAJCWRlZmF1bHRfZWRjYV9wYXJhbXNbSUVFRTgw MjExX0FDX0JLXS5xdWV1ZV9pZCA9IEhJRl9RVUVVRV9JRF9CRVNURUZGT1JUOw0KIAl9DQogDQor CW11dGV4X2xvY2soJndkZXYtPmNvbmZfbXV0ZXgpOw0KKw0KIAlmb3IgKGkgPSAwOyBpIDwgQVJS QVlfU0laRSh3ZGV2LT52aWYpOyBpKyspIHsNCiAJCWlmICghd2Rldi0+dmlmW2ldKSB7DQogCQkJ d2Rldi0+dmlmW2ldID0gdmlmOw0KQEAgLTEzNSw4ICsxNDYsMTAgQEAgaW50IHdmeF9hZGRfaW50 ZXJmYWNlKHN0cnVjdCBpZWVlODAyMTFfaHcgKmh3LCBzdHJ1Y3QgaWVlZTgwMjExX3ZpZiAqdmlm KQ0KIAkJCWJyZWFrOw0KIAkJfQ0KIAl9DQotCWlmIChpID09IEFSUkFZX1NJWkUod2Rldi0+dmlm KSkNCisJaWYgKGkgPT0gQVJSQVlfU0laRSh3ZGV2LT52aWYpKSB7DQorCQltdXRleF91bmxvY2so JndkZXYtPmNvbmZfbXV0ZXgpOw0KIAkJcmV0dXJuIC1FT1BOT1RTVVBQOw0KKwl9DQogCXd2aWYt PnZpZiA9IHZpZjsNCiAJd3ZpZi0+d2RldiA9IHdkZXY7DQogDQpAQCAtMTQ4LDYgKzE2MSwxMiBA QCBpbnQgd2Z4X2FkZF9pbnRlcmZhY2Uoc3RydWN0IGllZWU4MDIxMV9odyAqaHcsIHN0cnVjdCBp ZWVlODAyMTFfdmlmICp2aWYpDQogCUlOSVRfV09SSygmd3ZpZi0+bWNhc3Rfc3RhcnRfd29yaywg d2Z4X21jYXN0X3N0YXJ0X3dvcmspOw0KIAlJTklUX1dPUksoJnd2aWYtPm1jYXN0X3N0b3Bfd29y aywgd2Z4X21jYXN0X3N0b3Bfd29yayk7DQogCXRpbWVyX3NldHVwKCZ3dmlmLT5tY2FzdF90aW1l b3V0LCB3ZnhfbWNhc3RfdGltZW91dCwgMCk7DQorDQorCXNlbWFfaW5pdCgmd3ZpZi0+c2Nhbi5s b2NrLCAxKTsNCisJSU5JVF9XT1JLKCZ3dmlmLT5zY2FuLndvcmssIHdmeF9zY2FuX3dvcmspOw0K KwlJTklUX0RFTEFZRURfV09SSygmd3ZpZi0+c2Nhbi50aW1lb3V0LCB3Znhfc2Nhbl90aW1lb3V0 KTsNCisNCisJbXV0ZXhfdW5sb2NrKCZ3ZGV2LT5jb25mX211dGV4KTsNCiAJQlVHX09OKEFSUkFZ X1NJWkUoZGVmYXVsdF9lZGNhX3BhcmFtcykgIT0gQVJSQVlfU0laRSh3dmlmLT5lZGNhLnBhcmFt cykpOw0KIAlmb3IgKGkgPSAwOyBpIDwgSUVFRTgwMjExX05VTV9BQ1M7IGkrKykNCiAJCW1lbWNw eSgmd3ZpZi0+ZWRjYS5wYXJhbXNbaV0sICZkZWZhdWx0X2VkY2FfcGFyYW1zW2ldLCBzaXplb2Yo ZGVmYXVsdF9lZGNhX3BhcmFtc1tpXSkpOw0KQEAgLTE3NSw3ICsxOTQsOSBAQCB2b2lkIHdmeF9z dG9wKHN0cnVjdCBpZWVlODAyMTFfaHcgKmh3KQ0KIAlzdHJ1Y3Qgd2Z4X2RldiAqd2RldiA9IGh3 LT5wcml2Ow0KIA0KIAl3ZnhfdHhfbG9ja19mbHVzaCh3ZGV2KTsNCisJbXV0ZXhfbG9jaygmd2Rl di0+Y29uZl9tdXRleCk7DQogCXdmeF90eF9xdWV1ZXNfY2xlYXIod2Rldik7DQorCW11dGV4X3Vu bG9jaygmd2Rldi0+Y29uZl9tdXRleCk7DQogCXdmeF90eF91bmxvY2sod2Rldik7DQogCVdBUk4o YXRvbWljX3JlYWQoJndkZXYtPnR4X2xvY2spLCAidHhfbG9jayBpcyBsb2NrZWQiKTsNCiB9DQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL3dmeC9zdGEuaCBiL2RyaXZlcnMvc3RhZ2luZy93 Zngvc3RhLmgNCmluZGV4IGYzNmQ5NGY5MDdjNy4uZGQxYjZiM2ZjMmYxIDEwMDY0NA0KLS0tIGEv ZHJpdmVycy9zdGFnaW5nL3dmeC9zdGEuaA0KKysrIGIvZHJpdmVycy9zdGFnaW5nL3dmeC9zdGEu aA0KQEAgLTEyLDYgKzEyLDggQEANCiANCiAjaW5jbHVkZSAiaGlmX2FwaV9jbWQuaCINCiANCitz dHJ1Y3Qgd2Z4X3ZpZjsNCisNCiBzdHJ1Y3Qgd2Z4X2VkY2FfcGFyYW1zIHsNCiAJLyogTk9URTog aW5kZXggaXMgYSBsaW51eCBxdWV1ZSBpZC4gKi8NCiAJc3RydWN0IGhpZl9yZXFfZWRjYV9xdWV1 ZV9wYXJhbXMgcGFyYW1zW0lFRUU4MDIxMV9OVU1fQUNTXTsNCkBAIC0yOSw0ICszMSw2IEBAIHZv aWQgd2Z4X3N0b3Aoc3RydWN0IGllZWU4MDIxMV9odyAqaHcpOw0KIGludCB3ZnhfYWRkX2ludGVy ZmFjZShzdHJ1Y3QgaWVlZTgwMjExX2h3ICpodywgc3RydWN0IGllZWU4MDIxMV92aWYgKnZpZik7 DQogdm9pZCB3ZnhfcmVtb3ZlX2ludGVyZmFjZShzdHJ1Y3QgaWVlZTgwMjExX2h3ICpodywgc3Ry dWN0IGllZWU4MDIxMV92aWYgKnZpZik7DQogDQoraW50IHdmeF9md2RfcHJvYmVfcmVxKHN0cnVj dCB3ZnhfdmlmICp3dmlmLCBib29sIGVuYWJsZSk7DQorDQogI2VuZGlmIC8qIFdGWF9TVEFfSCAq Lw0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy93Zngvd2Z4LmggYi9kcml2ZXJzL3N0YWdp bmcvd2Z4L3dmeC5oDQppbmRleCAxMTc3NWIxZTA2ZWYuLjUwYzBkOWMwZTUyOCAxMDA2NDQNCi0t LSBhL2RyaXZlcnMvc3RhZ2luZy93Zngvd2Z4LmgNCisrKyBiL2RyaXZlcnMvc3RhZ2luZy93Zngv d2Z4LmgNCkBAIC0xOSw2ICsxOSw3IEBADQogI2luY2x1ZGUgInF1ZXVlLmgiDQogI2luY2x1ZGUg InNlY3VyZV9saW5rLmgiDQogI2luY2x1ZGUgInN0YS5oIg0KKyNpbmNsdWRlICJzY2FuLmgiDQog I2luY2x1ZGUgImhpZl90eC5oIg0KICNpbmNsdWRlICJoaWZfYXBpX2dlbmVyYWwuaCINCiANCkBA IC0zOSw2ICs0MCw3IEBAIHN0cnVjdCB3ZnhfZGV2IHsNCiAJc3RydWN0IHdmeF9oaWYJCWhpZjsN CiAJc3RydWN0IHNsX2NvbnRleHQJc2w7DQogCWludAkJCWNoaXBfZnJvemVuOw0KKwlzdHJ1Y3Qg bXV0ZXgJCWNvbmZfbXV0ZXg7DQogDQogCXN0cnVjdCB3ZnhfaGlmX2NtZAloaWZfY21kOw0KIAlz dHJ1Y3Qgd2Z4X3F1ZXVlCXR4X3F1ZXVlWzRdOw0KQEAgLTQ4LDYgKzUwLDkgQEAgc3RydWN0IHdm eF9kZXYgew0KIA0KIAlzdHJ1Y3QgaGlmX3J4X3N0YXRzCXJ4X3N0YXRzOw0KIAlzdHJ1Y3QgbXV0 ZXgJCXJ4X3N0YXRzX2xvY2s7DQorDQorCWludAkJCW91dHB1dF9wb3dlcjsNCisJYXRvbWljX3QJ CXNjYW5faW5fcHJvZ3Jlc3M7DQogfTsNCiANCiBzdHJ1Y3Qgd2Z4X3ZpZiB7DQpAQCAtNzEsMTEg Kzc2LDE3IEBAIHN0cnVjdCB3ZnhfdmlmIHsNCiANCiAJc3RydWN0IHR4X3BvbGljeV9jYWNoZQl0 eF9wb2xpY3lfY2FjaGU7DQogCXN0cnVjdCB3b3JrX3N0cnVjdAl0eF9wb2xpY3lfdXBsb2FkX3dv cms7DQorDQogCXUzMgkJCXN0YV9hc2xlZXBfbWFzazsNCiAJdTMyCQkJcHNwb2xsX21hc2s7DQog CXNwaW5sb2NrX3QJCXBzX3N0YXRlX2xvY2s7DQogDQorCWJvb2wJCQlmaWx0ZXJfYnNzaWQ7DQor CWJvb2wJCQlmd2RfcHJvYmVfcmVxOw0KKw0KIAlzdHJ1Y3Qgd2Z4X2VkY2FfcGFyYW1zCWVkY2E7 DQorDQorCXN0cnVjdCB3Znhfc2NhbgkJc2NhbjsNCiB9Ow0KIA0KIHN0YXRpYyBpbmxpbmUgc3Ry dWN0IHdmeF92aWYgKndkZXZfdG9fd3ZpZihzdHJ1Y3Qgd2Z4X2RldiAqd2RldiwgaW50IHZpZl9p ZCkNCi0tIA0KMi4yMC4xDQo= 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=-6.5 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable 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 EF3E3C49ED7 for ; Thu, 19 Sep 2019 14:27:19 +0000 (UTC) Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id BA82E208C0 for ; Thu, 19 Sep 2019 14:27:19 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=silabs.onmicrosoft.com header.i=@silabs.onmicrosoft.com header.b="PfSFE0rS" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org BA82E208C0 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=silabs.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=driverdev-devel-bounces@linuxdriverproject.org Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id A61F886C5C; Thu, 19 Sep 2019 14:27:19 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id vWdK3erV6A1f; Thu, 19 Sep 2019 14:27:08 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by whitealder.osuosl.org (Postfix) with ESMTP id 09D7C86BDE; Thu, 19 Sep 2019 14:26:13 +0000 (UTC) Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id 24DBF1BF23C for ; Thu, 19 Sep 2019 14:26:12 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 2172586BDC for ; Thu, 19 Sep 2019 14:26:12 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ZseH0Fn8b+qy for ; Thu, 19 Sep 2019 14:26:00 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from NAM01-BY2-obe.outbound.protection.outlook.com (mail-eopbgr810085.outbound.protection.outlook.com [40.107.81.85]) by whitealder.osuosl.org (Postfix) with ESMTPS id 2962C86B3C for ; Thu, 19 Sep 2019 14:25:50 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=D+Spm53gZ8PTArj30dKAmAGVHaeSXn84ruVflsQnl8U7CL8x0Wpdc2duMq+trjp5/Zy6rWW69AwfALileH4OBEGq2Qmh0xWLkXLoEuVuo6Tb0xiU0nPdV3kYhjJnkrL+Y+/2R4rsH9Kxso6/A50UqOGnmyJC6jbr0X9LqBuVVqOQ4xdzTStNX4Npf417TRS5f9FmcsqDoEmZn4D3kbFCJHgyumSW2QZUw88EYlA2+BZ3vn/lvPqya9BkZE+sDJtW9Z++2ikFRolUlR+MGhbklyVNwf7lZsdesmP0rDJku9liJ5eUz1SRLwaz3XtJ/8DLK5ZSQJTOTGvXdIcvsnnYqA== 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=7x3RWz792U2IdjfFxkc9MgFyjlxhFqDh2SZXtVnj9Vs=; b=Wk7mCbDRHaNxQoLEeWc8IJuTb2H2gGdrtWZqzOISIybnpHs4SRmxinxo37Z7Wfy2+xBup3EP+1FiLrA2fNdYtN6R75N0Oz1xLKyb+UuEklKbwDg30Bq0uK/rp4LSn5NsTDUdSSRU1CzjrpeR2be8lXHMXaYbsJ89jdNOgvBsENC8T7lXZCD7getysvcsFO9WAQNbwv43CJtDcnBexeeGuwwdFzR4A0LUveXUyRQ/R2q7y7vTgGpQMuTCtjzK9v28TNMjIfd3tzIcHscT4fYV1BWrfUh4eVZbV+KY6G10LTsWB+Hl9JJbT+12TM3FmQZNY7XxqUkLTeKx4/7kBWeFZQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=silabs.com; dmarc=pass action=none header.from=silabs.com; dkim=pass header.d=silabs.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=silabs.onmicrosoft.com; s=selector2-silabs-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7x3RWz792U2IdjfFxkc9MgFyjlxhFqDh2SZXtVnj9Vs=; b=PfSFE0rSNEsyLKCdnhV800qoxjrlG+SjkwxDubnUn5zjtLIfRI9ddfx/X+yU/NG5WHla5s4wD11TUmkeB1VBb0uvMw1mtw3BvazAJoxrevtpuUWBm1cxPthnh92mKRu354fyL2SZ5SRK6syuGi9KRCVZUQP6iE8sLAsXf4rNgEs= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (20.179.149.217) by MN2PR11MB3807.namprd11.prod.outlook.com (20.178.254.26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2284.18; Thu, 19 Sep 2019 14:25:48 +0000 Received: from MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::45dc:e073:4446:4bf8]) by MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::45dc:e073:4446:4bf8%3]) with mapi id 15.20.2263.023; Thu, 19 Sep 2019 14:25:48 +0000 From: Jerome Pouiller To: "devel@driverdev.osuosl.org" , "linux-wireless@vger.kernel.org" Subject: [PATCH v3 18/20] staging: wfx: allow to scan networks Thread-Topic: [PATCH v3 18/20] staging: wfx: allow to scan networks Thread-Index: AQHVbvYg7H/O4XSTsUmN1/unnVXtMA== Date: Thu, 19 Sep 2019 14:25:47 +0000 Message-ID: <20190919142527.31797-19-Jerome.Pouiller@silabs.com> References: <20190919142527.31797-1-Jerome.Pouiller@silabs.com> In-Reply-To: <20190919142527.31797-1-Jerome.Pouiller@silabs.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Jerome.Pouiller@silabs.com; x-originating-ip: [37.71.187.125] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: ac57dd97-5e5c-4a75-d705-08d73d0d43f8 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600167)(711020)(4605104)(1401327)(2017052603328)(7193020); SRVR:MN2PR11MB3807; x-ms-traffictypediagnostic: MN2PR11MB3807: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:227; x-forefront-prvs: 016572D96D x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(136003)(366004)(396003)(346002)(39850400004)(376002)(199004)(189003)(486006)(30864003)(76176011)(66066001)(66946007)(66556008)(91956017)(66476007)(2906002)(5660300002)(71200400001)(76116006)(8936002)(36756003)(476003)(110136005)(54906003)(2616005)(25786009)(316002)(11346002)(81166006)(81156014)(8676002)(446003)(102836004)(6506007)(2501003)(14444005)(256004)(6116002)(3846002)(107886003)(26005)(6486002)(66574012)(64756008)(71190400001)(6436002)(6512007)(66446008)(1076003)(7736002)(86362001)(186003)(99286004)(4326008)(14454004)(478600001)(305945005); DIR:OUT; SFP:1101; SCL:1; SRVR:MN2PR11MB3807; H:MN2PR11MB4063.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: silabs.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: gQ0fJdcSJx2Hp7f7DylUl77QxmK7JTCz3z5Si3AWsXdL5Nva0WVcrB3YSj8hJg+ujNOkug7ob0jsiuA9i6s2Dd6JIXhiw7KE7XOTEWJtppKhsdU6XgZ5Z1cmJhRoQXxI2N7M+PAYLU0j0AVBt4JY0hQNor7k9PKGibY0qZBu/mvk32KOEsUN3e/HGqo87g6m1VLbrv3hORTonuzTjb/qGR/fAouRnDFIKDQXPiW9o8RdgGGWSKEBXgAzouZN4l0+oo3fO0NUT8VYKZCY9YUn65L+Fch/qnRbzAKOxRKiax/GYJTOyetLL9cG+k4uyc0TqrFSore6u3mfU8ASunyKoEWygAJLz3G8ibUT33oI8mwbkbBwRkw7vUXtuE1KIL0wsjaMAcRjiyezKXZ9rvmGXAHPlaw9GpiFy9VInmxH/nA= Content-ID: MIME-Version: 1.0 X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: ac57dd97-5e5c-4a75-d705-08d73d0d43f8 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Sep 2019 14:25:47.0230 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 54dbd822-5231-4b20-944d-6f4abcd541fb X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: NAmMDCI3Wh2UloWapUSUup+nRzfBUQYcJOrDgBge9aH7X5HES6e5skJvAdjdUHyAYdk5DGrVC7QLJLxAPnl+Qw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3807 X-BeenThere: driverdev-devel@linuxdriverproject.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux Driver Project Developer List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "netdev@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Greg Kroah-Hartman , David Le Goff , "David S . Miller" , Kalle Valo Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: driverdev-devel-bounces@linuxdriverproject.org Sender: "devel" RnJvbTogSsOpcsO0bWUgUG91aWxsZXIgPGplcm9tZS5wb3VpbGxlckBzaWxhYnMuY29tPg0KDQpD aGlwIGNhbiBtYWtlIGZvcmVncm91bmQgc2NhbiBvciBiYWNrZ3JvdW5kLCBidXQgYm90aCBjYW4n dCBiZSBtaXhlZCBpbg0Kc2FtZSByZXF1ZXN0LiBTbywgd2UgbmVlZCB0byBzcGxpdCBlYWNoIG1h YzgwMjExIHJlcXVlc3RzIGludG8gbXVsdGlwbGUNCkhJRiByZXF1ZXN0cy4NCg0KU2lnbmVkLW9m Zi1ieTogSsOpcsO0bWUgUG91aWxsZXIgPGplcm9tZS5wb3VpbGxlckBzaWxhYnMuY29tPg0KLS0t DQogZHJpdmVycy9zdGFnaW5nL3dmeC9NYWtlZmlsZSB8ICAgMSArDQogZHJpdmVycy9zdGFnaW5n L3dmeC9iaC5jICAgICB8ICAgMiArLQ0KIGRyaXZlcnMvc3RhZ2luZy93ZngvaGlmX3J4LmMgfCAg MTMgKysNCiBkcml2ZXJzL3N0YWdpbmcvd2Z4L21haW4uYyAgIHwgICA1ICsNCiBkcml2ZXJzL3N0 YWdpbmcvd2Z4L3NjYW4uYyAgIHwgMjQ5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrDQogZHJpdmVycy9zdGFnaW5nL3dmeC9zY2FuLmggICB8ICA0MiArKysrKysNCiBkcml2ZXJz L3N0YWdpbmcvd2Z4L3N0YS5jICAgIHwgIDIzICsrKy0NCiBkcml2ZXJzL3N0YWdpbmcvd2Z4L3N0 YS5oICAgIHwgICA0ICsNCiBkcml2ZXJzL3N0YWdpbmcvd2Z4L3dmeC5oICAgIHwgIDExICsrDQog OSBmaWxlcyBjaGFuZ2VkLCAzNDggaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkNCiBjcmVh dGUgbW9kZSAxMDA2NDQgZHJpdmVycy9zdGFnaW5nL3dmeC9zY2FuLmMNCiBjcmVhdGUgbW9kZSAx MDA2NDQgZHJpdmVycy9zdGFnaW5nL3dmeC9zY2FuLmgNCg0KZGlmZiAtLWdpdCBhL2RyaXZlcnMv c3RhZ2luZy93ZngvTWFrZWZpbGUgYi9kcml2ZXJzL3N0YWdpbmcvd2Z4L01ha2VmaWxlDQppbmRl eCBkOWUyMTUxNWQwOGUuLjJiOGE1ZmE4NmZhYyAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvc3RhZ2lu Zy93ZngvTWFrZWZpbGUNCisrKyBiL2RyaXZlcnMvc3RhZ2luZy93ZngvTWFrZWZpbGUNCkBAIC0x Miw2ICsxMiw3IEBAIHdmeC15IDo9IFwNCiAJcXVldWUubyBcDQogCWRhdGFfdHgubyBcDQogCWRh dGFfcngubyBcDQorCXNjYW4ubyBcDQogCXN0YS5vIFwNCiAJbWFpbi5vIFwNCiAJc3RhLm8gXA0K ZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy93ZngvYmguYyBiL2RyaXZlcnMvc3RhZ2luZy93 ZngvYmguYw0KaW5kZXggZWQ4MWMzOTI0ZDk4Li42MDAwYzAzYmI2NTggMTAwNjQ0DQotLS0gYS9k cml2ZXJzL3N0YWdpbmcvd2Z4L2JoLmMNCisrKyBiL2RyaXZlcnMvc3RhZ2luZy93ZngvYmguYw0K QEAgLTI2OCw3ICsyNjgsNyBAQCBzdGF0aWMgdm9pZCBiaF93b3JrKHN0cnVjdCB3b3JrX3N0cnVj dCAqd29yaykNCiANCiAJaWYgKGxhc3Rfb3BfaXNfcngpDQogCQlhY2tfc2Rpb19kYXRhKHdkZXYp Ow0KLQlpZiAoIXdkZXYtPmhpZi50eF9idWZmZXJzX3VzZWQgJiYgIXdvcmtfcGVuZGluZyh3b3Jr KSkgew0KKwlpZiAoIXdkZXYtPmhpZi50eF9idWZmZXJzX3VzZWQgJiYgIXdvcmtfcGVuZGluZyh3 b3JrKSAmJiAhYXRvbWljX3JlYWQoJndkZXYtPnNjYW5faW5fcHJvZ3Jlc3MpKSB7DQogCQlkZXZp Y2VfcmVsZWFzZSh3ZGV2KTsNCiAJCXJlbGVhc2VfY2hpcCA9IHRydWU7DQogCX0NCmRpZmYgLS1n aXQgYS9kcml2ZXJzL3N0YWdpbmcvd2Z4L2hpZl9yeC5jIGIvZHJpdmVycy9zdGFnaW5nL3dmeC9o aWZfcnguYw0KaW5kZXggYzA3OTg0YjA1MzVkLi5kMzg2ZmFiMGE5MGYgMTAwNjQ0DQotLS0gYS9k cml2ZXJzL3N0YWdpbmcvd2Z4L2hpZl9yeC5jDQorKysgYi9kcml2ZXJzL3N0YWdpbmcvd2Z4L2hp Zl9yeC5jDQpAQCAtMTEsNiArMTEsNyBAQA0KIA0KICNpbmNsdWRlICJoaWZfcnguaCINCiAjaW5j bHVkZSAid2Z4LmgiDQorI2luY2x1ZGUgInNjYW4uaCINCiAjaW5jbHVkZSAiZGF0YV9yeC5oIg0K ICNpbmNsdWRlICJzZWN1cmVfbGluay5oIg0KICNpbmNsdWRlICJoaWZfYXBpX2NtZC5oIg0KQEAg LTE0Myw2ICsxNDQsMTcgQEAgc3RhdGljIGludCBoaWZfcmVjZWl2ZV9pbmRpY2F0aW9uKHN0cnVj dCB3ZnhfZGV2ICp3ZGV2LCBzdHJ1Y3QgaGlmX21zZyAqaGlmLCB2b2kNCiAJcmV0dXJuIDA7DQog fQ0KIA0KK3N0YXRpYyBpbnQgaGlmX3NjYW5fY29tcGxldGVfaW5kaWNhdGlvbihzdHJ1Y3Qgd2Z4 X2RldiAqd2Rldiwgc3RydWN0IGhpZl9tc2cgKmhpZiwgdm9pZCAqYnVmKQ0KK3sNCisJc3RydWN0 IHdmeF92aWYgKnd2aWYgPSB3ZGV2X3RvX3d2aWYod2RldiwgaGlmLT5pbnRlcmZhY2UpOw0KKwlz dHJ1Y3QgaGlmX2luZF9zY2FuX2NtcGwgKmJvZHkgPSBidWY7DQorDQorCVdBUk5fT04oIXd2aWYp Ow0KKwl3Znhfc2Nhbl9jb21wbGV0ZV9jYih3dmlmLCBib2R5KTsNCisNCisJcmV0dXJuIDA7DQor fQ0KKw0KIHN0YXRpYyBpbnQgaGlmX2pvaW5fY29tcGxldGVfaW5kaWNhdGlvbihzdHJ1Y3Qgd2Z4 X2RldiAqd2Rldiwgc3RydWN0IGhpZl9tc2cgKmhpZiwgdm9pZCAqYnVmKQ0KIHsNCiAJc3RydWN0 IHdmeF92aWYgKnd2aWYgPSB3ZGV2X3RvX3d2aWYod2RldiwgaGlmLT5pbnRlcmZhY2UpOw0KQEAg LTIzMCw2ICsyNDIsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHsNCiAJeyBISUZfSU5EX0lEX1NU QVJUVVAsICAgICAgICAgICAgICBoaWZfc3RhcnR1cF9pbmRpY2F0aW9uIH0sDQogCXsgSElGX0lO RF9JRF9XQUtFVVAsICAgICAgICAgICAgICAgaGlmX3dha2V1cF9pbmRpY2F0aW9uIH0sDQogCXsg SElGX0lORF9JRF9KT0lOX0NPTVBMRVRFLCAgICAgICAgaGlmX2pvaW5fY29tcGxldGVfaW5kaWNh dGlvbiB9LA0KKwl7IEhJRl9JTkRfSURfU0NBTl9DTVBMLCAgICAgICAgICAgIGhpZl9zY2FuX2Nv bXBsZXRlX2luZGljYXRpb24gfSwNCiAJeyBISUZfSU5EX0lEX1NMX0VYQ0hBTkdFX1BVQl9LRVlT LCBoaWZfa2V5c19pbmRpY2F0aW9uIH0sDQogCXsgSElGX0lORF9JRF9HRU5FUklDLCAgICAgICAg ICAgICAgaGlmX2dlbmVyaWNfaW5kaWNhdGlvbiB9LA0KIAl7IEhJRl9JTkRfSURfRVJST1IsICAg ICAgICAgICAgICAgIGhpZl9lcnJvcl9pbmRpY2F0aW9uIH0sDQpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9zdGFnaW5nL3dmeC9tYWluLmMgYi9kcml2ZXJzL3N0YWdpbmcvd2Z4L21haW4uYw0KaW5kZXgg Y2NlNGUzMGRkOTRhLi4wNjIyMGJhYzViNzUgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL3N0YWdpbmcv d2Z4L21haW4uYw0KKysrIGIvZHJpdmVycy9zdGFnaW5nL3dmeC9tYWluLmMNCkBAIC01NSw2ICs1 NSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaWVlZTgwMjExX29wcyB3Znhfb3BzID0gew0KIAku YWRkX2ludGVyZmFjZQkJPSB3ZnhfYWRkX2ludGVyZmFjZSwNCiAJLnJlbW92ZV9pbnRlcmZhY2UJ PSB3ZnhfcmVtb3ZlX2ludGVyZmFjZSwNCiAJLnR4CQkJPSB3ZnhfdHgsDQorCS5od19zY2FuCQk9 IHdmeF9od19zY2FuLA0KIH07DQogDQogYm9vbCB3ZnhfYXBpX29sZGVyX3RoYW4oc3RydWN0IHdm eF9kZXYgKndkZXYsIGludCBtYWpvciwgaW50IG1pbm9yKQ0KQEAgLTIwMyw2ICsyMDQsOCBAQCBz dHJ1Y3Qgd2Z4X2RldiAqd2Z4X2luaXRfY29tbW9uKHN0cnVjdCBkZXZpY2UgKmRldiwNCiAJaHct PmV4dHJhX3R4X2hlYWRyb29tID0gc2l6ZW9mKHN0cnVjdCBoaWZfc2xfbXNnX2hkcikgKyBzaXpl b2Yoc3RydWN0IGhpZl9tc2cpDQogCQkJCSsgc2l6ZW9mKHN0cnVjdCBoaWZfcmVxX3R4KQ0KIAkJ CQkrIDQgLyogYWxpZ25tZW50ICovICsgOCAvKiBUS0lQIElWICovOw0KKwlody0+d2lwaHktPm1h eF9zY2FuX3NzaWRzID0gMjsNCisJaHctPndpcGh5LT5tYXhfc2Nhbl9pZV9sZW4gPSBJRUVFODAy MTFfTUFYX0RBVEFfTEVOOw0KIA0KIAl3ZGV2ID0gaHctPnByaXY7DQogCXdkZXYtPmh3ID0gaHc7 DQpAQCAtMjE0LDYgKzIxNyw3IEBAIHN0cnVjdCB3ZnhfZGV2ICp3ZnhfaW5pdF9jb21tb24oc3Ry dWN0IGRldmljZSAqZGV2LA0KIAl3ZGV2LT5wZGF0YS5ncGlvX3dha2V1cCA9IHdmeF9nZXRfZ3Bp byhkZXYsIGdwaW9fd2FrZXVwLCAid2FrZXVwIik7DQogCXdmeF9maWxsX3NsX2tleShkZXYsICZ3 ZGV2LT5wZGF0YSk7DQogDQorCW11dGV4X2luaXQoJndkZXYtPmNvbmZfbXV0ZXgpOw0KIAltdXRl eF9pbml0KCZ3ZGV2LT5yeF9zdGF0c19sb2NrKTsNCiAJaW5pdF9jb21wbGV0aW9uKCZ3ZGV2LT5m aXJtd2FyZV9yZWFkeSk7DQogCXdmeF9pbml0X2hpZl9jbWQoJndkZXYtPmhpZl9jbWQpOw0KQEAg LTIyNSw2ICsyMjksNyBAQCBzdHJ1Y3Qgd2Z4X2RldiAqd2Z4X2luaXRfY29tbW9uKHN0cnVjdCBk ZXZpY2UgKmRldiwNCiB2b2lkIHdmeF9mcmVlX2NvbW1vbihzdHJ1Y3Qgd2Z4X2RldiAqd2RldikN CiB7DQogCW11dGV4X2Rlc3Ryb3koJndkZXYtPnJ4X3N0YXRzX2xvY2spOw0KKwltdXRleF9kZXN0 cm95KCZ3ZGV2LT5jb25mX211dGV4KTsNCiAJd2Z4X3R4X3F1ZXVlc19kZWluaXQod2Rldik7DQog CWllZWU4MDIxMV9mcmVlX2h3KHdkZXYtPmh3KTsNCiB9DQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9z dGFnaW5nL3dmeC9zY2FuLmMgYi9kcml2ZXJzL3N0YWdpbmcvd2Z4L3NjYW4uYw0KbmV3IGZpbGUg bW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwMC4uMjA3YjI2ZWJjOWZkDQotLS0gL2Rldi9u dWxsDQorKysgYi9kcml2ZXJzL3N0YWdpbmcvd2Z4L3NjYW4uYw0KQEAgLTAsMCArMSwyNDkgQEAN CisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5DQorLyoNCisgKiBTY2Fu IHJlbGF0ZWQgZnVuY3Rpb25zLg0KKyAqDQorICogQ29weXJpZ2h0IChjKSAyMDE3LTIwMTksIFNp bGljb24gTGFib3JhdG9yaWVzLCBJbmMuDQorICogQ29weXJpZ2h0IChjKSAyMDEwLCBTVC1Fcmlj c3Nvbg0KKyAqLw0KKyNpbmNsdWRlIDxuZXQvbWFjODAyMTEuaD4NCisNCisjaW5jbHVkZSAic2Nh bi5oIg0KKyNpbmNsdWRlICJ3ZnguaCINCisjaW5jbHVkZSAic3RhLmgiDQorI2luY2x1ZGUgImhp Zl90eF9taWIuaCINCisNCitzdGF0aWMgdm9pZCBfX2llZWU4MDIxMV9zY2FuX2NvbXBsZXRlZF9j b21wYXQoc3RydWN0IGllZWU4MDIxMV9odyAqaHcsIGJvb2wgYWJvcnRlZCkNCit7DQorCXN0cnVj dCBjZmc4MDIxMV9zY2FuX2luZm8gaW5mbyA9IHsNCisJCS5hYm9ydGVkID0gYWJvcnRlZCA/IDEg OiAwLA0KKwl9Ow0KKw0KKwlpZWVlODAyMTFfc2Nhbl9jb21wbGV0ZWQoaHcsICZpbmZvKTsNCit9 DQorDQorc3RhdGljIGludCB3Znhfc2Nhbl9zdGFydChzdHJ1Y3Qgd2Z4X3ZpZiAqd3ZpZiwgc3Ry dWN0IHdmeF9zY2FuX3BhcmFtcyAqc2NhbikNCit7DQorCWludCByZXQ7DQorCWludCB0bW8gPSA1 MDA7DQorDQorCXRtbyArPSBzY2FuLT5zY2FuX3JlcS5udW1fb2ZfY2hhbm5lbHMgKg0KKwkgICAg ICAgKCgyMCAqIChzY2FuLT5zY2FuX3JlcS5tYXhfY2hhbm5lbF90aW1lKSkgKyAxMCk7DQorCWF0 b21pY19zZXQoJnd2aWYtPnNjYW4uaW5fcHJvZ3Jlc3MsIDEpOw0KKwlhdG9taWNfc2V0KCZ3dmlm LT53ZGV2LT5zY2FuX2luX3Byb2dyZXNzLCAxKTsNCisNCisJc2NoZWR1bGVfZGVsYXllZF93b3Jr KCZ3dmlmLT5zY2FuLnRpbWVvdXQsIG1zZWNzX3RvX2ppZmZpZXModG1vKSk7DQorCXJldCA9IGhp Zl9zY2FuKHd2aWYsIHNjYW4pOw0KKwlpZiAocmV0KSB7DQorCQl3Znhfc2Nhbl9mYWlsZWRfY2Io d3ZpZik7DQorCQlhdG9taWNfc2V0KCZ3dmlmLT5zY2FuLmluX3Byb2dyZXNzLCAwKTsNCisJCWF0 b21pY19zZXQoJnd2aWYtPndkZXYtPnNjYW5faW5fcHJvZ3Jlc3MsIDApOw0KKwkJY2FuY2VsX2Rl bGF5ZWRfd29ya19zeW5jKCZ3dmlmLT5zY2FuLnRpbWVvdXQpOw0KKwl9DQorCXJldHVybiByZXQ7 DQorfQ0KKw0KK2ludCB3ZnhfaHdfc2NhbihzdHJ1Y3QgaWVlZTgwMjExX2h3ICpodywNCisJCSAg IHN0cnVjdCBpZWVlODAyMTFfdmlmICp2aWYsDQorCQkgICBzdHJ1Y3QgaWVlZTgwMjExX3NjYW5f cmVxdWVzdCAqaHdfcmVxKQ0KK3sNCisJc3RydWN0IHdmeF9kZXYgKndkZXYgPSBody0+cHJpdjsN CisJc3RydWN0IHdmeF92aWYgKnd2aWYgPSAoc3RydWN0IHdmeF92aWYgKikgdmlmLT5kcnZfcHJp djsNCisJc3RydWN0IGNmZzgwMjExX3NjYW5fcmVxdWVzdCAqcmVxID0gJmh3X3JlcS0+cmVxOw0K KwlzdHJ1Y3Qgc2tfYnVmZiAqc2tiOw0KKwlpbnQgaSwgcmV0Ow0KKwlzdHJ1Y3QgaGlmX21pYl90 ZW1wbGF0ZV9mcmFtZSAqcDsNCisNCisJaWYgKCF3dmlmKQ0KKwkJcmV0dXJuIC1FSU5WQUw7DQor DQorCWlmIChyZXEtPm5fc3NpZHMgPT0gMSAmJiAhcmVxLT5zc2lkc1swXS5zc2lkX2xlbikNCisJ CXJlcS0+bl9zc2lkcyA9IDA7DQorDQorCWlmIChyZXEtPm5fc3NpZHMgPiBISUZfQVBJX01BWF9O Ql9TU0lEUykNCisJCXJldHVybiAtRUlOVkFMOw0KKw0KKwlza2IgPSBpZWVlODAyMTFfcHJvYmVy ZXFfZ2V0KGh3LCB3dmlmLT52aWYtPmFkZHIsIE5VTEwsIDAsIHJlcS0+aWVfbGVuKTsNCisJaWYg KCFza2IpDQorCQlyZXR1cm4gLUVOT01FTTsNCisNCisJaWYgKHJlcS0+aWVfbGVuKQ0KKwkJbWVt Y3B5KHNrYl9wdXQoc2tiLCByZXEtPmllX2xlbiksIHJlcS0+aWUsIHJlcS0+aWVfbGVuKTsNCisN CisJbXV0ZXhfbG9jaygmd2Rldi0+Y29uZl9tdXRleCk7DQorDQorCXAgPSAoc3RydWN0IGhpZl9t aWJfdGVtcGxhdGVfZnJhbWUgKilza2JfcHVzaChza2IsIDQpOw0KKwlwLT5mcmFtZV90eXBlID0g SElGX1RNUExUX1BSQlJFUTsNCisJcC0+ZnJhbWVfbGVuZ3RoID0gY3B1X3RvX2xlMTYoc2tiLT5s ZW4gLSA0KTsNCisJcmV0ID0gaGlmX3NldF90ZW1wbGF0ZV9mcmFtZSh3dmlmLCBwKTsNCisJc2ti X3B1bGwoc2tiLCA0KTsNCisNCisJaWYgKCFyZXQpDQorCQkvKiBIb3N0IHdhbnQgdG8gYmUgdGhl IHByb2JlIHJlc3BvbmRlci4gKi8NCisJCXJldCA9IHdmeF9md2RfcHJvYmVfcmVxKHd2aWYsIHRy dWUpOw0KKwlpZiAocmV0KSB7DQorCQltdXRleF91bmxvY2soJndkZXYtPmNvbmZfbXV0ZXgpOw0K KwkJZGV2X2tmcmVlX3NrYihza2IpOw0KKwkJcmV0dXJuIHJldDsNCisJfQ0KKw0KKwl3ZnhfdHhf bG9ja19mbHVzaCh3ZGV2KTsNCisNCisJQlVHX09OKHd2aWYtPnNjYW4ucmVxKTsNCisJd3ZpZi0+ c2Nhbi5yZXEgPSByZXE7DQorCXd2aWYtPnNjYW4ubl9zc2lkcyA9IDA7DQorCXd2aWYtPnNjYW4u c3RhdHVzID0gMDsNCisJd3ZpZi0+c2Nhbi5iZWdpbiA9ICZyZXEtPmNoYW5uZWxzWzBdOw0KKwl3 dmlmLT5zY2FuLmN1cnIgPSB3dmlmLT5zY2FuLmJlZ2luOw0KKwl3dmlmLT5zY2FuLmVuZCA9ICZy ZXEtPmNoYW5uZWxzW3JlcS0+bl9jaGFubmVsc107DQorCXd2aWYtPnNjYW4ub3V0cHV0X3Bvd2Vy ID0gd2Rldi0+b3V0cHV0X3Bvd2VyOw0KKw0KKwlmb3IgKGkgPSAwOyBpIDwgcmVxLT5uX3NzaWRz OyArK2kpIHsNCisJCXN0cnVjdCBoaWZfc3NpZF9kZWYgKmRzdCA9ICZ3dmlmLT5zY2FuLnNzaWRz W3d2aWYtPnNjYW4ubl9zc2lkc107DQorDQorCQltZW1jcHkoJmRzdC0+c3NpZFswXSwgcmVxLT5z c2lkc1tpXS5zc2lkLCBzaXplb2YoZHN0LT5zc2lkKSk7DQorCQlkc3QtPnNzaWRfbGVuZ3RoID0g cmVxLT5zc2lkc1tpXS5zc2lkX2xlbjsNCisJCSsrd3ZpZi0+c2Nhbi5uX3NzaWRzOw0KKwl9DQor DQorCW11dGV4X3VubG9jaygmd2Rldi0+Y29uZl9tdXRleCk7DQorDQorCWlmIChza2IpDQorCQlk ZXZfa2ZyZWVfc2tiKHNrYik7DQorCXNjaGVkdWxlX3dvcmsoJnd2aWYtPnNjYW4ud29yayk7DQor CXJldHVybiAwOw0KK30NCisNCit2b2lkIHdmeF9zY2FuX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0 ICp3b3JrKQ0KK3sNCisJc3RydWN0IHdmeF92aWYgKnd2aWYgPSBjb250YWluZXJfb2Yod29yaywg c3RydWN0IHdmeF92aWYsIHNjYW4ud29yayk7DQorCXN0cnVjdCBpZWVlODAyMTFfY2hhbm5lbCAq Kml0Ow0KKwlzdHJ1Y3Qgd2Z4X3NjYW5fcGFyYW1zIHNjYW4gPSB7DQorCQkuc2Nhbl9yZXEuc2Nh bl90eXBlLnR5cGUgPSAwLCAgICAvKiBGb3JlZ3JvdW5kICovDQorCX07DQorCXN0cnVjdCBpZWVl ODAyMTFfY2hhbm5lbCAqZmlyc3Q7DQorCWludCBpOw0KKw0KKwlkb3duKCZ3dmlmLT5zY2FuLmxv Y2spOw0KKwltdXRleF9sb2NrKCZ3dmlmLT53ZGV2LT5jb25mX211dGV4KTsNCisNCisJaWYgKCF3 dmlmLT5zY2FuLnJlcSB8fCB3dmlmLT5zY2FuLmN1cnIgPT0gd3ZpZi0+c2Nhbi5lbmQpIHsNCisJ CWlmICh3dmlmLT5zY2FuLm91dHB1dF9wb3dlciAhPSB3dmlmLT53ZGV2LT5vdXRwdXRfcG93ZXIp DQorCQkJaGlmX3NldF9vdXRwdXRfcG93ZXIod3ZpZiwgd3ZpZi0+d2Rldi0+b3V0cHV0X3Bvd2Vy ICogMTApOw0KKw0KKwkJaWYgKHd2aWYtPnNjYW4uc3RhdHVzIDwgMCkNCisJCQlkZXZfd2Fybih3 dmlmLT53ZGV2LT5kZXYsICJzY2FuIGZhaWxlZFxuIik7DQorCQllbHNlIGlmICh3dmlmLT5zY2Fu LnJlcSkNCisJCQlkZXZfZGJnKHd2aWYtPndkZXYtPmRldiwgInNjYW4gY29tcGxldGVkXG4iKTsN CisJCWVsc2UNCisJCQlkZXZfZGJnKHd2aWYtPndkZXYtPmRldiwgInNjYW4gY2FuY2VsZWRcbiIp Ow0KKw0KKwkJd3ZpZi0+c2Nhbi5yZXEgPSBOVUxMOw0KKwkJd2Z4X3R4X3VubG9jayh3dmlmLT53 ZGV2KTsNCisJCW11dGV4X3VubG9jaygmd3ZpZi0+d2Rldi0+Y29uZl9tdXRleCk7DQorCQlfX2ll ZWU4MDIxMV9zY2FuX2NvbXBsZXRlZF9jb21wYXQod3ZpZi0+d2Rldi0+aHcsIHd2aWYtPnNjYW4u c3RhdHVzID8gMSA6IDApOw0KKwkJdXAoJnd2aWYtPnNjYW4ubG9jayk7DQorCQlyZXR1cm47DQor CX0NCisJZmlyc3QgPSAqd3ZpZi0+c2Nhbi5jdXJyOw0KKw0KKwlmb3IgKGl0ID0gd3ZpZi0+c2Nh bi5jdXJyICsgMSwgaSA9IDE7DQorCSAgICAgaXQgIT0gd3ZpZi0+c2Nhbi5lbmQgJiYgaSA8IEhJ Rl9BUElfTUFYX05CX0NIQU5ORUxTOw0KKwkgICAgICsraXQsICsraSkgew0KKwkJaWYgKCgqaXQp LT5iYW5kICE9IGZpcnN0LT5iYW5kKQ0KKwkJCWJyZWFrOw0KKwkJaWYgKCgoKml0KS0+ZmxhZ3Mg XiBmaXJzdC0+ZmxhZ3MpICYNCisJCQkJSUVFRTgwMjExX0NIQU5fTk9fSVIpDQorCQkJYnJlYWs7 DQorCQlpZiAoIShmaXJzdC0+ZmxhZ3MgJiBJRUVFODAyMTFfQ0hBTl9OT19JUikgJiYNCisJCSAg ICAoKml0KS0+bWF4X3Bvd2VyICE9IGZpcnN0LT5tYXhfcG93ZXIpDQorCQkJYnJlYWs7DQorCX0N CisJc2Nhbi5zY2FuX3JlcS5iYW5kID0gZmlyc3QtPmJhbmQ7DQorDQorCWlmICh3dmlmLT5zY2Fu LnJlcS0+bm9fY2NrKQ0KKwkJc2Nhbi5zY2FuX3JlcS5tYXhfdHJhbnNtaXRfcmF0ZSA9IEFQSV9S QVRFX0lOREVYX0dfNk1CUFM7DQorCWVsc2UNCisJCXNjYW4uc2Nhbl9yZXEubWF4X3RyYW5zbWl0 X3JhdGUgPSBBUElfUkFURV9JTkRFWF9CXzFNQlBTOw0KKwlzY2FuLnNjYW5fcmVxLm51bV9vZl9w cm9iZV9yZXF1ZXN0cyA9DQorCQkoZmlyc3QtPmZsYWdzICYgSUVFRTgwMjExX0NIQU5fTk9fSVIp ID8gMCA6IDI7DQorCXNjYW4uc2Nhbl9yZXEubnVtX29mX3NzaV9kcyA9IHd2aWYtPnNjYW4ubl9z c2lkczsNCisJc2Nhbi5zc2lkcyA9ICZ3dmlmLT5zY2FuLnNzaWRzWzBdOw0KKwlzY2FuLnNjYW5f cmVxLm51bV9vZl9jaGFubmVscyA9IGl0IC0gd3ZpZi0+c2Nhbi5jdXJyOw0KKwlzY2FuLnNjYW5f cmVxLnByb2JlX2RlbGF5ID0gMTAwOw0KKw0KKwlzY2FuLmNoID0ga2NhbGxvYyhzY2FuLnNjYW5f cmVxLm51bV9vZl9jaGFubmVscywgc2l6ZW9mKHU4KSwgR0ZQX0tFUk5FTCk7DQorDQorCWlmICgh c2Nhbi5jaCkgew0KKwkJd3ZpZi0+c2Nhbi5zdGF0dXMgPSAtRU5PTUVNOw0KKwkJZ290byBmYWls Ow0KKwl9DQorCWZvciAoaSA9IDA7IGkgPCBzY2FuLnNjYW5fcmVxLm51bV9vZl9jaGFubmVsczsg KytpKQ0KKwkJc2Nhbi5jaFtpXSA9IHd2aWYtPnNjYW4uY3VycltpXS0+aHdfdmFsdWU7DQorDQor CWlmICh3dmlmLT5zY2FuLmN1cnJbMF0tPmZsYWdzICYgSUVFRTgwMjExX0NIQU5fTk9fSVIpIHsN CisJCXNjYW4uc2Nhbl9yZXEubWluX2NoYW5uZWxfdGltZSA9IDUwOw0KKwkJc2Nhbi5zY2FuX3Jl cS5tYXhfY2hhbm5lbF90aW1lID0gMTUwOw0KKwl9IGVsc2Ugew0KKwkJc2Nhbi5zY2FuX3JlcS5t aW5fY2hhbm5lbF90aW1lID0gMTA7DQorCQlzY2FuLnNjYW5fcmVxLm1heF9jaGFubmVsX3RpbWUg PSA1MDsNCisJfQ0KKwlpZiAoIShmaXJzdC0+ZmxhZ3MgJiBJRUVFODAyMTFfQ0hBTl9OT19JUikg JiYNCisJICAgIHd2aWYtPnNjYW4ub3V0cHV0X3Bvd2VyICE9IGZpcnN0LT5tYXhfcG93ZXIpIHsN CisJCXd2aWYtPnNjYW4ub3V0cHV0X3Bvd2VyID0gZmlyc3QtPm1heF9wb3dlcjsNCisJCWhpZl9z ZXRfb3V0cHV0X3Bvd2VyKHd2aWYsIHd2aWYtPnNjYW4ub3V0cHV0X3Bvd2VyICogMTApOw0KKwl9 DQorCXd2aWYtPnNjYW4uc3RhdHVzID0gd2Z4X3NjYW5fc3RhcnQod3ZpZiwgJnNjYW4pOw0KKwlr ZnJlZShzY2FuLmNoKTsNCisJaWYgKHd2aWYtPnNjYW4uc3RhdHVzKQ0KKwkJZ290byBmYWlsOw0K Kwl3dmlmLT5zY2FuLmN1cnIgPSBpdDsNCisJbXV0ZXhfdW5sb2NrKCZ3dmlmLT53ZGV2LT5jb25m X211dGV4KTsNCisJcmV0dXJuOw0KKw0KK2ZhaWw6DQorCXd2aWYtPnNjYW4uY3VyciA9IHd2aWYt PnNjYW4uZW5kOw0KKwltdXRleF91bmxvY2soJnd2aWYtPndkZXYtPmNvbmZfbXV0ZXgpOw0KKwl1 cCgmd3ZpZi0+c2Nhbi5sb2NrKTsNCisJc2NoZWR1bGVfd29yaygmd3ZpZi0+c2Nhbi53b3JrKTsN Cit9DQorDQorc3RhdGljIHZvaWQgd2Z4X3NjYW5fY29tcGxldGUoc3RydWN0IHdmeF92aWYgKnd2 aWYpDQorew0KKwl1cCgmd3ZpZi0+c2Nhbi5sb2NrKTsNCisJYXRvbWljX3NldCgmd3ZpZi0+d2Rl di0+c2Nhbl9pbl9wcm9ncmVzcywgMCk7DQorDQorCXdmeF9zY2FuX3dvcmsoJnd2aWYtPnNjYW4u d29yayk7DQorfQ0KKw0KK3ZvaWQgd2Z4X3NjYW5fZmFpbGVkX2NiKHN0cnVjdCB3ZnhfdmlmICp3 dmlmKQ0KK3sNCisJaWYgKGNhbmNlbF9kZWxheWVkX3dvcmtfc3luYygmd3ZpZi0+c2Nhbi50aW1l b3V0KSA+IDApIHsNCisJCXd2aWYtPnNjYW4uc3RhdHVzID0gLUVJTzsNCisJCXNjaGVkdWxlX3dv cmsoJnd2aWYtPnNjYW4udGltZW91dC53b3JrKTsNCisJfQ0KK30NCisNCit2b2lkIHdmeF9zY2Fu X2NvbXBsZXRlX2NiKHN0cnVjdCB3ZnhfdmlmICp3dmlmLCBzdHJ1Y3QgaGlmX2luZF9zY2FuX2Nt cGwgKmFyZykNCit7DQorCWlmIChjYW5jZWxfZGVsYXllZF93b3JrX3N5bmMoJnd2aWYtPnNjYW4u dGltZW91dCkgPiAwKSB7DQorCQl3dmlmLT5zY2FuLnN0YXR1cyA9IDE7DQorCQlzY2hlZHVsZV93 b3JrKCZ3dmlmLT5zY2FuLnRpbWVvdXQud29yayk7DQorCX0NCit9DQorDQordm9pZCB3Znhfc2Nh bl90aW1lb3V0KHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykNCit7DQorCXN0cnVjdCB3Znhfdmlm ICp3dmlmID0gY29udGFpbmVyX29mKHdvcmssIHN0cnVjdCB3ZnhfdmlmLCBzY2FuLnRpbWVvdXQu d29yayk7DQorDQorCWlmIChhdG9taWNfeGNoZygmd3ZpZi0+c2Nhbi5pbl9wcm9ncmVzcywgMCkp IHsNCisJCWlmICh3dmlmLT5zY2FuLnN0YXR1cyA+IDApIHsNCisJCQl3dmlmLT5zY2FuLnN0YXR1 cyA9IDA7DQorCQl9IGVsc2UgaWYgKCF3dmlmLT5zY2FuLnN0YXR1cykgew0KKwkJCWRldl93YXJu KHd2aWYtPndkZXYtPmRldiwgInRpbWVvdXQgd2FpdGluZyBmb3Igc2NhbiBjb21wbGV0ZSBub3Rp ZmljYXRpb25cbiIpOw0KKwkJCXd2aWYtPnNjYW4uc3RhdHVzID0gLUVUSU1FRE9VVDsNCisJCQl3 dmlmLT5zY2FuLmN1cnIgPSB3dmlmLT5zY2FuLmVuZDsNCisJCQloaWZfc3RvcF9zY2FuKHd2aWYp Ow0KKwkJfQ0KKwkJd2Z4X3NjYW5fY29tcGxldGUod3ZpZik7DQorCX0NCit9DQpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9zdGFnaW5nL3dmeC9zY2FuLmggYi9kcml2ZXJzL3N0YWdpbmcvd2Z4L3NjYW4u aA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwMC4uYjRkZGQwNzcxYTli DQotLS0gL2Rldi9udWxsDQorKysgYi9kcml2ZXJzL3N0YWdpbmcvd2Z4L3NjYW4uaA0KQEAgLTAs MCArMSw0MiBAQA0KKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkgKi8N CisvKg0KKyAqIFNjYW4gcmVsYXRlZCBmdW5jdGlvbnMuDQorICoNCisgKiBDb3B5cmlnaHQgKGMp IDIwMTctMjAxOSwgU2lsaWNvbiBMYWJvcmF0b3JpZXMsIEluYy4NCisgKiBDb3B5cmlnaHQgKGMp IDIwMTAsIFNULUVyaWNzc29uDQorICovDQorI2lmbmRlZiBXRlhfU0NBTl9IDQorI2RlZmluZSBX RlhfU0NBTl9IDQorDQorI2luY2x1ZGUgPGxpbnV4L3NlbWFwaG9yZS5oPg0KKyNpbmNsdWRlIDxs aW51eC93b3JrcXVldWUuaD4NCisjaW5jbHVkZSA8bmV0L21hYzgwMjExLmg+DQorDQorI2luY2x1 ZGUgImhpZl9hcGlfY21kLmgiDQorDQorc3RydWN0IHdmeF9kZXY7DQorc3RydWN0IHdmeF92aWY7 DQorDQorc3RydWN0IHdmeF9zY2FuIHsNCisJc3RydWN0IHNlbWFwaG9yZSBsb2NrOw0KKwlzdHJ1 Y3Qgd29ya19zdHJ1Y3Qgd29yazsNCisJc3RydWN0IGRlbGF5ZWRfd29yayB0aW1lb3V0Ow0KKwlz dHJ1Y3QgY2ZnODAyMTFfc2Nhbl9yZXF1ZXN0ICpyZXE7DQorCXN0cnVjdCBpZWVlODAyMTFfY2hh bm5lbCAqKmJlZ2luOw0KKwlzdHJ1Y3QgaWVlZTgwMjExX2NoYW5uZWwgKipjdXJyOw0KKwlzdHJ1 Y3QgaWVlZTgwMjExX2NoYW5uZWwgKiplbmQ7DQorCXN0cnVjdCBoaWZfc3NpZF9kZWYgc3NpZHNb SElGX0FQSV9NQVhfTkJfU1NJRFNdOw0KKwlpbnQgb3V0cHV0X3Bvd2VyOw0KKwlpbnQgbl9zc2lk czsNCisJaW50IHN0YXR1czsNCisJYXRvbWljX3QgaW5fcHJvZ3Jlc3M7DQorfTsNCisNCitpbnQg d2Z4X2h3X3NjYW4oc3RydWN0IGllZWU4MDIxMV9odyAqaHcsIHN0cnVjdCBpZWVlODAyMTFfdmlm ICp2aWYsDQorCQlzdHJ1Y3QgaWVlZTgwMjExX3NjYW5fcmVxdWVzdCAqcmVxKTsNCit2b2lkIHdm eF9zY2FuX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKTsNCit2b2lkIHdmeF9zY2FuX3Rp bWVvdXQoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKTsNCit2b2lkIHdmeF9zY2FuX2NvbXBsZXRl X2NiKHN0cnVjdCB3ZnhfdmlmICp3dmlmLCBzdHJ1Y3QgaGlmX2luZF9zY2FuX2NtcGwgKmFyZyk7 DQordm9pZCB3Znhfc2Nhbl9mYWlsZWRfY2Ioc3RydWN0IHdmeF92aWYgKnd2aWYpOw0KKw0KKyNl bmRpZiAvKiBXRlhfU0NBTl9IICovDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL3dmeC9z dGEuYyBiL2RyaXZlcnMvc3RhZ2luZy93Zngvc3RhLmMNCmluZGV4IDU3MTRhYmExNDMyYy4uNWE4 MTQwMTAwZTk3IDEwMDY0NA0KLS0tIGEvZHJpdmVycy9zdGFnaW5nL3dmeC9zdGEuYw0KKysrIGIv ZHJpdmVycy9zdGFnaW5nL3dmeC9zdGEuYw0KQEAgLTksOSArOSwxOCBAQA0KIA0KICNpbmNsdWRl ICJzdGEuaCINCiAjaW5jbHVkZSAid2Z4LmgiDQorI2luY2x1ZGUgInNjYW4uaCINCisjaW5jbHVk ZSAiaGlmX3R4X21pYi5oIg0KIA0KICNkZWZpbmUgVFhPUF9VTklUIDMyDQogDQoraW50IHdmeF9m d2RfcHJvYmVfcmVxKHN0cnVjdCB3ZnhfdmlmICp3dmlmLCBib29sIGVuYWJsZSkNCit7DQorCXd2 aWYtPmZ3ZF9wcm9iZV9yZXEgPSBlbmFibGU7DQorCXJldHVybiBoaWZfc2V0X3J4X2ZpbHRlcih3 dmlmLCB3dmlmLT5maWx0ZXJfYnNzaWQsDQorCQkJCSB3dmlmLT5md2RfcHJvYmVfcmVxKTsNCit9 DQorDQogc3RhdGljIGludCB3Znhfc2V0X3RpbV9pbXBsKHN0cnVjdCB3ZnhfdmlmICp3dmlmLCBi b29sIGFpZDBfYml0X3NldCkNCiB7DQogCXN0cnVjdCBza19idWZmICpza2I7DQpAQCAtMTI4LDYg KzEzNyw4IEBAIGludCB3ZnhfYWRkX2ludGVyZmFjZShzdHJ1Y3QgaWVlZTgwMjExX2h3ICpodywg c3RydWN0IGllZWU4MDIxMV92aWYgKnZpZikNCiAJCWRlZmF1bHRfZWRjYV9wYXJhbXNbSUVFRTgw MjExX0FDX0JLXS5xdWV1ZV9pZCA9IEhJRl9RVUVVRV9JRF9CRVNURUZGT1JUOw0KIAl9DQogDQor CW11dGV4X2xvY2soJndkZXYtPmNvbmZfbXV0ZXgpOw0KKw0KIAlmb3IgKGkgPSAwOyBpIDwgQVJS QVlfU0laRSh3ZGV2LT52aWYpOyBpKyspIHsNCiAJCWlmICghd2Rldi0+dmlmW2ldKSB7DQogCQkJ d2Rldi0+dmlmW2ldID0gdmlmOw0KQEAgLTEzNSw4ICsxNDYsMTAgQEAgaW50IHdmeF9hZGRfaW50 ZXJmYWNlKHN0cnVjdCBpZWVlODAyMTFfaHcgKmh3LCBzdHJ1Y3QgaWVlZTgwMjExX3ZpZiAqdmlm KQ0KIAkJCWJyZWFrOw0KIAkJfQ0KIAl9DQotCWlmIChpID09IEFSUkFZX1NJWkUod2Rldi0+dmlm KSkNCisJaWYgKGkgPT0gQVJSQVlfU0laRSh3ZGV2LT52aWYpKSB7DQorCQltdXRleF91bmxvY2so JndkZXYtPmNvbmZfbXV0ZXgpOw0KIAkJcmV0dXJuIC1FT1BOT1RTVVBQOw0KKwl9DQogCXd2aWYt PnZpZiA9IHZpZjsNCiAJd3ZpZi0+d2RldiA9IHdkZXY7DQogDQpAQCAtMTQ4LDYgKzE2MSwxMiBA QCBpbnQgd2Z4X2FkZF9pbnRlcmZhY2Uoc3RydWN0IGllZWU4MDIxMV9odyAqaHcsIHN0cnVjdCBp ZWVlODAyMTFfdmlmICp2aWYpDQogCUlOSVRfV09SSygmd3ZpZi0+bWNhc3Rfc3RhcnRfd29yaywg d2Z4X21jYXN0X3N0YXJ0X3dvcmspOw0KIAlJTklUX1dPUksoJnd2aWYtPm1jYXN0X3N0b3Bfd29y aywgd2Z4X21jYXN0X3N0b3Bfd29yayk7DQogCXRpbWVyX3NldHVwKCZ3dmlmLT5tY2FzdF90aW1l b3V0LCB3ZnhfbWNhc3RfdGltZW91dCwgMCk7DQorDQorCXNlbWFfaW5pdCgmd3ZpZi0+c2Nhbi5s b2NrLCAxKTsNCisJSU5JVF9XT1JLKCZ3dmlmLT5zY2FuLndvcmssIHdmeF9zY2FuX3dvcmspOw0K KwlJTklUX0RFTEFZRURfV09SSygmd3ZpZi0+c2Nhbi50aW1lb3V0LCB3Znhfc2Nhbl90aW1lb3V0 KTsNCisNCisJbXV0ZXhfdW5sb2NrKCZ3ZGV2LT5jb25mX211dGV4KTsNCiAJQlVHX09OKEFSUkFZ X1NJWkUoZGVmYXVsdF9lZGNhX3BhcmFtcykgIT0gQVJSQVlfU0laRSh3dmlmLT5lZGNhLnBhcmFt cykpOw0KIAlmb3IgKGkgPSAwOyBpIDwgSUVFRTgwMjExX05VTV9BQ1M7IGkrKykNCiAJCW1lbWNw eSgmd3ZpZi0+ZWRjYS5wYXJhbXNbaV0sICZkZWZhdWx0X2VkY2FfcGFyYW1zW2ldLCBzaXplb2Yo ZGVmYXVsdF9lZGNhX3BhcmFtc1tpXSkpOw0KQEAgLTE3NSw3ICsxOTQsOSBAQCB2b2lkIHdmeF9z dG9wKHN0cnVjdCBpZWVlODAyMTFfaHcgKmh3KQ0KIAlzdHJ1Y3Qgd2Z4X2RldiAqd2RldiA9IGh3 LT5wcml2Ow0KIA0KIAl3ZnhfdHhfbG9ja19mbHVzaCh3ZGV2KTsNCisJbXV0ZXhfbG9jaygmd2Rl di0+Y29uZl9tdXRleCk7DQogCXdmeF90eF9xdWV1ZXNfY2xlYXIod2Rldik7DQorCW11dGV4X3Vu bG9jaygmd2Rldi0+Y29uZl9tdXRleCk7DQogCXdmeF90eF91bmxvY2sod2Rldik7DQogCVdBUk4o YXRvbWljX3JlYWQoJndkZXYtPnR4X2xvY2spLCAidHhfbG9jayBpcyBsb2NrZWQiKTsNCiB9DQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL3dmeC9zdGEuaCBiL2RyaXZlcnMvc3RhZ2luZy93 Zngvc3RhLmgNCmluZGV4IGYzNmQ5NGY5MDdjNy4uZGQxYjZiM2ZjMmYxIDEwMDY0NA0KLS0tIGEv ZHJpdmVycy9zdGFnaW5nL3dmeC9zdGEuaA0KKysrIGIvZHJpdmVycy9zdGFnaW5nL3dmeC9zdGEu aA0KQEAgLTEyLDYgKzEyLDggQEANCiANCiAjaW5jbHVkZSAiaGlmX2FwaV9jbWQuaCINCiANCitz dHJ1Y3Qgd2Z4X3ZpZjsNCisNCiBzdHJ1Y3Qgd2Z4X2VkY2FfcGFyYW1zIHsNCiAJLyogTk9URTog aW5kZXggaXMgYSBsaW51eCBxdWV1ZSBpZC4gKi8NCiAJc3RydWN0IGhpZl9yZXFfZWRjYV9xdWV1 ZV9wYXJhbXMgcGFyYW1zW0lFRUU4MDIxMV9OVU1fQUNTXTsNCkBAIC0yOSw0ICszMSw2IEBAIHZv aWQgd2Z4X3N0b3Aoc3RydWN0IGllZWU4MDIxMV9odyAqaHcpOw0KIGludCB3ZnhfYWRkX2ludGVy ZmFjZShzdHJ1Y3QgaWVlZTgwMjExX2h3ICpodywgc3RydWN0IGllZWU4MDIxMV92aWYgKnZpZik7 DQogdm9pZCB3ZnhfcmVtb3ZlX2ludGVyZmFjZShzdHJ1Y3QgaWVlZTgwMjExX2h3ICpodywgc3Ry dWN0IGllZWU4MDIxMV92aWYgKnZpZik7DQogDQoraW50IHdmeF9md2RfcHJvYmVfcmVxKHN0cnVj dCB3ZnhfdmlmICp3dmlmLCBib29sIGVuYWJsZSk7DQorDQogI2VuZGlmIC8qIFdGWF9TVEFfSCAq Lw0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy93Zngvd2Z4LmggYi9kcml2ZXJzL3N0YWdp bmcvd2Z4L3dmeC5oDQppbmRleCAxMTc3NWIxZTA2ZWYuLjUwYzBkOWMwZTUyOCAxMDA2NDQNCi0t LSBhL2RyaXZlcnMvc3RhZ2luZy93Zngvd2Z4LmgNCisrKyBiL2RyaXZlcnMvc3RhZ2luZy93Zngv d2Z4LmgNCkBAIC0xOSw2ICsxOSw3IEBADQogI2luY2x1ZGUgInF1ZXVlLmgiDQogI2luY2x1ZGUg InNlY3VyZV9saW5rLmgiDQogI2luY2x1ZGUgInN0YS5oIg0KKyNpbmNsdWRlICJzY2FuLmgiDQog I2luY2x1ZGUgImhpZl90eC5oIg0KICNpbmNsdWRlICJoaWZfYXBpX2dlbmVyYWwuaCINCiANCkBA IC0zOSw2ICs0MCw3IEBAIHN0cnVjdCB3ZnhfZGV2IHsNCiAJc3RydWN0IHdmeF9oaWYJCWhpZjsN CiAJc3RydWN0IHNsX2NvbnRleHQJc2w7DQogCWludAkJCWNoaXBfZnJvemVuOw0KKwlzdHJ1Y3Qg bXV0ZXgJCWNvbmZfbXV0ZXg7DQogDQogCXN0cnVjdCB3ZnhfaGlmX2NtZAloaWZfY21kOw0KIAlz dHJ1Y3Qgd2Z4X3F1ZXVlCXR4X3F1ZXVlWzRdOw0KQEAgLTQ4LDYgKzUwLDkgQEAgc3RydWN0IHdm eF9kZXYgew0KIA0KIAlzdHJ1Y3QgaGlmX3J4X3N0YXRzCXJ4X3N0YXRzOw0KIAlzdHJ1Y3QgbXV0 ZXgJCXJ4X3N0YXRzX2xvY2s7DQorDQorCWludAkJCW91dHB1dF9wb3dlcjsNCisJYXRvbWljX3QJ CXNjYW5faW5fcHJvZ3Jlc3M7DQogfTsNCiANCiBzdHJ1Y3Qgd2Z4X3ZpZiB7DQpAQCAtNzEsMTEg Kzc2LDE3IEBAIHN0cnVjdCB3ZnhfdmlmIHsNCiANCiAJc3RydWN0IHR4X3BvbGljeV9jYWNoZQl0 eF9wb2xpY3lfY2FjaGU7DQogCXN0cnVjdCB3b3JrX3N0cnVjdAl0eF9wb2xpY3lfdXBsb2FkX3dv cms7DQorDQogCXUzMgkJCXN0YV9hc2xlZXBfbWFzazsNCiAJdTMyCQkJcHNwb2xsX21hc2s7DQog CXNwaW5sb2NrX3QJCXBzX3N0YXRlX2xvY2s7DQogDQorCWJvb2wJCQlmaWx0ZXJfYnNzaWQ7DQor CWJvb2wJCQlmd2RfcHJvYmVfcmVxOw0KKw0KIAlzdHJ1Y3Qgd2Z4X2VkY2FfcGFyYW1zCWVkY2E7 DQorDQorCXN0cnVjdCB3Znhfc2NhbgkJc2NhbjsNCiB9Ow0KIA0KIHN0YXRpYyBpbmxpbmUgc3Ry dWN0IHdmeF92aWYgKndkZXZfdG9fd3ZpZihzdHJ1Y3Qgd2Z4X2RldiAqd2RldiwgaW50IHZpZl9p ZCkNCi0tIA0KMi4yMC4xDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpkZXZlbCBtYWlsaW5nIGxpc3QKZGV2ZWxAbGludXhkcml2ZXJwcm9qZWN0Lm9yZwpo dHRwOi8vZHJpdmVyZGV2LmxpbnV4ZHJpdmVycHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9k cml2ZXJkZXYtZGV2ZWwK