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=-9.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 296EDC43219 for ; Sun, 5 May 2019 00:34:32 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id CB0DE20700 for ; Sun, 5 May 2019 00:34:31 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="lyw7uv4m" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727448AbfEEAea (ORCPT ); Sat, 4 May 2019 20:34:30 -0400 Received: from mail-eopbgr70052.outbound.protection.outlook.com ([40.107.7.52]:1287 "EHLO EUR04-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727425AbfEEAea (ORCPT ); Sat, 4 May 2019 20:34:30 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=U9YVW0LcdR4bYmNyDO8PmQi1DITm6Sd5sZXZRe2Rkqo=; b=lyw7uv4mFHnO9gzEl2B3ANNB5qykpl8qTq4goLLMZCUc0m+4YPzXgtbWVa8i2acOxJZWjln60vfFOiylKG7LEsRddjmNafXhsnBrPC3HdYn7CqxHznOPXvaPOBZQWaO83TyBP000Ddq6QypUk0GBFZULuM9dZSfG2iMRIrtdKJY= Received: from DB8PR05MB5898.eurprd05.prod.outlook.com (20.179.9.32) by DB8PR05MB5881.eurprd05.prod.outlook.com (20.179.10.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1856.11; Sun, 5 May 2019 00:33:27 +0000 Received: from DB8PR05MB5898.eurprd05.prod.outlook.com ([fe80::ed24:8317:76e4:1a07]) by DB8PR05MB5898.eurprd05.prod.outlook.com ([fe80::ed24:8317:76e4:1a07%5]) with mapi id 15.20.1856.012; Sun, 5 May 2019 00:33:27 +0000 From: Saeed Mahameed To: "David S. Miller" CC: "netdev@vger.kernel.org" , Jiri Pirko , Moshe Shemesh , Eran Ben Elisha , Saeed Mahameed Subject: [net-next 11/15] net/mlx5: Add support for FW reporter dump Thread-Topic: [net-next 11/15] net/mlx5: Add support for FW reporter dump Thread-Index: AQHVAton26WYhA1KEUucrX0hQSsEEA== Date: Sun, 5 May 2019 00:33:27 +0000 Message-ID: <20190505003207.1353-12-saeedm@mellanox.com> References: <20190505003207.1353-1-saeedm@mellanox.com> In-Reply-To: <20190505003207.1353-1-saeedm@mellanox.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.20.1 x-originating-ip: [73.15.39.150] x-clientproxiedby: BY5PR13CA0008.namprd13.prod.outlook.com (2603:10b6:a03:180::21) To DB8PR05MB5898.eurprd05.prod.outlook.com (2603:10a6:10:a4::32) authentication-results: spf=none (sender IP is ) smtp.mailfrom=saeedm@mellanox.com; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: b3320c58-c6dd-4271-29b4-08d6d0f14a39 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600141)(711020)(4605104)(4618075)(2017052603328)(7193020);SRVR:DB8PR05MB5881; x-ms-traffictypediagnostic: DB8PR05MB5881: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:261; x-forefront-prvs: 00286C0CA6 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(346002)(376002)(366004)(39850400004)(136003)(396003)(51234002)(199004)(189003)(305945005)(52116002)(76176011)(36756003)(316002)(25786009)(6486002)(478600001)(14454004)(446003)(50226002)(476003)(11346002)(2616005)(26005)(7736002)(4326008)(99286004)(86362001)(6916009)(53936002)(66476007)(186003)(68736007)(66446008)(64756008)(66556008)(6436002)(66946007)(73956011)(6512007)(14444005)(1076003)(66066001)(71190400001)(71200400001)(54906003)(256004)(102836004)(81156014)(81166006)(8936002)(3846002)(6506007)(386003)(107886003)(2906002)(8676002)(5660300002)(6116002)(486006);DIR:OUT;SFP:1101;SCL:1;SRVR:DB8PR05MB5881;H:DB8PR05MB5898.eurprd05.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: 7+JCfCpphqnscqqrIaI/U8Sjzl+cyF45NQyuW9t00Dimxh2npRiribiDp0UlgWHaNi+aVICq+ZOHZgVee0356KtcBX4e3Mm/h4tNaL4gXavBDoTf48PU1PznPk4eNNle8lG4OCodlmtC0VJXMjOR1bARWz4u+CF+IL12pUyuM2F+2z1Fb0c54M5FsK4axsXp9MLfKyUuXQDs7pZorSxUBZy0GEgkfGQgKLhXwbfb5VL4AgcR3OWKCpyLTYdtNmjzrAd41DE/NHfKc9C031S2C0/amYR6aTIAPw4DCRWAZI0tgELFGW8Jk77M6ThevKg7Gzhx5HW9rIQbvkR1Wk+/MxK7UYvCEnJ/uTjWMM7QcbRyqMF4+gIWaBQWRonEBS5Qr6VfkfxG03mQNHOfwWfPjSAsfuVia60lxdNXCBfBzaM= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: b3320c58-c6dd-4271-29b4-08d6d0f14a39 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 May 2019 00:33:27.4762 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR05MB5881 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org RnJvbTogTW9zaGUgU2hlbWVzaCA8bW9zaGVAbWVsbGFub3guY29tPg0KDQpBZGQgc3VwcG9ydCBv ZiBkdW1wIGNhbGxiYWNrIGZvciBtbHg1IEZXIHJlcG9ydGVyLg0KT25jZSB3ZSB0cmlnZ2VyIEZX IGR1bXAsIHRoZSBGVyB3aWxsIHdyaXRlIHRoZSBjb3JlIGR1bXAgdG8gaXRzIHJhdyBkYXRhDQpi dWZmZXIuIFRoZSB0cmFjZXIgdHJhbnNsYXRlcyB0aGUgcmF3IGRhdGEgdG8gdHJhY2VzIGFuZCBz YXZlIGl0IHRvIGENCmJ1ZmZlci4gT25jZSBkdW1wIGlzIGRvbmUsIHRoZSBzYXZlZCB0cmFjZXMg ZGF0YSBpcyBmaWxsZWQgYXMgb2JqZWN0cw0KaW50byB0aGUgZHVtcCBidWZmZXIuDQoNCkZXIGR1 bXAgZXhhbXBsZToNCiQgZGV2bGluayBoZWFsdGggZHVtcCBzaG93IHBjaS8wMDAwOjgyOjAwLjEg cmVwb3J0ZXIgZncNCmR1bXAgdHJhY2VzOg0KICAgdHJhY2U6IDAwMDA6ODI6MDAuMSBbMHg2OWNk NmM1MjgzZV0gMCBbMHhiOF0gZHVtcCBnZW5lcmFsIGluZm8NCkdWTUk9MHgwMDAxDQogICB0cmFj ZTogMDAwMDo4MjowMC4xIFsweDY5Y2Q2YzUzYmVjXSAwIFsweGI4XSBHVk1JIG1hbmFnZW1lbnQg aW5mbywNCmd2bWlfbWFuYWdlbWVudCBjb250ZXh0Og0KICAgdHJhY2U6IDAwMDA6ODI6MDAuMSBb MHg2OWNkNmM1NWVmZl0gMCBbMHhiOF0gWzAwMF06ICAwMDAwMDAwMA0KMDAwMDAwMDAgIDAwMDAw MDAwICAwMDAwMDAwMA0KICAgdHJhY2U6IDAwMDA6ODI6MDAuMSBbMHg2OWNkNmM1NjU3Zl0gMCBb MHhiOF0gWzAxMF06ICAwMDAwMDAwMA0KMDAwMDAwMDAgIDAwMDAwMDAwICAwMDAwMDAwMA0KICAg dHJhY2U6IDAwMDA6ODI6MDAuMSBbMHg2OWNkNmM1NjYwOF0gMCBbMHhiOF0gWzAyMF06ICAwMDAw MDAwMA0KMDAwMDAwMDAgIDAwMDAwMDAwICAwMDAwMDAwMA0KICAgdHJhY2U6IDAwMDA6ODI6MDAu MSBbMHg2OWNkNmM1NjZmZl0gMCBbMHhiOF0gWzAzMF06ICAwMDAwMDAwMA0KMDAwMDAwMDAgIDAw MDAwMDAwICAwMDAwMDAwMA0KICAgdHJhY2U6IDAwMDA6ODI6MDAuMSBbMHg2OWNkNmM1Njc3Zl0g MCBbMHhiOF0gWzA0MF06ICAwMDAwMDAwMA0KMDAwMDAwMDAgIDAwMDAwMDAwICAwMDAwMDAwMA0K ICAgdHJhY2U6IDAwMDA6ODI6MDAuMSBbMHg2OWNkNmM1Njg3Zl0gMCBbMHhiOF0gWzA1MF06ICAw MDAwMDAwMA0KMDAwMDAwMDAgIDAwMDAwMDAwICAwMDAwMDAwMA0KICAgdHJhY2U6IDAwMDA6ODI6 MDAuMSBbMHg2OWNkNmM1NjhmZl0gMCBbMHhiOF0gWzA2MF06ICAwMDAwMDAwMA0KMDAwMDAwMDAg IDAwMDAwMDAwICAwMDAwMDAwMA0KICAgdHJhY2U6IDAwMDA6ODI6MDAuMSBbMHg2OWNkNmM1Njlh NV0gMCBbMHhiOF0gWzA3MF06ICAwMDAwMDAwMA0KMDAwMDAwMDAgIDAwMDAwMDAwICAwMDAwMDAw MA0KICAgdHJhY2U6IDAwMDA6ODI6MDAuMSBbMHg2OWNkNmM1NzAyMV0gMCBbMHhiOF0gQ01ESUYg ZGJhc2UgZnJvbSBJUk9OOg0KYWN0aXZlX2RiYXNlX3Nsb3RzID0gMHgwMDAwMDAwMA0KICAgdHJh Y2U6IDAwMDA6ODI6MDAuMSBbMHg2OWNkNmM1OGRhZV0gMCBbMHhiOF0gR1ZNST0weDAwMDEgaHdf dG9jDQpjb250ZXh0Og0KICAgdHJhY2U6IDAwMDA6ODI6MDAuMSBbMHg2OWNkNmM1OGU3Zl0gMCBb MHhiOF0gWzAwMF06ICAwMDQwMDEwMA0KMDAwMDAwMDAgIDAwMDAwMDAwICBmZmZmZjAwMA0KICAg dHJhY2U6IDAwMDA6ODI6MDAuMSBbMHg2OWNkNmM1OGY3Zl0gMCBbMHhiOF0gWzAxMF06ICAwMDAw MDAwMA0KMDAwMDAwMDAgIDAwMDAwMDAwICAwMDAwMDAwMA0KLi4uDQouLi4NCg0KU2lnbmVkLW9m Zi1ieTogTW9zaGUgU2hlbWVzaCA8bW9zaGVAbWVsbGFub3guY29tPg0KU2lnbmVkLW9mZi1ieTog RXJhbiBCZW4gRWxpc2hhIDxlcmFuYmVAbWVsbGFub3guY29tPg0KU2lnbmVkLW9mZi1ieTogU2Fl ZWQgTWFoYW1lZWQgPHNhZWVkbUBtZWxsYW5veC5jb20+DQotLS0NCiAuLi4vbWVsbGFub3gvbWx4 NS9jb3JlL2RpYWcvZndfdHJhY2VyLmMgICAgICAgfCAxMDkgKysrKysrKysrKysrKysrKysrDQog Li4uL21lbGxhbm94L21seDUvY29yZS9kaWFnL2Z3X3RyYWNlci5oICAgICAgIHwgIDE0ICsrKw0K IC4uLi9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2hlYWx0aC5jICB8ICA0NiArKysr KysrKw0KIDMgZmlsZXMgY2hhbmdlZCwgMTY5IGluc2VydGlvbnMoKykNCg0KZGlmZiAtLWdpdCBh L2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9kaWFnL2Z3X3RyYWNlci5j IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2RpYWcvZndfdHJhY2Vy LmMNCmluZGV4IDU2MDI1Nzk3Y2QxZS4uOGMzZTY3MjdhOTg0IDEwMDY0NA0KLS0tIGEvZHJpdmVy cy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2RpYWcvZndfdHJhY2VyLmMNCisrKyBi L2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9kaWFnL2Z3X3RyYWNlci5j DQpAQCAtMjQzLDYgKzI0MywyNyBAQCBzdGF0aWMgaW50IG1seDVfZndfdHJhY2VyX2FsbG9jYXRl X3N0cmluZ3NfZGIoc3RydWN0IG1seDVfZndfdHJhY2VyICp0cmFjZXIpDQogCXJldHVybiAtRU5P TUVNOw0KIH0NCiANCitzdGF0aWMgaW50DQorbWx4NV9md190cmFjZXJfYWxsb2NhdGVfc2F2ZWRf dHJhY2VzX2J1ZmYoc3RydWN0IG1seDVfZndfdHJhY2VyICp0cmFjZXIpDQorew0KKwlpbnQgdHJh Y2VzX2J1ZmZfc2l6ZSA9IFNBVkVEX1RSQUNFU19CVUZGRVJfU0laRV9CWVRFOw0KKw0KKwl0cmFj ZXItPnNidWZmLnRyYWNlc19idWZmID0ga3phbGxvYyh0cmFjZXNfYnVmZl9zaXplLCBHRlBfS0VS TkVMKTsNCisJaWYgKCF0cmFjZXItPnNidWZmLnRyYWNlc19idWZmKQ0KKwkJcmV0dXJuIC1FTk9N RU07DQorCXRyYWNlci0+c2J1ZmYuc2F2ZWRfdHJhY2VzX2luZGV4ID0gMDsNCisJbXV0ZXhfaW5p dCgmdHJhY2VyLT5zYnVmZi5sb2NrKTsNCisNCisJcmV0dXJuIDA7DQorfQ0KKw0KK3N0YXRpYyB2 b2lkDQorbWx4NV9md190cmFjZXJfZnJlZV9zYXZlZF90cmFjZXNfYnVmZihzdHJ1Y3QgbWx4NV9m d190cmFjZXIgKnRyYWNlcikNCit7DQorCWtmcmVlKHRyYWNlci0+c2J1ZmYudHJhY2VzX2J1ZmYp Ow0KKwl0cmFjZXItPnNidWZmLnRyYWNlc19idWZmID0gTlVMTDsNCit9DQorDQogc3RhdGljIHZv aWQgbWx4NV90cmFjZXJfcmVhZF9zdHJpbmdzX2RiKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykN CiB7DQogCXN0cnVjdCBtbHg1X2Z3X3RyYWNlciAqdHJhY2VyID0gY29udGFpbmVyX29mKHdvcmss IHN0cnVjdCBtbHg1X2Z3X3RyYWNlciwNCkBAIC01MjIsNiArNTQzLDI0IEBAIHN0YXRpYyB2b2lk IG1seDVfZndfdHJhY2VyX2NsZWFuX3JlYWR5X2xpc3Qoc3RydWN0IG1seDVfZndfdHJhY2VyICp0 cmFjZXIpDQogCQlsaXN0X2RlbCgmc3RyX2ZybXQtPmxpc3QpOw0KIH0NCiANCitzdGF0aWMgdm9p ZCBtbHg1X2Z3X3RyYWNlcl9zYXZlX3RyYWNlKHN0cnVjdCBtbHg1X2Z3X3RyYWNlciAqdHJhY2Vy LA0KKwkJCQkgICAgICB1NjQgdGltZXN0YW1wLCBib29sIGxvc3QsDQorCQkJCSAgICAgIHU4IGV2 ZW50X2lkLCBjaGFyICptc2cpDQorew0KKwljaGFyICpzYXZlZF90cmFjZXMgPSB0cmFjZXItPnNi dWZmLnRyYWNlc19idWZmOw0KKwl1MzIgb2Zmc2V0Ow0KKw0KKwltdXRleF9sb2NrKCZ0cmFjZXIt PnNidWZmLmxvY2spOw0KKwlvZmZzZXQgPSB0cmFjZXItPnNidWZmLnNhdmVkX3RyYWNlc19pbmRl eCAqIFRSQUNFX1NUUl9MSU5FOw0KKwlzbnByaW50ZihzYXZlZF90cmFjZXMgKyBvZmZzZXQsIFRS QUNFX1NUUl9MSU5FLA0KKwkJICIlcyBbMHglbGx4XSAlZCBbMHgleF0gJXMiLCBkZXZfbmFtZSgm dHJhY2VyLT5kZXYtPnBkZXYtPmRldiksDQorCQkgdGltZXN0YW1wLCBsb3N0LCBldmVudF9pZCwg bXNnKTsNCisNCisJdHJhY2VyLT5zYnVmZi5zYXZlZF90cmFjZXNfaW5kZXggPQ0KKwkJKHRyYWNl ci0+c2J1ZmYuc2F2ZWRfdHJhY2VzX2luZGV4ICsgMSkgJiAoU0FWRURfVFJBQ0VTX05VTSAtIDEp Ow0KKwltdXRleF91bmxvY2soJnRyYWNlci0+c2J1ZmYubG9jayk7DQorfQ0KKw0KIHN0YXRpYyB2 b2lkIG1seDVfdHJhY2VyX3ByaW50X3RyYWNlKHN0cnVjdCB0cmFjZXJfc3RyaW5nX2Zvcm1hdCAq c3RyX2ZybXQsDQogCQkJCSAgICBzdHJ1Y3QgbWx4NV9jb3JlX2RldiAqZGV2LA0KIAkJCQkgICAg dTY0IHRyYWNlX3RpbWVzdGFtcCkNCkBAIC01NDAsNiArNTc5LDkgQEAgc3RhdGljIHZvaWQgbWx4 NV90cmFjZXJfcHJpbnRfdHJhY2Uoc3RydWN0IHRyYWNlcl9zdHJpbmdfZm9ybWF0ICpzdHJfZnJt dCwNCiAJdHJhY2VfbWx4NV9mdyhkZXYtPnRyYWNlciwgdHJhY2VfdGltZXN0YW1wLCBzdHJfZnJt dC0+bG9zdCwNCiAJCSAgICAgIHN0cl9mcm10LT5ldmVudF9pZCwgdG1wKTsNCiANCisJbWx4NV9m d190cmFjZXJfc2F2ZV90cmFjZShkZXYtPnRyYWNlciwgdHJhY2VfdGltZXN0YW1wLA0KKwkJCQkg IHN0cl9mcm10LT5sb3N0LCBzdHJfZnJtdC0+ZXZlbnRfaWQsIHRtcCk7DQorDQogCS8qIHJlbW92 ZSBpdCBmcm9tIGhhc2ggKi8NCiAJbWx4NV90cmFjZXJfY2xlYW5fbWVzc2FnZShzdHJfZnJtdCk7 DQogfQ0KQEAgLTgyMCw2ICs4NjIsNjQgQEAgaW50IG1seDVfZndfdHJhY2VyX3RyaWdnZXJfY29y ZV9kdW1wX2dlbmVyYWwoc3RydWN0IG1seDVfY29yZV9kZXYgKmRldikNCiAJcmV0dXJuIDA7DQog fQ0KIA0KK3N0YXRpYyBpbnQNCittbHg1X2RldmxpbmtfZm1zZ19maWxsX3RyYWNlKHN0cnVjdCBk ZXZsaW5rX2Ztc2cgKmZtc2csDQorCQkJICAgICBjaGFyICp0cmFjZSkNCit7DQorCWludCBlcnI7 DQorDQorCWVyciA9IGRldmxpbmtfZm1zZ19vYmpfbmVzdF9zdGFydChmbXNnKTsNCisJaWYgKGVy cikNCisJCXJldHVybiBlcnI7DQorDQorCWVyciA9IGRldmxpbmtfZm1zZ19zdHJpbmdfcGFpcl9w dXQoZm1zZywgInRyYWNlIiwgdHJhY2UpOw0KKwlpZiAoZXJyKQ0KKwkJcmV0dXJuIGVycjsNCisN CisJZXJyID0gZGV2bGlua19mbXNnX29ial9uZXN0X2VuZChmbXNnKTsNCisJaWYgKGVycikNCisJ CXJldHVybiBlcnI7DQorCXJldHVybiAwOw0KK30NCisNCitpbnQgbWx4NV9md190cmFjZXJfZ2V0 X3NhdmVkX3RyYWNlc19vYmplY3RzKHN0cnVjdCBtbHg1X2Z3X3RyYWNlciAqdHJhY2VyLA0KKwkJ CQkJICAgIHN0cnVjdCBkZXZsaW5rX2Ztc2cgKmZtc2cpDQorew0KKwljaGFyICpzYXZlZF90cmFj ZXMgPSB0cmFjZXItPnNidWZmLnRyYWNlc19idWZmOw0KKwl1MzIgaW5kZXgsIHN0YXJ0X2luZGV4 LCBlbmRfaW5kZXg7DQorCXUzMiBzYXZlZF90cmFjZXNfaW5kZXg7DQorCWludCBlcnI7DQorDQor CWlmICghc2F2ZWRfdHJhY2VzWzBdKQ0KKwkJcmV0dXJuIC1FTk9NU0c7DQorDQorCW11dGV4X2xv Y2soJnRyYWNlci0+c2J1ZmYubG9jayk7DQorCXNhdmVkX3RyYWNlc19pbmRleCA9IHRyYWNlci0+ c2J1ZmYuc2F2ZWRfdHJhY2VzX2luZGV4Ow0KKwlpZiAoc2F2ZWRfdHJhY2VzW3NhdmVkX3RyYWNl c19pbmRleCAqIFRSQUNFX1NUUl9MSU5FXSkNCisJCXN0YXJ0X2luZGV4ID0gc2F2ZWRfdHJhY2Vz X2luZGV4Ow0KKwllbHNlDQorCQlzdGFydF9pbmRleCA9IDA7DQorCWVuZF9pbmRleCA9IChzYXZl ZF90cmFjZXNfaW5kZXggLSAxKSAmIChTQVZFRF9UUkFDRVNfTlVNIC0gMSk7DQorDQorCWVyciA9 IGRldmxpbmtfZm1zZ19hcnJfcGFpcl9uZXN0X3N0YXJ0KGZtc2csICJkdW1wIHRyYWNlcyIpOw0K KwlpZiAoZXJyKQ0KKwkJZ290byB1bmxvY2s7DQorCWluZGV4ID0gc3RhcnRfaW5kZXg7DQorCXdo aWxlIChpbmRleCAhPSBlbmRfaW5kZXgpIHsNCisJCWVyciA9IG1seDVfZGV2bGlua19mbXNnX2Zp bGxfdHJhY2UoZm1zZywNCisJCQkJCQkgICBzYXZlZF90cmFjZXMgKyBpbmRleCAqIFRSQUNFX1NU Ul9MSU5FKTsNCisJCWlmIChlcnIpDQorCQkJZ290byB1bmxvY2s7DQorDQorCQlpbmRleCA9IChp bmRleCArIDEpICYgKFNBVkVEX1RSQUNFU19OVU0gLSAxKTsNCisJfQ0KKw0KKwllcnIgPSBkZXZs aW5rX2Ztc2dfYXJyX3BhaXJfbmVzdF9lbmQoZm1zZyk7DQordW5sb2NrOg0KKwltdXRleF91bmxv Y2soJnRyYWNlci0+c2J1ZmYubG9jayk7DQorCXJldHVybiBlcnI7DQorfQ0KKw0KIC8qIENyZWF0 ZSBzb2Z0d2FyZSByZXNvdXJjZXMgKEJ1ZmZlcnMsIGV0YyAuLikgKi8NCiBzdHJ1Y3QgbWx4NV9m d190cmFjZXIgKm1seDVfZndfdHJhY2VyX2NyZWF0ZShzdHJ1Y3QgbWx4NV9jb3JlX2RldiAqZGV2 KQ0KIHsNCkBAIC04NjcsMTAgKzk2NywxOCBAQCBzdHJ1Y3QgbWx4NV9md190cmFjZXIgKm1seDVf ZndfdHJhY2VyX2NyZWF0ZShzdHJ1Y3QgbWx4NV9jb3JlX2RldiAqZGV2KQ0KIAkJZ290byBmcmVl X2xvZ19idWY7DQogCX0NCiANCisJZXJyID0gbWx4NV9md190cmFjZXJfYWxsb2NhdGVfc2F2ZWRf dHJhY2VzX2J1ZmYodHJhY2VyKTsNCisJaWYgKGVycikgew0KKwkJbWx4NV9jb3JlX3dhcm4oZGV2 LCAiRldUcmFjZXI6IENyZWF0ZSBzYXZlZCB0cmFjZXMgYnVmZmVyIGZhaWxlZCAlZFxuIiwgZXJy KTsNCisJCWdvdG8gZnJlZV9zdHJpbmdzX2RiOw0KKwl9DQorDQogCW1seDVfY29yZV9kYmcoZGV2 LCAiRldUcmFjZXI6IFRyYWNlciBjcmVhdGVkXG4iKTsNCiANCiAJcmV0dXJuIHRyYWNlcjsNCiAN CitmcmVlX3N0cmluZ3NfZGI6DQorCW1seDVfZndfdHJhY2VyX2ZyZWVfc3RyaW5nc19kYih0cmFj ZXIpOw0KIGZyZWVfbG9nX2J1ZjoNCiAJbWx4NV9md190cmFjZXJfZGVzdHJveV9sb2dfYnVmKHRy YWNlcik7DQogZGVzdHJveV93b3JrcXVldWU6DQpAQCAtOTUxLDYgKzEwNTksNyBAQCB2b2lkIG1s eDVfZndfdHJhY2VyX2Rlc3Ryb3koc3RydWN0IG1seDVfZndfdHJhY2VyICp0cmFjZXIpDQogCWNh bmNlbF93b3JrX3N5bmMoJnRyYWNlci0+cmVhZF9md19zdHJpbmdzX3dvcmspOw0KIAltbHg1X2Z3 X3RyYWNlcl9jbGVhbl9yZWFkeV9saXN0KHRyYWNlcik7DQogCW1seDVfZndfdHJhY2VyX2NsZWFu X3ByaW50X2hhc2godHJhY2VyKTsNCisJbWx4NV9md190cmFjZXJfZnJlZV9zYXZlZF90cmFjZXNf YnVmZih0cmFjZXIpOw0KIAltbHg1X2Z3X3RyYWNlcl9mcmVlX3N0cmluZ3NfZGIodHJhY2VyKTsN CiAJbWx4NV9md190cmFjZXJfZGVzdHJveV9sb2dfYnVmKHRyYWNlcik7DQogCWZsdXNoX3dvcmtx dWV1ZSh0cmFjZXItPndvcmtfcXVldWUpOw0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVy bmV0L21lbGxhbm94L21seDUvY29yZS9kaWFnL2Z3X3RyYWNlci5oIGIvZHJpdmVycy9uZXQvZXRo ZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2RpYWcvZndfdHJhY2VyLmgNCmluZGV4IGE4Yjg3NDdm MmI2MS4uOWRjZjQwYTQzMzk5IDEwMDY0NA0KLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVs bGFub3gvbWx4NS9jb3JlL2RpYWcvZndfdHJhY2VyLmgNCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVy bmV0L21lbGxhbm94L21seDUvY29yZS9kaWFnL2Z3X3RyYWNlci5oDQpAQCAtNDYsNiArNDYsMTAg QEANCiAjZGVmaW5lIFRSQUNFUl9CTE9DS19TSVpFX0JZVEUgMjU2DQogI2RlZmluZSBUUkFDRVNf UEVSX0JMT0NLIDMyDQogDQorI2RlZmluZSBUUkFDRV9TVFJfTElORSAyNTYNCisjZGVmaW5lIFNB VkVEX1RSQUNFU19OVU0gMTAyNA0KKyNkZWZpbmUgU0FWRURfVFJBQ0VTX0JVRkZFUl9TSVpFX0JZ VEUgKFNBVkVEX1RSQUNFU19OVU0gKiBUUkFDRV9TVFJfTElORSkNCisNCiAjZGVmaW5lIFRSQUNF Ul9NQVhfUEFSQU1TIDcNCiAjZGVmaW5lIE1FU1NBR0VfSEFTSF9CSVRTIDYNCiAjZGVmaW5lIE1F U1NBR0VfSEFTSF9TSVpFIEJJVChNRVNTQUdFX0hBU0hfQklUUykNCkBAIC04Myw2ICs4NywxMyBA QCBzdHJ1Y3QgbWx4NV9md190cmFjZXIgew0KIAkJdTMyIGNvbnN1bWVyX2luZGV4Ow0KIAl9IGJ1 ZmY7DQogDQorCS8qIFNhdmVkIFRyYWNlcyBCdWZmZXIgKi8NCisJc3RydWN0IHsNCisJCXZvaWQg KnRyYWNlc19idWZmOw0KKwkJdTMyIHNhdmVkX3RyYWNlc19pbmRleDsNCisJCXN0cnVjdCBtdXRl eCBsb2NrOyAvKiBQcm90ZWN0IHNidWZmIGFjY2VzcyAqLw0KKwl9IHNidWZmOw0KKw0KIAl1NjQg bGFzdF90aW1lc3RhbXA7DQogCXN0cnVjdCB3b3JrX3N0cnVjdCBoYW5kbGVfdHJhY2VzX3dvcms7 DQogCXN0cnVjdCBobGlzdF9oZWFkIGhhc2hbTUVTU0FHRV9IQVNIX1NJWkVdOw0KQEAgLTE3MSw1 ICsxODIsOCBAQCBzdHJ1Y3QgbWx4NV9md190cmFjZXIgKm1seDVfZndfdHJhY2VyX2NyZWF0ZShz dHJ1Y3QgbWx4NV9jb3JlX2RldiAqZGV2KTsNCiBpbnQgbWx4NV9md190cmFjZXJfaW5pdChzdHJ1 Y3QgbWx4NV9md190cmFjZXIgKnRyYWNlcik7DQogdm9pZCBtbHg1X2Z3X3RyYWNlcl9jbGVhbnVw KHN0cnVjdCBtbHg1X2Z3X3RyYWNlciAqdHJhY2VyKTsNCiB2b2lkIG1seDVfZndfdHJhY2VyX2Rl c3Ryb3koc3RydWN0IG1seDVfZndfdHJhY2VyICp0cmFjZXIpOw0KK2ludCBtbHg1X2Z3X3RyYWNl cl90cmlnZ2VyX2NvcmVfZHVtcF9nZW5lcmFsKHN0cnVjdCBtbHg1X2NvcmVfZGV2ICpkZXYpOw0K K2ludCBtbHg1X2Z3X3RyYWNlcl9nZXRfc2F2ZWRfdHJhY2VzX29iamVjdHMoc3RydWN0IG1seDVf ZndfdHJhY2VyICp0cmFjZXIsDQorCQkJCQkgICAgc3RydWN0IGRldmxpbmtfZm1zZyAqZm1zZyk7 DQogDQogI2VuZGlmDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gv bWx4NS9jb3JlL2hlYWx0aC5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9j b3JlL2hlYWx0aC5jDQppbmRleCA5ZmZhOWM3ZjgxYTAuLjM0YjgyNTJhZmFkNSAxMDA2NDQNCi0t LSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9oZWFsdGguYw0KKysr IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2hlYWx0aC5jDQpAQCAt NDEsNiArNDEsNyBAQA0KICNpbmNsdWRlICJsaWIvZXEuaCINCiAjaW5jbHVkZSAibGliL21seDUu aCINCiAjaW5jbHVkZSAibGliL3BjaV92c2MuaCINCisjaW5jbHVkZSAiZGlhZy9md190cmFjZXIu aCINCiANCiBlbnVtIHsNCiAJTUxYNV9IRUFMVEhfUE9MTF9JTlRFUlZBTAk9IDIgKiBIWiwNCkBA IC00NTIsOSArNDUzLDU0IEBAIG1seDVfZndfcmVwb3J0ZXJfZGlhZ25vc2Uoc3RydWN0IGRldmxp bmtfaGVhbHRoX3JlcG9ydGVyICpyZXBvcnRlciwNCiAJcmV0dXJuIGVycjsNCiB9DQogDQorc3Ry dWN0IG1seDVfZndfcmVwb3J0ZXJfY3R4IHsNCisJdTggZXJyX3N5bmQ7DQorCWludCBtaXNzX2Nv dW50ZXI7DQorfTsNCisNCitzdGF0aWMgaW50DQorbWx4NV9md19yZXBvcnRlcl9jdHhfcGFpcnNf cHV0KHN0cnVjdCBkZXZsaW5rX2Ztc2cgKmZtc2csDQorCQkJICAgICAgIHN0cnVjdCBtbHg1X2Z3 X3JlcG9ydGVyX2N0eCAqZndfcmVwb3J0ZXJfY3R4KQ0KK3sNCisJaW50IGVycjsNCisNCisJZXJy ID0gZGV2bGlua19mbXNnX3U4X3BhaXJfcHV0KGZtc2csICJTeW5kcm9tZSIsDQorCQkJCSAgICAg ICBmd19yZXBvcnRlcl9jdHgtPmVycl9zeW5kKTsNCisJaWYgKGVycikNCisJCXJldHVybiBlcnI7 DQorCWVyciA9IGRldmxpbmtfZm1zZ191MzJfcGFpcl9wdXQoZm1zZywgImZ3X21pc3NfY291bnRl ciIsDQorCQkJCQlmd19yZXBvcnRlcl9jdHgtPm1pc3NfY291bnRlcik7DQorCWlmIChlcnIpDQor CQlyZXR1cm4gZXJyOw0KKwlyZXR1cm4gMDsNCit9DQorDQorc3RhdGljIGludA0KK21seDVfZndf cmVwb3J0ZXJfZHVtcChzdHJ1Y3QgZGV2bGlua19oZWFsdGhfcmVwb3J0ZXIgKnJlcG9ydGVyLA0K KwkJICAgICAgc3RydWN0IGRldmxpbmtfZm1zZyAqZm1zZywgdm9pZCAqcHJpdl9jdHgpDQorew0K KwlzdHJ1Y3QgbWx4NV9jb3JlX2RldiAqZGV2ID0gZGV2bGlua19oZWFsdGhfcmVwb3J0ZXJfcHJp dihyZXBvcnRlcik7DQorCWludCBlcnI7DQorDQorCWVyciA9IG1seDVfZndfdHJhY2VyX3RyaWdn ZXJfY29yZV9kdW1wX2dlbmVyYWwoZGV2KTsNCisJaWYgKGVycikNCisJCXJldHVybiBlcnI7DQor DQorCWlmIChwcml2X2N0eCkgew0KKwkJc3RydWN0IG1seDVfZndfcmVwb3J0ZXJfY3R4ICpmd19y ZXBvcnRlcl9jdHggPSBwcml2X2N0eDsNCisNCisJCWVyciA9IG1seDVfZndfcmVwb3J0ZXJfY3R4 X3BhaXJzX3B1dChmbXNnLCBmd19yZXBvcnRlcl9jdHgpOw0KKwkJaWYgKGVycikNCisJCQlyZXR1 cm4gZXJyOw0KKwl9DQorDQorCXJldHVybiBtbHg1X2Z3X3RyYWNlcl9nZXRfc2F2ZWRfdHJhY2Vz X29iamVjdHMoZGV2LT50cmFjZXIsIGZtc2cpOw0KK30NCisNCiBzdGF0aWMgY29uc3Qgc3RydWN0 IGRldmxpbmtfaGVhbHRoX3JlcG9ydGVyX29wcyBtbHg1X2Z3X3JlcG9ydGVyX29wcyA9IHsNCiAJ CS5uYW1lID0gImZ3IiwNCiAJCS5kaWFnbm9zZSA9IG1seDVfZndfcmVwb3J0ZXJfZGlhZ25vc2Us DQorCQkuZHVtcCA9IG1seDVfZndfcmVwb3J0ZXJfZHVtcCwNCiB9Ow0KIA0KIHN0YXRpYyB2b2lk IG1seDVfZndfcmVwb3J0ZXJfY3JlYXRlKHN0cnVjdCBtbHg1X2NvcmVfZGV2ICpkZXYpDQotLSAN CjIuMjAuMQ0KDQo=