Received: by 2002:a25:c593:0:0:0:0:0 with SMTP id v141csp899472ybe; Thu, 19 Sep 2019 05:44:00 -0700 (PDT) X-Google-Smtp-Source: APXvYqyTBolU+9SzH/eBeyCaeOdNcq8suCqXYBQd8EoOkEZC4n6T0RPQ4y3T8aWJcWv3PqKCo9hW X-Received: by 2002:a17:906:48d4:: with SMTP id d20mr14193237ejt.84.1568897040112; Thu, 19 Sep 2019 05:44:00 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1568897040; cv=pass; d=google.com; s=arc-20160816; b=g4pjbILHJCrAFzL1ghSa4gen+qyYUkdK3JMLDbkApma1sjBPoJTotVIsHvEquLcKZW dxU0psASXNqL/dpUzpNsipnlZGg84tnR8ss3KGlHEiDEie7MJl81uQWCpfzlwT9DESva 9VKOcbX43Tt+i0YsIJ0F1X9jgQmhQ1yA0XlAxoh/wW00ai/TM5Oziga31rb6Cz4l7MbY Pq7/KExWEQ9EbNZGFjinAgupeEXBm32zerZngbhJl2ZHiu/jOH0G2dnhgozuDAE3S123 2s2RNApmlPQeP+vIkIRQutyLsYVSYzFfgu6dlR/1zI/6gtKNM4M91ekBOIIdxw0VuuPU 2pLA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :content-id:content-language:accept-language:in-reply-to:references :message-id:date:thread-index:thread-topic:subject:cc:to:from :dkim-signature; bh=WiXNtcEm4a7neHAFun+tjvgyc+uhFsoW1O6h6kW7pCg=; b=EOh85vHwRQhzUAKlh/uXh2BcIX+nBFL6ihGGeK4JOGrwPRac8Nb8oTFAAnnvYf+Cyi 2veNd6kB9Y0znq9m9tfz9OfPhAecI10oc7nAYGIpdvUjsA2kfGy0zRPa804cXlwDFTQk 4HNjOP/k6x3ua1doiyn0WHHHjGQbatvXTtynH6Vq0ujx9Ue2d7C3nveLwdevBgUbvhwz X7v84CD+GXEyLV4nSxPMWSSvm4fdazlKrLzqGbeXg/UZU9tnr5a4ZYFIXtbLsPjDfPj9 9jeNnO1q05wq+pNzLyDIy3jwX+1rG5PSANEdTpTki10HyACJrOEqPEJ6vXPzxTuUt8tP bAGw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@silabs.onmicrosoft.com header.s=selector2-silabs-onmicrosoft-com header.b=LbQkfUQJ; arc=pass (i=1 spf=pass spfdomain=silabs.com dkim=pass dkdomain=silabs.com dmarc=pass fromdomain=silabs.com); spf=pass (google.com: best guess record for domain of linux-wireless-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d17si4742675edv.76.2019.09.19.05.43.35; Thu, 19 Sep 2019 05:44:00 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-wireless-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@silabs.onmicrosoft.com header.s=selector2-silabs-onmicrosoft-com header.b=LbQkfUQJ; arc=pass (i=1 spf=pass spfdomain=silabs.com dkim=pass dkdomain=silabs.com dmarc=pass fromdomain=silabs.com); spf=pass (google.com: best guess record for domain of linux-wireless-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2389503AbfISKwx (ORCPT + 99 others); Thu, 19 Sep 2019 06:52:53 -0400 Received: from mail-eopbgr730082.outbound.protection.outlook.com ([40.107.73.82]:1632 "EHLO NAM05-DM3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S2389448AbfISKwv (ORCPT ); Thu, 19 Sep 2019 06:52:51 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RwcHcCi9gRaDP4dEEZEM6PhQcVi7l75fXOTzIVrvvKyURxUaNBgPd5Y1NBjORmGChO7iUeN4tS9PZRX+jRo+TJNiB8ffwHNovOQFVhNHzp3QplPJ1iw6pKtSwx0ZUrl/AzDFS+F53R9JESFQm++V3oBWDGInvahwX2w+KzVBlEGkZcFaQsAxVw9Y+qgPa6zvhoYordiK5PVqduHeAZg7k/N8JiQ/TcqP/e9YZaFFwJHruDLtawcrY7++FcEmHcNcYZmkR7hSCF9o9tmXxD+kJtH33bq1BB8dTEs1LFUbszScRz6fF4lJ7kLDVDhf/c7TMt8RI3dTEwo8DAHf+SkCnQ== 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=WiXNtcEm4a7neHAFun+tjvgyc+uhFsoW1O6h6kW7pCg=; b=DO3pgteqA27SU3iJOeSvGsuyD2cOQv/zQseq1/CNm1lf5fq9Qu5MYoFT/GzJGT6HepRFyaNaNkHkZHeJMy8IduLq1AykAywkDxknT7CjbMm+uitrWb1eCg29j0YSccV/miQRicBjaS+4W9A8DvnwbmhbrzvP6sM+s6bWKVp6lJTo6AzRQlk3Jz2l0OtkSYl5V29Buve5Au7U7MtCofs3drh+Qdr+8crd5sQ62Ag505/i+O1BYrrHj1Ix0KRSt5znljM2HX7C1HjmY+Y1i+QVQ0J+1Cs3ZhH12RfIRE2Co9CR8RJr0EPmk2Ra5PIRnmY3wEzn8vnadnJWsQdAABgoGA== 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=WiXNtcEm4a7neHAFun+tjvgyc+uhFsoW1O6h6kW7pCg=; b=LbQkfUQJaqkgVY9ZI/KcySWuDtpv1lbEkhQB5hBcCQ50rRgNcSQsIHE6v7HXd7wU1uRcTIivFKSKvAWv1F5jmP1+TpQy5LSYdLOKS8p+lCsgbRN23at0cNzmdilw4dhpzQYKlRqR5TWUrmOlDeWRdIPb8Y/1OUDRjegeopbPJwY= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (20.179.149.217) by MN2PR11MB4415.namprd11.prod.outlook.com (52.135.39.95) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2263.17; Thu, 19 Sep 2019 10:52:44 +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 10:52:44 +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 17/20] staging: wfx: allow to receive 802.11 frames Thread-Topic: [PATCH 17/20] staging: wfx: allow to receive 802.11 frames Thread-Index: AQHVbthdWFf+fTi6tkKyaLIBTbBBtQ== Date: Thu, 19 Sep 2019 10:52:43 +0000 Message-ID: <20190919105153.15285-18-Jerome.Pouiller@silabs.com> References: <20190919105153.15285-1-Jerome.Pouiller@silabs.com> In-Reply-To: <20190919105153.15285-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: 8587b316-07e9-45e3-cc9a-08d73cef808a x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(5600167)(711020)(4605104)(1401327)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7193020);SRVR:MN2PR11MB4415; x-ms-traffictypediagnostic: MN2PR11MB4415: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:608; x-forefront-prvs: 016572D96D x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(346002)(396003)(366004)(39850400004)(376002)(136003)(189003)(199004)(43544003)(14454004)(71190400001)(2906002)(81156014)(81166006)(478600001)(316002)(2501003)(64756008)(76176011)(66476007)(256004)(86362001)(66446008)(99286004)(25786009)(8676002)(66556008)(66946007)(11346002)(6512007)(110136005)(66574012)(5660300002)(54906003)(6436002)(71200400001)(14444005)(76116006)(3846002)(6506007)(91956017)(1076003)(6116002)(486006)(305945005)(36756003)(2616005)(446003)(4326008)(7736002)(8936002)(66066001)(186003)(107886003)(26005)(476003)(6486002)(102836004);DIR:OUT;SFP:1101;SCL:1;SRVR:MN2PR11MB4415;H:MN2PR11MB4063.namprd11.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A: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: XKSZ8HpH13821WVLTcUv35BP2IoRholX17ifQOWP3dtw8IPj32ciUcdyG2aYTSstRkUE6EaGv/GH4522xnMxngLJY2CEL/I/A9cUe/Jkzi3oK99yoJLYadBI9ZTWxhCwXoIGuOQwJOJkRok4wQ18Dz24VlTiBqePYrL945mBW62sTBJN1J65cLTuUOCSCf+uE2SDbCqjX/N9zyFmQULSKqwKHMietBvP0AKoYEOZC5NmaFDnoRMiBpAM7H7aiSzTFBBl3Rwlo/cn2vY+Gn/IndmYwdSUeNQiLm8jqh4iinhrnRgrvVKM4GdXK3olLjLzg1y60gt3+YybAeJFxH984saFSwwkIlM2dMcNUq1jMa76JsiaZj0wngxMPTaDXo9GLiSok8l45YtKJxvNwFXKtUmSxUDolmSFu7dskcltalM= Content-Type: text/plain; charset="utf-8" Content-ID: <98397164D0903C41B2441EDFE2D155D0@namprd11.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8587b316-07e9-45e3-cc9a-08d73cef808a X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Sep 2019 10:52:43.2963 (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: 5mYTu3fVtg+vAmzIzIqU/h5xW8zf7j9IkiGfbwA8dLeGFkvCj9hbexauv/Km1iOQ49jqcBPr8lWxTXJjo6hlYA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4415 Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org RnJvbTogSsOpcsO0bWUgUG91aWxsZXIgPGplcm9tZS5wb3VpbGxlckBzaWxhYnMuY29tPg0KDQpB Z2FpbiwgdGhpcyB0YXNrIGlzIG1vcmUgY29tcGxleCB0aGFuIGl0IHNob3VsZCBzaW5jZSBkcml2 ZXIgdHJ5IHRvDQpoYW5kbGUgaXRzZWxmIHBvd2VyIHNhdmluZyBvZiBzdGF0aW9ucy4NCg0KU2ln bmVkLW9mZi1ieTogSsOpcsO0bWUgUG91aWxsZXIgPGplcm9tZS5wb3VpbGxlckBzaWxhYnMuY29t Pg0KLS0tDQogZHJpdmVycy9zdGFnaW5nL3dmeC9NYWtlZmlsZSAgfCAgIDEgKw0KIGRyaXZlcnMv c3RhZ2luZy93ZngvZGF0YV9yeC5jIHwgMTg3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysNCiBkcml2ZXJzL3N0YWdpbmcvd2Z4L2RhdGFfcnguaCB8ICAxOCArKysrDQogZHJpdmVy cy9zdGFnaW5nL3dmeC9oaWZfcnguYyAgfCAgMjMgKysrKysNCiA0IGZpbGVzIGNoYW5nZWQsIDIy OSBpbnNlcnRpb25zKCspDQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvc3RhZ2luZy93Zngv ZGF0YV9yeC5jDQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvc3RhZ2luZy93ZngvZGF0YV9y eC5oDQoNCmRpZmYgLS1naXQgYS9kcml2ZXJzL3N0YWdpbmcvd2Z4L01ha2VmaWxlIGIvZHJpdmVy cy9zdGFnaW5nL3dmeC9NYWtlZmlsZQ0KaW5kZXggZDVhYzlmYWZkMWYxLi5kOWUyMTUxNWQwOGUg MTAwNjQ0DQotLS0gYS9kcml2ZXJzL3N0YWdpbmcvd2Z4L01ha2VmaWxlDQorKysgYi9kcml2ZXJz L3N0YWdpbmcvd2Z4L01ha2VmaWxlDQpAQCAtMTEsNiArMTEsNyBAQCB3ZngteSA6PSBcDQogCWhp Zl9yeC5vIFwNCiAJcXVldWUubyBcDQogCWRhdGFfdHgubyBcDQorCWRhdGFfcngubyBcDQogCXN0 YS5vIFwNCiAJbWFpbi5vIFwNCiAJc3RhLm8gXA0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2lu Zy93ZngvZGF0YV9yeC5jIGIvZHJpdmVycy9zdGFnaW5nL3dmeC9kYXRhX3J4LmMNCm5ldyBmaWxl IG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwMDAuLjY1NDRkMDBkMTY1Nw0KLS0tIC9kZXYv bnVsbA0KKysrIGIvZHJpdmVycy9zdGFnaW5nL3dmeC9kYXRhX3J4LmMNCkBAIC0wLDAgKzEsMTg3 IEBADQorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQ0KKy8qDQorICog RGF0YXBhdGggaW1wbGVtZW50YXRpb24uDQorICoNCisgKiBDb3B5cmlnaHQgKGMpIDIwMTctMjAx OSwgU2lsaWNvbiBMYWJvcmF0b3JpZXMsIEluYy4NCisgKiBDb3B5cmlnaHQgKGMpIDIwMTAsIFNU LUVyaWNzc29uDQorICovDQorI2luY2x1ZGUgPGxpbnV4L3ZlcnNpb24uaD4NCisjaW5jbHVkZSA8 bGludXgvZXRoZXJkZXZpY2UuaD4NCisjaW5jbHVkZSA8bmV0L21hYzgwMjExLmg+DQorDQorI2lu Y2x1ZGUgImRhdGFfcnguaCINCisjaW5jbHVkZSAid2Z4LmgiDQorI2luY2x1ZGUgImJoLmgiDQor I2luY2x1ZGUgInN0YS5oIg0KKw0KK3N0YXRpYyBpbnQgd2Z4X2hhbmRsZV9wc3BvbGwoc3RydWN0 IHdmeF92aWYgKnd2aWYsIHN0cnVjdCBza19idWZmICpza2IpDQorew0KKwlzdHJ1Y3QgaWVlZTgw MjExX3N0YSAqc3RhOw0KKwlzdHJ1Y3QgaWVlZTgwMjExX3BzcG9sbCAqcHNwb2xsID0gKHN0cnVj dCBpZWVlODAyMTFfcHNwb2xsICopc2tiLT5kYXRhOw0KKwlpbnQgbGlua19pZCA9IDA7DQorCXUz MiBwc3BvbGxfbWFzayA9IDA7DQorCWludCBpOw0KKw0KKwlpZiAoIWV0aGVyX2FkZHJfZXF1YWwo d3ZpZi0+dmlmLT5hZGRyLCBwc3BvbGwtPmJzc2lkKSkNCisJCXJldHVybiAxOw0KKw0KKwlyY3Vf cmVhZF9sb2NrKCk7DQorCXN0YSA9IGllZWU4MDIxMV9maW5kX3N0YSh3dmlmLT52aWYsIHBzcG9s bC0+dGEpOw0KKwlpZiAoc3RhKQ0KKwkJbGlua19pZCA9ICgoc3RydWN0IHdmeF9zdGFfcHJpdiAq KSAmc3RhLT5kcnZfcHJpdiktPmxpbmtfaWQ7DQorCXJjdV9yZWFkX3VubG9jaygpOw0KKwlpZiAo bGlua19pZCkNCisJCXBzcG9sbF9tYXNrID0gQklUKGxpbmtfaWQpOw0KKwllbHNlDQorCQlyZXR1 cm4gMTsNCisNCisJd3ZpZi0+cHNwb2xsX21hc2sgfD0gcHNwb2xsX21hc2s7DQorCS8qIERvIG5v dCByZXBvcnQgcHNwb2xzIGlmIGRhdGEgZm9yIGdpdmVuIGxpbmsgaWQgaXMgcXVldWVkIGFscmVh ZHkuICovDQorCWZvciAoaSA9IDA7IGkgPCBJRUVFODAyMTFfTlVNX0FDUzsgKytpKSB7DQorCQlp ZiAod2Z4X3R4X3F1ZXVlX2dldF9udW1fcXVldWVkKCZ3dmlmLT53ZGV2LT50eF9xdWV1ZVtpXSwN CisJCQkJCQlwc3BvbGxfbWFzaykpIHsNCisJCQl3ZnhfYmhfcmVxdWVzdF90eCh3dmlmLT53ZGV2 KTsNCisJCQlyZXR1cm4gMTsNCisJCX0NCisJfQ0KKwlyZXR1cm4gMDsNCit9DQorDQorc3RhdGlj IGludCB3ZnhfZHJvcF9lbmNyeXB0X2RhdGEoc3RydWN0IHdmeF9kZXYgKndkZXYsIHN0cnVjdCBo aWZfaW5kX3J4ICphcmcsIHN0cnVjdCBza19idWZmICpza2IpDQorew0KKwlzdHJ1Y3QgaWVlZTgw MjExX2hkciAqZnJhbWUgPSAoc3RydWN0IGllZWU4MDIxMV9oZHIgKikgc2tiLT5kYXRhOw0KKwlz aXplX3QgaGRybGVuID0gaWVlZTgwMjExX2hkcmxlbihmcmFtZS0+ZnJhbWVfY29udHJvbCk7DQor CXNpemVfdCBpdl9sZW4sIGljdl9sZW47DQorDQorCS8qIE9vcHMuLi4gVGhlcmUgaXMgbm8gZmFz dCB3YXkgdG8gYXNrIG1hYzgwMjExIGFib3V0DQorCSAqIElWL0lDViBsZW5ndGhzLiBFdmVuIGRl ZmluZWFzIGFyZSBub3QgZXhwb3NlZC4NCisJICovDQorCXN3aXRjaCAoYXJnLT5yeF9mbGFncy5l bmNyeXApIHsNCisJY2FzZSBISUZfUklfRkxBR1NfV0VQX0VOQ1JZUFRFRDoNCisJCWl2X2xlbiA9 IDQgLyogV0VQX0lWX0xFTiAqLzsNCisJCWljdl9sZW4gPSA0IC8qIFdFUF9JQ1ZfTEVOICovOw0K KwkJYnJlYWs7DQorCWNhc2UgSElGX1JJX0ZMQUdTX1RLSVBfRU5DUllQVEVEOg0KKwkJaXZfbGVu ID0gOCAvKiBUS0lQX0lWX0xFTiAqLzsNCisJCWljdl9sZW4gPSA0IC8qIFRLSVBfSUNWX0xFTiAq Lw0KKwkJCSsgOCAvKk1JQ0hBRUxfTUlDX0xFTiovOw0KKwkJYnJlYWs7DQorCWNhc2UgSElGX1JJ X0ZMQUdTX0FFU19FTkNSWVBURUQ6DQorCQlpdl9sZW4gPSA4IC8qIENDTVBfSERSX0xFTiAqLzsN CisJCWljdl9sZW4gPSA4IC8qIENDTVBfTUlDX0xFTiAqLzsNCisJCWJyZWFrOw0KKwljYXNlIEhJ Rl9SSV9GTEFHU19XQVBJX0VOQ1JZUFRFRDoNCisJCWl2X2xlbiA9IDE4IC8qIFdBUElfSERSX0xF TiAqLzsNCisJCWljdl9sZW4gPSAxNiAvKiBXQVBJX01JQ19MRU4gKi87DQorCQlicmVhazsNCisJ ZGVmYXVsdDoNCisJCWRldl9lcnIod2Rldi0+ZGV2LCAidW5rbm93biBlbmNyeXB0aW9uIHR5cGUg JWRcbiIsDQorCQkJIGFyZy0+cnhfZmxhZ3MuZW5jcnlwKTsNCisJCXJldHVybiAtRUlPOw0KKwl9 DQorDQorCS8qIEZpcm13YXJlIHN0cmlwcyBJQ1YgaW4gY2FzZSBvZiBNSUMgZmFpbHVyZS4gKi8N CisJaWYgKGFyZy0+c3RhdHVzID09IEhJRl9TVEFUVVNfTUlDRkFJTFVSRSkNCisJCWljdl9sZW4g PSAwOw0KKw0KKwlpZiAoc2tiLT5sZW4gPCBoZHJsZW4gKyBpdl9sZW4gKyBpY3ZfbGVuKSB7DQor CQlkZXZfd2Fybih3ZGV2LT5kZXYsICJtYWxmb3JtZWQgU0RVIHJlY2VpdmVkXG4iKTsNCisJCXJl dHVybiAtRUlPOw0KKwl9DQorDQorCS8qIFJlbW92ZSBJViwgSUNWIGFuZCBNSUMgKi8NCisJc2ti X3RyaW0oc2tiLCBza2ItPmxlbiAtIGljdl9sZW4pOw0KKwltZW1tb3ZlKHNrYi0+ZGF0YSArIGl2 X2xlbiwgc2tiLT5kYXRhLCBoZHJsZW4pOw0KKwlza2JfcHVsbChza2IsIGl2X2xlbik7DQorCXJl dHVybiAwOw0KKw0KK30NCisNCit2b2lkIHdmeF9yeF9jYihzdHJ1Y3Qgd2Z4X3ZpZiAqd3ZpZiwg c3RydWN0IGhpZl9pbmRfcnggKmFyZywgc3RydWN0IHNrX2J1ZmYgKnNrYikNCit7DQorCWludCBs aW5rX2lkID0gYXJnLT5yeF9mbGFncy5wZWVyX3N0YV9pZDsNCisJc3RydWN0IGllZWU4MDIxMV9y eF9zdGF0dXMgKmhkciA9IElFRUU4MDIxMV9TS0JfUlhDQihza2IpOw0KKwlzdHJ1Y3QgaWVlZTgw MjExX2hkciAqZnJhbWUgPSAoc3RydWN0IGllZWU4MDIxMV9oZHIgKikgc2tiLT5kYXRhOw0KKwlz dHJ1Y3QgaWVlZTgwMjExX21nbXQgKm1nbXQgPSAoc3RydWN0IGllZWU4MDIxMV9tZ210ICopIHNr Yi0+ZGF0YTsNCisJc3RydWN0IHdmeF9saW5rX2VudHJ5ICplbnRyeSA9IE5VTEw7DQorCWJvb2wg ZWFybHlfZGF0YSA9IGZhbHNlOw0KKw0KKwltZW1zZXQoaGRyLCAwLCBzaXplb2YoKmhkcikpOw0K Kw0KKwkvLyBGSVhNRTogV2h5IGRvIHdlIGRyb3AgdGhlc2UgZnJhbWVzPw0KKwlpZiAoIWFyZy0+ cmNwaV9yc3NpICYmDQorCSAgICAoaWVlZTgwMjExX2lzX3Byb2JlX3Jlc3AoZnJhbWUtPmZyYW1l X2NvbnRyb2wpIHx8DQorCSAgICAgaWVlZTgwMjExX2lzX2JlYWNvbihmcmFtZS0+ZnJhbWVfY29u dHJvbCkpKQ0KKwkJZ290byBkcm9wOw0KKw0KKwlpZiAobGlua19pZCAmJiBsaW5rX2lkIDw9IFdG WF9NQVhfU1RBX0lOX0FQX01PREUpIHsNCisJCWVudHJ5ID0gJnd2aWYtPmxpbmtfaWRfZGJbbGlu a19pZCAtIDFdOw0KKwkJZW50cnktPnRpbWVzdGFtcCA9IGppZmZpZXM7DQorCQlpZiAoZW50cnkt PnN0YXR1cyA9PSBXRlhfTElOS19TT0ZUICYmIGllZWU4MDIxMV9pc19kYXRhKGZyYW1lLT5mcmFt ZV9jb250cm9sKSkNCisJCQllYXJseV9kYXRhID0gdHJ1ZTsNCisJfQ0KKw0KKwlpZiAoYXJnLT5z dGF0dXMgPT0gSElGX1NUQVRVU19NSUNGQUlMVVJFKQ0KKwkJaGRyLT5mbGFnIHw9IFJYX0ZMQUdf TU1JQ19FUlJPUjsNCisJZWxzZSBpZiAoYXJnLT5zdGF0dXMpDQorCQlnb3RvIGRyb3A7DQorDQor CWlmIChza2ItPmxlbiA8IHNpemVvZihzdHJ1Y3QgaWVlZTgwMjExX3BzcG9sbCkpIHsNCisJCWRl dl93YXJuKHd2aWYtPndkZXYtPmRldiwgIm1hbGZvcm1lZCBTRFUgcmVjZWl2ZWRcbiIpOw0KKwkJ Z290byBkcm9wOw0KKwl9DQorDQorCWlmIChpZWVlODAyMTFfaXNfcHNwb2xsKGZyYW1lLT5mcmFt ZV9jb250cm9sKSkNCisJCWlmICh3ZnhfaGFuZGxlX3BzcG9sbCh3dmlmLCBza2IpKQ0KKwkJCWdv dG8gZHJvcDsNCisNCisJaGRyLT5iYW5kID0gTkw4MDIxMV9CQU5EXzJHSFo7DQorCWhkci0+ZnJl cSA9IGllZWU4MDIxMV9jaGFubmVsX3RvX2ZyZXF1ZW5jeShhcmctPmNoYW5uZWxfbnVtYmVyLCBo ZHItPmJhbmQpOw0KKw0KKwlpZiAoYXJnLT5yeGVkX3JhdGUgPj0gMTQpIHsNCisjaWYgKEtFUk5F TF9WRVJTSU9OKDQsIDEyLCAwKSA+IExJTlVYX1ZFUlNJT05fQ09ERSkNCisJCWhkci0+ZmxhZyB8 PSBSWF9GTEFHX0hUOw0KKyNlbHNlDQorCQloZHItPmVuY29kaW5nID0gUlhfRU5DX0hUOw0KKyNl bmRpZg0KKwkJaGRyLT5yYXRlX2lkeCA9IGFyZy0+cnhlZF9yYXRlIC0gMTQ7DQorCX0gZWxzZSBp ZiAoYXJnLT5yeGVkX3JhdGUgPj0gNCkgew0KKwkJaGRyLT5yYXRlX2lkeCA9IGFyZy0+cnhlZF9y YXRlIC0gMjsNCisJfSBlbHNlIHsNCisJCWhkci0+cmF0ZV9pZHggPSBhcmctPnJ4ZWRfcmF0ZTsN CisJfQ0KKw0KKwloZHItPnNpZ25hbCA9IGFyZy0+cmNwaV9yc3NpIC8gMiAtIDExMDsNCisJaGRy LT5hbnRlbm5hID0gMDsNCisNCisJaWYgKGFyZy0+cnhfZmxhZ3MuZW5jcnlwKSB7DQorCQlpZiAo d2Z4X2Ryb3BfZW5jcnlwdF9kYXRhKHd2aWYtPndkZXYsIGFyZywgc2tiKSkNCisJCQlnb3RvIGRy b3A7DQorCQloZHItPmZsYWcgfD0gUlhfRkxBR19ERUNSWVBURUQgfCBSWF9GTEFHX0lWX1NUUklQ UEVEOw0KKwkJaWYgKGFyZy0+cnhfZmxhZ3MuZW5jcnlwID09IEhJRl9SSV9GTEFHU19US0lQX0VO Q1JZUFRFRCkNCisJCQloZHItPmZsYWcgfD0gUlhfRkxBR19NTUlDX1NUUklQUEVEOw0KKwl9DQor DQorCS8qIEZpbHRlciBibG9jayBBQ0sgbmVnb3RpYXRpb246IGZ1bGx5IGNvbnRyb2xsZWQgYnkg ZmlybXdhcmUgKi8NCisJaWYgKGllZWU4MDIxMV9pc19hY3Rpb24oZnJhbWUtPmZyYW1lX2NvbnRy b2wpDQorCSAgICAmJiBhcmctPnJ4X2ZsYWdzLm1hdGNoX3VjX2FkZHINCisJICAgICYmIG1nbXQt PnUuYWN0aW9uLmNhdGVnb3J5ID09IFdMQU5fQ0FURUdPUllfQkFDSykNCisJCWdvdG8gZHJvcDsN CisNCisJaWYgKGVhcmx5X2RhdGEpIHsNCisJCXNwaW5fbG9ja19iaCgmd3ZpZi0+cHNfc3RhdGVf bG9jayk7DQorCQkvKiBEb3VibGUtY2hlY2sgc3RhdHVzIHdpdGggbG9jayBoZWxkICovDQorCQlp ZiAoZW50cnktPnN0YXR1cyA9PSBXRlhfTElOS19TT0ZUKQ0KKwkJCXNrYl9xdWV1ZV90YWlsKCZl bnRyeS0+cnhfcXVldWUsIHNrYik7DQorCQllbHNlDQorCQkJaWVlZTgwMjExX3J4X2lycXNhZmUo d3ZpZi0+d2Rldi0+aHcsIHNrYik7DQorCQlzcGluX3VubG9ja19iaCgmd3ZpZi0+cHNfc3RhdGVf bG9jayk7DQorCX0gZWxzZSB7DQorCQlpZWVlODAyMTFfcnhfaXJxc2FmZSh3dmlmLT53ZGV2LT5o dywgc2tiKTsNCisJfQ0KKw0KKwlyZXR1cm47DQorDQorZHJvcDoNCisJZGV2X2tmcmVlX3NrYihz a2IpOw0KK30NCmRpZmYgLS1naXQgYS9kcml2ZXJzL3N0YWdpbmcvd2Z4L2RhdGFfcnguaCBiL2Ry aXZlcnMvc3RhZ2luZy93ZngvZGF0YV9yeC5oDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXgg MDAwMDAwMDAwMDAwLi5iNDRkMTUyNjhmODMNCi0tLSAvZGV2L251bGwNCisrKyBiL2RyaXZlcnMv c3RhZ2luZy93ZngvZGF0YV9yeC5oDQpAQCAtMCwwICsxLDE4IEBADQorLyogU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEdQTC0yLjAtb25seSAqLw0KKy8qDQorICogRGF0YXBhdGggaW1wbGVtZW50 YXRpb24uDQorICoNCisgKiBDb3B5cmlnaHQgKGMpIDIwMTctMjAxOSwgU2lsaWNvbiBMYWJvcmF0 b3JpZXMsIEluYy4NCisgKiBDb3B5cmlnaHQgKGMpIDIwMTAsIFNULUVyaWNzc29uDQorICovDQor I2lmbmRlZiBXRlhfREFUQV9SWF9IDQorI2RlZmluZSBXRlhfREFUQV9SWF9IDQorDQorI2luY2x1 ZGUgImhpZl9hcGlfY21kLmgiDQorDQorc3RydWN0IHdmeF92aWY7DQorc3RydWN0IHNrX2J1ZmY7 DQorDQordm9pZCB3ZnhfcnhfY2Ioc3RydWN0IHdmeF92aWYgKnd2aWYsIHN0cnVjdCBoaWZfaW5k X3J4ICphcmcsIHN0cnVjdCBza19idWZmICpza2IpOw0KKw0KKyNlbmRpZiAvKiBXRlhfREFUQV9S WF9IICovDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL3dmeC9oaWZfcnguYyBiL2RyaXZl cnMvc3RhZ2luZy93ZngvaGlmX3J4LmMNCmluZGV4IDk3YzRjMmYwODJmYi4uYzA3OTg0YjA1MzVk IDEwMDY0NA0KLS0tIGEvZHJpdmVycy9zdGFnaW5nL3dmeC9oaWZfcnguYw0KKysrIGIvZHJpdmVy cy9zdGFnaW5nL3dmeC9oaWZfcnguYw0KQEAgLTExLDYgKzExLDcgQEANCiANCiAjaW5jbHVkZSAi aGlmX3J4LmgiDQogI2luY2x1ZGUgIndmeC5oIg0KKyNpbmNsdWRlICJkYXRhX3J4LmgiDQogI2lu Y2x1ZGUgInNlY3VyZV9saW5rLmgiDQogI2luY2x1ZGUgImhpZl9hcGlfY21kLmgiDQogDQpAQCAt MTI3LDYgKzEyOCwyMSBAQCBzdGF0aWMgaW50IGhpZl9rZXlzX2luZGljYXRpb24oc3RydWN0IHdm eF9kZXYgKndkZXYsIHN0cnVjdCBoaWZfbXNnICpoaWYsIHZvaWQgKg0KIAlyZXR1cm4gMDsNCiB9 DQogDQorc3RhdGljIGludCBoaWZfcmVjZWl2ZV9pbmRpY2F0aW9uKHN0cnVjdCB3ZnhfZGV2ICp3 ZGV2LCBzdHJ1Y3QgaGlmX21zZyAqaGlmLCB2b2lkICpidWYsIHN0cnVjdCBza19idWZmICpza2Ip DQorew0KKwlzdHJ1Y3Qgd2Z4X3ZpZiAqd3ZpZiA9IHdkZXZfdG9fd3ZpZih3ZGV2LCBoaWYtPmlu dGVyZmFjZSk7DQorCXN0cnVjdCBoaWZfaW5kX3J4ICpib2R5ID0gYnVmOw0KKw0KKwlpZiAoIXd2 aWYpIHsNCisJCWRldl93YXJuKHdkZXYtPmRldiwgImlnbm9yZSByeCBkYXRhIGZvciBub24gZXhp c3RhbnQgdmlmICVkXG4iLCBoaWYtPmludGVyZmFjZSk7DQorCQlyZXR1cm4gMDsNCisJfQ0KKwlz a2JfcHVsbChza2IsIHNpemVvZihzdHJ1Y3QgaGlmX21zZykgKyBzaXplb2Yoc3RydWN0IGhpZl9p bmRfcngpKTsNCisJd2Z4X3J4X2NiKHd2aWYsIGJvZHksIHNrYik7DQorDQorCXJldHVybiAwOw0K K30NCisNCiBzdGF0aWMgaW50IGhpZl9qb2luX2NvbXBsZXRlX2luZGljYXRpb24oc3RydWN0IHdm eF9kZXYgKndkZXYsIHN0cnVjdCBoaWZfbXNnICpoaWYsIHZvaWQgKmJ1ZikNCiB7DQogCXN0cnVj dCB3ZnhfdmlmICp3dmlmID0gd2Rldl90b193dmlmKHdkZXYsIGhpZi0+aW50ZXJmYWNlKTsNCkBA IC0yMTgsNiArMjM0LDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB7DQogCXsgSElGX0lORF9JRF9H RU5FUklDLCAgICAgICAgICAgICAgaGlmX2dlbmVyaWNfaW5kaWNhdGlvbiB9LA0KIAl7IEhJRl9J TkRfSURfRVJST1IsICAgICAgICAgICAgICAgIGhpZl9lcnJvcl9pbmRpY2F0aW9uIH0sDQogCXsg SElGX0lORF9JRF9FWENFUFRJT04sICAgICAgICAgICAgaGlmX2V4Y2VwdGlvbl9pbmRpY2F0aW9u IH0sDQorCS8vIEZJWE1FOiBhbGxvY2F0ZSBza2JfcCBmcm9tIGhpZl9yZWNlaXZlX2luZGljYXRp b24gYW5kIG1ha2UgaXQgZ2VuZXJpYw0KKwkvL3sgSElGX0lORF9JRF9SWCwgICAgICAgICAgICAg ICAgIGhpZl9yZWNlaXZlX2luZGljYXRpb24gfSwNCiB9Ow0KIA0KIHZvaWQgd2Z4X2hhbmRsZV9y eChzdHJ1Y3Qgd2Z4X2RldiAqd2Rldiwgc3RydWN0IHNrX2J1ZmYgKnNrYikNCkBAIC0yMjYsNiAr MjQ0LDExIEBAIHZvaWQgd2Z4X2hhbmRsZV9yeChzdHJ1Y3Qgd2Z4X2RldiAqd2Rldiwgc3RydWN0 IHNrX2J1ZmYgKnNrYikNCiAJc3RydWN0IGhpZl9tc2cgKmhpZiA9IChzdHJ1Y3QgaGlmX21zZyAq KSBza2ItPmRhdGE7DQogCWludCBoaWZfaWQgPSBoaWYtPmlkOw0KIA0KKwlpZiAoaGlmX2lkID09 IEhJRl9JTkRfSURfUlgpIHsNCisJCS8vIGhpZl9yZWNlaXZlX2luZGljYXRpb24gdGFrZSBjYXJl IG9mIHNrYiBsaWZldGltZQ0KKwkJaGlmX3JlY2VpdmVfaW5kaWNhdGlvbih3ZGV2LCBoaWYsIGhp Zi0+Ym9keSwgc2tiKTsNCisJCXJldHVybjsNCisJfQ0KIAkvLyBOb3RlOiBtdXRleF9pc19sb2Nr IGNhdXNlIGFuIGltcGxpY2l0IG1lbW9yeSBiYXJyaWVyIHRoYXQgcHJvdGVjdA0KIAkvLyBidWZf c2VuZA0KIAlpZiAobXV0ZXhfaXNfbG9ja2VkKCZ3ZGV2LT5oaWZfY21kLmxvY2spDQotLSANCjIu MjAuMQ0K