Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp1053142imu; Fri, 9 Nov 2018 10:09:39 -0800 (PST) X-Google-Smtp-Source: AJdET5cNop/UoveMJKaCpxBX+HvBax51dG8GNnSXhTVrd9byB51DRcQVjCSP4JW7Jg57ingszLPC X-Received: by 2002:a62:43cd:: with SMTP id l74-v6mr10314650pfi.240.1541786979497; Fri, 09 Nov 2018 10:09:39 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1541786979; cv=none; d=google.com; s=arc-20160816; b=j2X7eFz+PVZ+CtEqHIPgxDxkv0838RzXCiPF+Al7egJQOYO+8XH39YzlOJusTPTDZY qnisUs14HtfCm6mLJqtjhxIWr2+5Lw+Zy1DWJOn0L/Lr01pQ/x1FBc/RhzIPHbRu+Y/L e+/NaZBMmSjHVimslWIttWn89AQRwIe0byce/2uNgbyLTNe8NgQyzc0wQ+Szw/kg20A8 jwCDLeqsOw0ChzMe893LPTgwL0vz3N64JFmjYO5cbi6hip4uVmmDDq5IwOjtSM9MY8Fc BL4loPwwdelAMox+7bK6t+qdpqICklNEoYriFkM5ypIt9/PfBcO1eMes7lXFEFpPIbuk 1t0A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature; bh=JoQClLzgtvrlDycZt/NZvr2vNQnmZCFnO4dzNy7lTxA=; b=DWVgcyS+zwVQwsrhgwNlX6Ken1S4BH2YyQnJBpDDNVcDzw7RhVJJO1j3AODoYLKvGj ZS09kwmtQs2QmXaOMhO+q8Pivc3St/zsdDdHqznX4a5NS8t0IBxRGg7m+zVODLGx/5BM YCEo9bom1viuG/Z027ko9Qg/RDFoi3hJ4o6vKO9lcLpmgw0feX2fCZ+vtR5AkMV2Unu7 m+wT42IhnpLW9+4d8oKTTMYaBVTOZCSj91z0a645+9O5FNxrJ6hTFB9EsnmZ2dACf9z3 v6Jy+e0T18VS60sJdj70Nxxxz/N+9exS3z56yCgpmvYxBvyyosTMw8hMYLoaWb+ZLnxC RAxw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@dell.com header.s=smtpout header.b=hN9ySJtb; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=dell.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t3-v6si8632331pfl.107.2018.11.09.10.08.58; Fri, 09 Nov 2018 10:09:39 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=fail header.i=@dell.com header.s=smtpout header.b=hN9ySJtb; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=dell.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728645AbeKJDtf (ORCPT + 99 others); Fri, 9 Nov 2018 22:49:35 -0500 Received: from esa2.dell-outbound.iphmx.com ([68.232.149.220]:19168 "EHLO esa2.dell-outbound.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727961AbeKJDtf (ORCPT ); Fri, 9 Nov 2018 22:49:35 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=dell.com; i=@dell.com; q=dns/txt; s=smtpout; t=1541786873; x=1573322873; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=JoQClLzgtvrlDycZt/NZvr2vNQnmZCFnO4dzNy7lTxA=; b=hN9ySJtbpiv62EyZ07AiWyGeunbCLkVZ5JtBjLK7gMfMFAzUG8cVENeZ 1hDudwcE15mG0vnmBvXJZktRL2J7wShH0L10GE2TzRP13C+NxzGdMfUjx Q2jrbVIm4R2+XCvQqU+VwNaCtiUnWw4w9+X8vBpZ1VHPx3QHroc76D/Cd E=; X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A2EEAACky+VbhyeV50NjGgEBAQEBAgE?= =?us-ascii?q?BAQEHAgEBAQGBUQUBAQEBCwGBVQWCEScKg26IGF+LHIINg0KTcBSBZgsBAYR?= =?us-ascii?q?sAheDDiI0DQ0BAwEBAgEBAgEBAhABAQEKCwkIKS+CNiKCYwEBAQECARIRBA0?= =?us-ascii?q?zEgULAgEIEQMBAgECAiYCAgJFCAgCBAENBQgagjRLAYF5CJwAAoEQiVgBAQF?= =?us-ascii?q?uezOKJYELinGCF4EQAYMShGcuD4JeglcCgSoBjVeGGIoyBgECihoFgxaDXCC?= =?us-ascii?q?BVyKEX4oWl0oCBAIEBQIUgUOCDnCBboFOgicOCRKOCkABMYpEKYEFgR8BAQ?= X-IPAS-Result: =?us-ascii?q?A2EEAACky+VbhyeV50NjGgEBAQEBAgEBAQEHAgEBAQGBU?= =?us-ascii?q?QUBAQEBCwGBVQWCEScKg26IGF+LHIINg0KTcBSBZgsBAYRsAheDDiI0DQ0BA?= =?us-ascii?q?wEBAgEBAgEBAhABAQEKCwkIKS+CNiKCYwEBAQECARIRBA0zEgULAgEIEQMBA?= =?us-ascii?q?gECAiYCAgJFCAgCBAENBQgagjRLAYF5CJwAAoEQiVgBAQFuezOKJYELinGCF?= =?us-ascii?q?4EQAYMShGcuD4JeglcCgSoBjVeGGIoyBgECihoFgxaDXCCBVyKEX4oWl0oCB?= =?us-ascii?q?AIEBQIUgUOCDnCBboFOgicOCRKOCkABMYpEKYEFgR8BAQ?= Received: from mx0a-00154901.pphosted.com ([67.231.149.39]) by esa2.dell-outbound.iphmx.com with ESMTP/TLS/AES256-SHA256; 09 Nov 2018 12:07:52 -0600 Received: from pps.filterd (m0142693.ppops.net [127.0.0.1]) by mx0a-00154901.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id wA9HwI1D019573; Fri, 9 Nov 2018 13:07:52 -0500 Received: from esa6.dell-outbound2.iphmx.com (esa6.dell-outbound2.iphmx.com [68.232.154.99]) by mx0a-00154901.pphosted.com with ESMTP id 2nnd1j0qgx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Fri, 09 Nov 2018 13:07:52 -0500 From: Received: from ausxipps310.us.dell.com ([143.166.148.211]) by esa6.dell-outbound2.iphmx.com with ESMTP/TLS/DHE-RSA-AES256-SHA256; 10 Nov 2018 00:07:51 +0600 X-LoopCount0: from 10.166.135.97 X-IronPort-AV: E=Sophos;i="5.54,484,1534827600"; d="scan'208";a="280902185" To: , CC: , , Subject: RE: [PATCH net-next v3 6/6] net/ncsi: Configure multi-package, multi-channel modes with failover Thread-Topic: [PATCH net-next v3 6/6] net/ncsi: Configure multi-package, multi-channel modes with failover Thread-Index: AQHUdw3T7sTeKH7RI0a85rjfghKYaaVGRmNggADUx4CAAIbq0A== Date: Fri, 9 Nov 2018 18:07:49 +0000 Message-ID: References: <20181108024909.9897-1-sam@mendozajonas.com> <20181108024909.9897-7-sam@mendozajonas.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.143.18.86] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2018-11-09_06:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1807170000 definitions=main-1811090164 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org SGkgU2FtdWVsLA0KDQpUaGUgZXh0cmEgcGF0Y2ggZml4ZWQgbW9zdCBpc3N1ZXMgYnV0IEkgc2Vl IGFub3RoZXIgY29ybmVyIGNhc2UuDQoNClRoYW5rcywNCkp1c3Rpbg0KDQoNCj4gT24gVGh1LCAy MDE4LTExLTA4IGF0IDIyOjQ4ICswMDAwLCBKdXN0aW4uTGVlMUBEZWxsLmNvbSB3cm90ZToNCj4g PiBIaSBTYW11ZWwsDQo+ID4gDQo+ID4gRm9yIG11bHRpLXBhY2thZ2UgYW5kIG11bHRpLWNoYW5u ZWwgY2FzZSwgY2hhbm5lbCBzZWVtcyB0byBiZSBzZWxlY3QgY29ycmVjdGx5LiBFeHBlY3QgdGhh dCwNCj4gPiBJIHN0aWxsIHNlZSB0aGUgdGltaW5nIGlzc3VlIGZvciBiYWNrLXRvLWJhY2sgbmV0 bGluayBjb21tYW5kLiBEdWUgdG8gdGhhdCwgY2hhbm5lbCBtaWdodCBiZQ0KPiA+IHNldCB0byBp bnZpc2libGUgc3RhdGUuIFBsZWFzZSByZWZlciB0byBuY3NpMCBhbmQgbmNzaTIgYmVsb3cuIFRo ZSBjaGFubmVsIHN0YXRlIGlzIHNldCB0byAzLg0KPiA+IA0KPiA+IGNhdCAvc3lzL2tlcm5lbC9k ZWJ1Zy9uY3NpX3Byb3RvY29sL25jc2lfZGV2aWNlX3N0YXR1cw0KPiA+IElGSURYIElGTkFNRSBO QU1FICAgUElEIENJRCBSWCBUWCBNUCBNQyBXUCBXQyBQQyBDUyBQUyBMUyBSVSBDUiBOUSBIQQ0K PiA+ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQ0KPiA+ICAgMiAgIGV0aDIgICBuY3NpMCAgMDAwIDAwMCAxICAxICAx ICAxICAxICAwICAwICAzICAwICAxICAxICAxICAwICAxDQo+ID4gICAyICAgZXRoMiAgIG5jc2kx ICAwMDAgMDAxIDAgIDAgIDEgIDEgIDEgIDAgIDAgIDEgIDAgIDEgIDEgIDEgIDAgIDENCj4gPiAg IDIgICBldGgyICAgbmNzaTIgIDAwMSAwMDAgMSAgMCAgMSAgMSAgMSAgMSAgMCAgMyAgMCAgMSAg MSAgMSAgMCAgMQ0KPiA+ICAgMiAgIGV0aDIgICBuY3NpMyAgMDAxIDAwMSAxICAwICAxICAxICAx ICAxICAwICAyICAxICAxICAxICAxICAwICAxDQo+ID4gPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQo+ID4gTVA6IE11 bHRpLW1vZGUgUGFja2FnZSAgV1A6IFdoaXRlbGlzdCBQYWNrYWdlDQo+ID4gTUM6IE11bHRpLW1v ZGUgQ2hhbm5lbCAgV0M6IFdoaXRlbGlzdCBDaGFubmVsDQo+ID4gUEM6IFByaW1hcnkgQ2hhbm5l bCAgICAgQ1M6IENoYW5uZWwgU3RhdGUgSUEvQS9JViAxLzIvMw0KPiA+IFBTOiBQb2xsIFN0YXR1 cyAgICAgICAgIExTOiBMaW5rIFN0YXR1cw0KPiA+IFJVOiBSdW5uaW5nICAgICAgICAgICAgIENS OiBDYXJyaWVyIE9LDQo+ID4gTlE6IFF1ZXVlIFN0b3BwZWQgICAgICAgSEE6IEhhcmR3YXJlIEFy Yml0cmF0aW9uDQo+ID4gDQo+ID4gVGhlIHRpbWluZyBpc3N1ZSBpcyBub3Qgb25seSBoYXBwZW5p bmcgaW4gYXBwbGljYXRpb24uIElmIEkgdXNlIHVzaW5nIHRoZSBmb2xsb3dpbmcgd2F5DQo+ID4g dG8gc2VuZCB0aGUgcmVxdWVzdCwgSSBjYW4gc2VlIHRoZSBpc3N1ZSBhcyB3ZWxsLiANCj4gPiAN Cj4gPiBuY3NpX25ldGxpbmsgLWwgMiAtYSAweDAxIC1tOyBuY3NpX25ldGxpbmsgLWwgMiAtcCAw IC1iIDB4MDMgLW07IG5jc2lfbmV0bGluayAtbCAyIC1wIDEgLWIgMHgwMCAtbTsNCj4gPiBuY3Np X25ldGxpbmsgLWwgMiAtYSAweDAzIC1tOyBuY3NpX25ldGxpbmsgLWwgMiAtcCAwIC1iIDB4MDAg LW07IG5jc2lfbmV0bGluayAtbCAyIC1wIDEgLWIgMHgwMyAtbTsNCj4gDQo+IFRoaXMgYWN0dWFs bHkgcmVjcmVhdGVzIGZvciBtZSBhcyB3ZWxsOyBJIHNlZSBub3cgd2hhdCB5b3UgbWVhbiBhYm91 dA0KPiBjaGFubmVscyBnZXR0aW5nIHN0dWNrIGluIHRoZSBpbnZpc2libGUgc3RhdGUuIEkgYmVs aWV2ZSBJJ3ZlIG5hcnJvd2VkDQo+IGRvd24gdGhlIGlzc3VlLiBJJ3ZlIHBhc3RlZCBhbiBhZGRp dGlvbmFsIHBhdGNoIGJlbG93IGlmIHlvdSBhcmUgYWJsZSB0bw0KPiB0ZXN0IG9uIHlvdXIgbWFj aGluZS4NCj4gDQo+ID4gDQo+ID4gDQo+ID4gQWxzbywgdGhlcmUgaXMgb25lIGlzc3VlIGJlbG93 IGZvciBub24tbXVsdGktcGFja2FnZS9ub24tbXVsdGktY2hhbm5lbCBjYXNlLg0KPiA+IA0KPiA+ IFRoYW5rcywNCj4gPiBKdXN0aW4NCj4gPiANCj4gPiANCj4gPiA+IEBAIC0xMDA4LDMyICsxMTY0 LDQ5IEBAIHN0YXRpYyBpbnQgbmNzaV9jaG9vc2VfYWN0aXZlX2NoYW5uZWwoc3RydWN0IG5jc2lf ZGV2X3ByaXYgKm5kcCkNCj4gPiA+ICANCj4gPiA+ICAJCQluY20gPSAmbmMtPm1vZGVzW05DU0lf TU9ERV9MSU5LXTsNCj4gPiA+ICAJCQlpZiAobmNtLT5kYXRhWzJdICYgMHgxKSB7DQo+ID4gPiAt CQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJm5jLT5sb2NrLCBmbGFncyk7DQo+ID4gPiAgCQkJ CWZvdW5kID0gbmM7DQo+ID4gPiAtCQkJCWdvdG8gb3V0Ow0KPiA+ID4gKwkJCQl3aXRoX2xpbmsg PSB0cnVlOw0KPiA+ID4gIAkJCX0NCj4gPiA+ICANCj4gPiA+IC0JCQlzcGluX3VubG9ja19pcnFy ZXN0b3JlKCZuYy0+bG9jaywgZmxhZ3MpOw0KPiA+ID4gKwkJCS8qIElmIG11bHRpX2NoYW5uZWwg aXMgZW5hYmxlZCBjb25maWd1cmUgYWxsIHZhbGlkDQo+ID4gPiArCQkJICogY2hhbm5lbHMgd2hl dGhlciBvciBub3QgdGhleSBjdXJyZW50bHkgaGF2ZSBsaW5rDQo+ID4gPiArCQkJICogc28gdGhl eSB3aWxsIGhhdmUgQUVOcyBlbmFibGVkLg0KPiA+ID4gKwkJCSAqLw0KPiA+ID4gKwkJCWlmICh3 aXRoX2xpbmsgfHwgbnAtPm11bHRpX2NoYW5uZWwpIHsNCj4gPiA+ICsJCQkJc3Bpbl9sb2NrX2ly cXNhdmUoJm5kcC0+bG9jaywgZmxhZ3MpOw0KPiA+ID4gKwkJCQlsaXN0X2FkZF90YWlsX3JjdSgm bmMtPmxpbmssDQo+ID4gPiArCQkJCQkJICAmbmRwLT5jaGFubmVsX3F1ZXVlKTsNCj4gPiA+ICsJ CQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbmRwLT5sb2NrLCBmbGFncyk7DQo+ID4gPiArDQo+ ID4gPiArCQkJCW5ldGRldl9kYmcobmRwLT5uZGV2LmRldiwNCj4gPiA+ICsJCQkJCSAgICJOQ1NJ OiBDaGFubmVsICV1IGFkZGVkIHRvIHF1ZXVlIChsaW5rICVzKVxuIiwNCj4gPiA+ICsJCQkJCSAg IG5jLT5pZCwNCj4gPiA+ICsJCQkJCSAgIG5jbS0+ZGF0YVsyXSAmIDB4MSA/ICJ1cCIgOiAiZG93 biIpOw0KPiA+ID4gKwkJCX0NCj4gPiA+ICsNCj4gPiA+ICsJCQlzcGluX3VubG9ja19pcnFyZXN0 b3JlKCZuYy0+bG9jaywgY2ZsYWdzKTsNCj4gPiA+ICsNCj4gPiA+ICsJCQlpZiAod2l0aF9saW5r ICYmICFucC0+bXVsdGlfY2hhbm5lbCkNCj4gPiA+ICsJCQkJYnJlYWs7DQo+ID4gDQo+ID4gVGhl IGxpbmUgbmVlZHMgdG8gY2hhbmdlIHRvICJnb3RvIGZvdW5kIi4gSWYgbm90LCBhbGwgY2hhbm5l bHMgd2l0aCBsaW5rIHdpbGwgYmUgYWRkZWQNCj4gPiBldmVuIGlmIHRoZSBtdWx0aS1jaGFubmVs IGlzIG5vdCBlbmFibGVkIGZvciB0aGF0IHBhY2thZ2UuIFRoZSBuY3NpMSBiZWxvdyBpcyBlbmFi bGVkLg0KPiA+IFRoZXJlIGlzIG5vIG5ldGxpbmsgY29tbWFuZCBzZW50IHRvIGVuYWJsZSBtdWx0 aS1wYWNrYWdlIG9yIG11bHRpLWNoYW5uZWwuDQo+ID4gDQo+ID4gSUZJRFggSUZOQU1FIE5BTUUg ICBQSUQgQ0lEIFJYIFRYIE1QIE1DIFdQIFdDIFBDIENTIFBTIExTIFJVIENSIE5RIEhBDQo+ID4g PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09DQo+ID4gICAyICAgZXRoMiAgIG5jc2kwICAwMDAgMDAwIDEgIDEgIDAgIDAg IDEgIDEgIDAgIDIgIDEgIDEgIDEgIDEgIDAgIDENCj4gPiAgIDIgICBldGgyICAgbmNzaTEgIDAw MCAwMDEgMSAgMCAgMCAgMCAgMSAgMSAgMCAgMiAgMSAgMSAgMSAgMSAgMCAgMQ0KPiA+ICAgMiAg IGV0aDIgICBuY3NpMiAgMDAxIDAwMCAwICAwICAwICAwICAxICAxICAwICAxICAwICAxICAxICAx ICAwICAxDQo+ID4gICAyICAgZXRoMiAgIG5jc2kzICAwMDEgMDAxIDAgIDAgIDAgIDAgIDEgIDEg IDAgIDEgIDAgIDEgIDEgIDEgIDAgIDENCj4gPiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCj4gPiBNUDogTXVsdGkt bW9kZSBQYWNrYWdlICBXUDogV2hpdGVsaXN0IFBhY2thZ2UNCj4gPiBNQzogTXVsdGktbW9kZSBD aGFubmVsICBXQzogV2hpdGVsaXN0IENoYW5uZWwNCj4gPiBQQzogUHJpbWFyeSBDaGFubmVsICAg ICBDUzogQ2hhbm5lbCBTdGF0ZSBJQS9BL0lWIDEvMi8zDQo+ID4gUFM6IFBvbGwgU3RhdHVzICAg ICAgICAgTFM6IExpbmsgU3RhdHVzDQo+ID4gUlU6IFJ1bm5pbmcgICAgICAgICAgICAgQ1I6IENh cnJpZXIgT0sNCj4gPiBOUTogUXVldWUgU3RvcHBlZCAgICAgICBIQTogSGFyZHdhcmUgQXJiaXRy YXRpb24NCj4gPiANCj4gPiA+ICAJCX0NCj4gPiA+ICsJCWlmICh3aXRoX2xpbmsgJiYgIW5kcC0+ bXVsdGlfcGFja2FnZSkNCj4gPiA+ICsJCQlicmVhazsNCj4gPiA+ICAJfQ0KPiA+IA0KPiA+IGZv dW5kOg0KPiANCj4gVGhpcyAqbWF5KiBiZSBwYXJ0IG9mIHRoZSBhYm92ZSBpc3N1ZSwgSSBkb24n dCBzZWUgdGhpcyBpbiBub3JtYWwNCj4gb3BlcmF0aW9uLiBUaGUgY29tYmluYXRpb24gb2YgKHdp dGhfbGluayAmJiAhbnAtPm11bHRpX2NoYW5uZWwpIGFuZA0KPiAod2l0aF9saW5rICYmICFuZHAt Pm11bHRpX3BhY2thZ2UpIHNob3VsZCBwcmV2ZW50IGFkZGl0aW9uYWwgY2hhbm5lbHMNCj4gYmVp bmcgYWRkZWQgd2l0aG91dCB0aGUgbmVlZCBmb3IgJ2dvdG8gZm91bmQnLiBQbGVhc2UgbGV0IG1l IGtub3cgaWYgeW91DQo+IHN0aWxsIHNlZSBpdCB3aXRoIHRoZSBleHRyYSBwYXRjaC4NCj4gDQoN ClRoaXMgb25lIGlzIGZpeGVkIGJ5IHlvdXIgZXh0cmEgcGF0Y2ggYnV0IEkgc2VlIGFub3RoZXIg Y29ybmVyIGNhc2UuIEJhc2ljYWxseSwNCnRoZSBpc3N1ZSBpcyBkdWUgdG8gdGhlIGxpbmsgc3Rh dHVzIGlzIG5vdCB1cGRhdGluZyBkdXJpbmcgdGhlIHByb2Nlc3Mgb2YNCmNob29zaW5nIHRoZSBh Y3RpdmUgY2hhbm5lbC4gRHVyaW5nIHRoZSBwcm9jZXNzLCBtYXliZSB3ZSBzaG91bGQgZmluZCBh IA0KY2hhbmNlIHRvIHNlbmQgR2V0IExpbmsgU3RhdHVzIGNvbW1hbmQgdG8gYWxsIHdoaXRlbGlz dCBjaGFubmVscy4NCg0KSGVyZSBpcyBteSBzdGVwLg0KMS4gQWxsIGZvdXIgY2hhbm5lbHMgcGx1 ZyBFdGhlcm5ldCBjYWJsZS4NCjIuIEJNQyBzdGFydHMgd2l0aG91dCBhbnkgbXVsdGktcGFja2Fn ZS9tdWx0aS1jaGFubmVsIGNvbmZpZ3VyYXRpb24uDQozLiBUaGUgbmNzaTAgY2hhbm5lbCBpcyBz ZWxlY3RlZCBieSBOQy1TSSBkcml2ZXIuDQo0LiBSZW1vdmUgY2FibGUgZnJvbSBuY3NpMC4NCjUu IFRoZSBuY3NpMSBjaGFubmVsIGlzIHNlbGVjdGVkIGJ5IE5DLVNJIGRyaXZlci4NCjYuIFJlbW92 ZSBjYWJsZSBmcm9tIG5jc2kxLg0KNy4gVGhlIG5jc2kyIGNoYW5uZWwgaXMgc2VsZWN0ZWQgYnkg TkMtU0kgZHJpdmVyLg0KOC4gSW5zZXJ0IGNhYmxlIGZvciBuY3NpMC4gTGluayBzdGF0dXMgd2ls bCBub3QgYmUgdXBkYXRlZC4NCjkuIFJlbW92ZSBjYWJsZSBmcm9tIG5jc2kyLg0KMTAuIFRoZSBu Y3NpMyBjaGFubmVsIGlzIHNlbGVjdGVkIGJ5IE5DLVNJIGRyaXZlci4NCjExLiBSZW1vdmUgY2Fi bGUgZnJvbSBuY3NpMy4NCjEyLiBUaGUgc2VsZWN0ZWQgY2hhbm5lbCBpcyBuY3NpMyB3aXRob3V0 IGxpbmsuDQoNCmNhdCAvc3lzL2tlcm5lbC9kZWJ1Zy9uY3NpX3Byb3RvY29sL25jc2lfZGV2aWNl Xw0KSUZJRFggSUZOQU1FIE5BTUUgICBQSUQgQ0lEIFJYIFRYIE1QIE1DIFdQIFdDIFBDIENTIFBT IExTIFJVIENSIE5RIEhBDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiAgMiAgIGV0aDIgICBuY3NpMCAgMDAwIDAw MCAwICAwICAwICAwICAxICAxICAwICAxICAwICAwICAxICAxICAwICAxDQogIDIgICBldGgyICAg bmNzaTEgIDAwMCAwMDEgMCAgMCAgMCAgMCAgMSAgMSAgMCAgMSAgMCAgMCAgMSAgMSAgMCAgMQ0K ICAyICAgZXRoMiAgIG5jc2kyICAwMDEgMDAwIDAgIDAgIDAgIDAgIDEgIDEgIDAgIDEgIDAgIDAg IDEgIDEgIDAgIDENCiAgMiAgIGV0aDIgICBuY3NpMyAgMDAxIDAwMSAxICAxICAwICAwICAxICAx ICAwICAyICAxICAwICAxICAxICAwICAxDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCk1QOiBNdWx0aS1tb2RlIFBh Y2thZ2UgIFdQOiBXaGl0ZWxpc3QgUGFja2FnZQ0KTUM6IE11bHRpLW1vZGUgQ2hhbm5lbCAgV0M6 IFdoaXRlbGlzdCBDaGFubmVsDQpQQzogUHJpbWFyeSBDaGFubmVsICAgICBDUzogQ2hhbm5lbCBT dGF0ZSBJQS9BL0lWIDEvMi8zDQpQUzogUG9sbCBTdGF0dXMgICAgICAgICBMUzogTGluayBTdGF0 dXMNClJVOiBSdW5uaW5nICAgICAgICAgICAgIENSOiBDYXJyaWVyIE9LDQpOUTogUXVldWUgU3Rv cHBlZCAgICAgICBIQTogSGFyZHdhcmUgQXJiaXRyYXRpb24NCg0KPiA+IA0KPiA+IEFmdGVyIGFw cGx5aW5nIHRoaXMgY2hhbmdlLCBJIG5vdGljZSB0aGF0IGlmIHRoZXJlIGlzIG5vIGxpbmsgYXZh aWxhYmxlIHRvIEJNQyB3aGVuIEJNQw0KPiA+IHN0YXJ0cywgTkMtU0kgY2FuJ3QgcHJvcGVybHkg Y29uZmlndXJlIGNoYW5uZWwgb25jZSBJIHBsdWcgaW4gdGhlIEV0aGVybmV0IGNhYmxlLiANCj4g PiANCj4gPiBucGNtN3h4LWVtYyBmMDgyNTAwMC5ldGggZXRoMjogTkNTSTogbmNzaV9hZW5faGFu ZGxlcl9sc2MoKSAtIHBrZyAwIGNoIDAgc3RhdGUgdXANCj4gPiBucGNtN3h4LWVtYyBmMDgyNTAw MC5ldGggZXRoMjogTkNTSTogbmNzaV9hZW5faGFuZGxlcl9sc2MoKSAtIGhhZF9saW5rIDAsIGhh c19saW5rIDEsIGNoYWluZWQgMA0KPiA+IG5wY203eHgtZW1jIGYwODI1MDAwLmV0aCBldGgyOiBO Q1NJOiBuY3NpX3N0b3BfY2hhbm5lbF9tb25pdG9yKCkgLSBwa2cgMCBjaCAwDQo+ID4gbnBjbTd4 eC1lbWMgZjA4MjUwMDAuZXRoIGV0aDI6IE5DU0k6IG5jc2lfcHJvY2Vzc19uZXh0X2NoYW5uZWwo KQ0KPiA+IG5wY203eHgtZW1jIGYwODI1MDAwLmV0aCBldGgyOiBOQ1NJOiBuY3NpX3Byb2Nlc3Nf bmV4dF9jaGFubmVsKCkgLSBwa2cgMCBjaCAwIElOVklTSUJMRQ0KPiA+IG5wY203eHgtZW1jIGYw ODI1MDAwLmV0aCBldGgyOiBOQ1NJOiBuY3NpX3Byb2Nlc3NfbmV4dF9jaGFubmVsKCkgLSBzdXNw ZW5kaW5nIHBrZyAwIGNoIDANCj4gPiBucGNtN3h4LWVtYyBmMDgyNTAwMC5ldGggZXRoMjogTkNT STogbmNzaV9zdXNwZW5kX2NoYW5uZWwoKSAtIHBrZyAwIGNoIDAgc3RhdGUgMDQwMCBzZWxlY3QN Cj4gPiBucGNtN3h4LWVtYyBmMDgyNTAwMC5ldGggZXRoMjogTkNTSTogbmNzaV9kZXZfd29yaygp DQo+ID4gbnBjbTd4eC1lbWMgZjA4MjUwMDAuZXRoIGV0aDI6IE5DU0k6IG5jc2lfc3VzcGVuZF9j aGFubmVsKCkgLSBwa2cgMCBjaCAwIHN0YXRlIDA0MDMgZGMNCj4gPiBucGNtN3h4LWVtYyBmMDgy NTAwMC5ldGggZXRoMjogTkNTSTogbmNzaV9kZXZfd29yaygpDQo+ID4gbnBjbTd4eC1lbWMgZjA4 MjUwMDAuZXRoIGV0aDI6IE5DU0k6IG5jc2lfc3VzcGVuZF9jaGFubmVsKCkgLSBwa2cgMCBjaCAw IHN0YXRlIDA0MDQgZGVzZWxlY3QNCj4gPiBucGNtN3h4LWVtYyBmMDgyNTAwMC5ldGggZXRoMjog TkNTSTogbmNzaV9kZXZfd29yaygpDQo+ID4gbnBjbTd4eC1lbWMgZjA4MjUwMDAuZXRoIGV0aDI6 IE5DU0k6IG5jc2lfc3VzcGVuZF9jaGFubmVsKCkgLSBwa2cgMCBjaCAwIHN0YXRlIDA0MDUgZG9u ZQ0KPiA+IG5wY203eHgtZW1jIGYwODI1MDAwLmV0aCBldGgyOiBOQ1NJOiBuY3NpX3JzcF9oYW5k bGVyX2RwKCkgLSBwa2cgMCBjaCAwIElOQUNUSVZFDQo+ID4gbnBjbTd4eC1lbWMgZjA4MjUwMDAu ZXRoIGV0aDI6IE5DU0k6IG5jc2lfcnNwX2hhbmRsZXJfZHAoKSAtIHBrZyAwIGNoIDEgSU5BQ1RJ VkUNCj4gPiBucGNtN3h4LWVtYyBmMDgyNTAwMC5ldGggZXRoMjogTkNTSTogbmNzaV9kZXZfd29y aygpDQo+ID4gbnBjbTd4eC1lbWMgZjA4MjUwMDAuZXRoIGV0aDI6IE5DU0k6IG5jc2lfc3VzcGVu ZF9jaGFubmVsKCkgLSBwa2cgMCBjaCAwIHN0YXRlIDA0MDYgZGVzZWxlY3QNCj4gPiBucGNtN3h4 LWVtYyBmMDgyNTAwMC5ldGggZXRoMjogTkNTSTogbmNzaV9zdXNwZW5kX2NoYW5uZWwoKSAtIHBr ZyAwIGNoIDAgSU5BQ1RJVkUNCj4gPiBucGNtN3h4LWVtYyBmMDgyNTAwMC5ldGggZXRoMjogTkNT STogbmNzaV9wcm9jZXNzX25leHRfY2hhbm5lbCgpDQo+ID4gbnBjbTd4eC1lbWMgZjA4MjUwMDAu ZXRoIGV0aDI6IE5DU0k6IG5jc2lfcHJvY2Vzc19uZXh0X2NoYW5uZWwoKSAtIE5vIG1vcmUgY2hh bm5lbHMgdG8gcHJvY2Vzcw0KPiA+IG5wY203eHgtZW1jIGYwODI1MDAwLmV0aCBldGgyOiBOQ1NJ IGludGVyZmFjZSBkb3duDQo+IA0KPiBHb29kIGZpbmQsIHRoZXJlIHdhcyBhIGNvcm5lciBjYXNl IGluIHRoZSBMU0MgQUVOIGhhbmRsZXIgY2hhbmdlcyB0aGF0DQo+IGxlZCB0byB0aGlzLCBJJ3Zl IGZpeGVkIHRoaXMgaW4gdGhlIHBhdGNoIGFzIHdlbGwuIFRoYW5rcyBmb3IgdGVzdGluZyENCg0K VGhpcyBvbmUgaXMgZml4ZWQuDQoNCj4gDQo+IA0KPiBGcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxDQo+IEZyb206IFNh bXVlbCBNZW5kb3phLUpvbmFzIDxzYW1AbWVuZG96YWpvbmFzLmNvbT4NCj4gRGF0ZTogRnJpLCA5 IE5vdiAyMDE4IDEzOjExOjAzICsxMTAwDQo+IFN1YmplY3Q6IFtQQVRDSF0gbmV0L25jc2k6IFJl c2V0IHN0YXRlIGZpeGVzLCBzaW5nbGUtY2hhbm5lbCBMU0MNCj4gDQo+IC0tLQ0KPiAgbmV0L25j c2kvbmNzaS1hZW4uYyAgICB8ICA4ICsrKysrLS0tDQo+ICBuZXQvbmNzaS9uY3NpLW1hbmFnZS5j IHwgMTkgKysrKysrKysrKysrKysrLS0tLQ0KPiAgMiBmaWxlcyBjaGFuZ2VkLCAyMCBpbnNlcnRp b25zKCspLCA3IGRlbGV0aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL25ldC9uY3NpL25jc2kt YWVuLmMgYi9uZXQvbmNzaS9uY3NpLWFlbi5jDQo+IGluZGV4IDM5YzJlOWVlYTJiYS4uMDM0Y2Ix ZGM1NTY2IDEwMDY0NA0KPiAtLS0gYS9uZXQvbmNzaS9uY3NpLWFlbi5jDQo+ICsrKyBiL25ldC9u Y3NpL25jc2ktYWVuLmMNCj4gQEAgLTkzLDE0ICs5MywxNiBAQCBzdGF0aWMgaW50IG5jc2lfYWVu X2hhbmRsZXJfbHNjKHN0cnVjdCBuY3NpX2Rldl9wcml2ICpuZHAsDQo+ICAJaWYgKChoYWRfbGlu ayA9PSBoYXNfbGluaykgfHwgY2hhaW5lZCkNCj4gIAkJcmV0dXJuIDA7DQo+ICANCj4gLQlpZiAo IW5kcC0+bXVsdGlfcGFja2FnZSAmJiAhbmMtPnBhY2thZ2UtPm11bHRpX2NoYW5uZWwpIHsNCj4g LQkJaWYgKGhhZF9saW5rKQ0KPiAtCQkJbmRwLT5mbGFncyB8PSBOQ1NJX0RFVl9SRVNIVUZGTEU7 DQo+ICsJaWYgKCFuZHAtPm11bHRpX3BhY2thZ2UgJiYgIW5jLT5wYWNrYWdlLT5tdWx0aV9jaGFu bmVsICYmIGhhZF9saW5rKSB7DQo+ICsJCW5kcC0+ZmxhZ3MgfD0gTkNTSV9ERVZfUkVTSFVGRkxF Ow0KPiAgCQluY3NpX3N0b3BfY2hhbm5lbF9tb25pdG9yKG5jKTsNCj4gIAkJc3Bpbl9sb2NrX2ly cXNhdmUoJm5kcC0+bG9jaywgZmxhZ3MpOw0KPiAgCQlsaXN0X2FkZF90YWlsX3JjdSgmbmMtPmxp bmssICZuZHAtPmNoYW5uZWxfcXVldWUpOw0KPiAgCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZu ZHAtPmxvY2ssIGZsYWdzKTsNCj4gIAkJcmV0dXJuIG5jc2lfcHJvY2Vzc19uZXh0X2NoYW5uZWwo bmRwKTsNCj4gKwl9IGVsc2Ugew0KPiArCQkvKiBDb25maWd1cmVkIGNoYW5uZWwgY2FtZSB1cCAq Lw0KPiArCQlyZXR1cm4gMDsNCj4gIAl9DQo+ICANCj4gIAlpZiAoaGFkX2xpbmspIHsNCj4gZGlm ZiAtLWdpdCBhL25ldC9uY3NpL25jc2ktbWFuYWdlLmMgYi9uZXQvbmNzaS9uY3NpLW1hbmFnZS5j DQo+IGluZGV4IGZhM2MyMTQ0ZjViYS4uOTJlNTlmMDdmOWE3IDEwMDY0NA0KPiAtLS0gYS9uZXQv bmNzaS9uY3NpLW1hbmFnZS5jDQo+ICsrKyBiL25ldC9uY3NpL25jc2ktbWFuYWdlLmMNCj4gQEAg LTEwNjMsMTcgKzEwNjMsMTcgQEAgc3RhdGljIHZvaWQgbmNzaV9jb25maWd1cmVfY2hhbm5lbChz dHJ1Y3QgbmNzaV9kZXZfcHJpdiAqbmRwKQ0KPiAgCWNhc2UgbmNzaV9kZXZfc3RhdGVfY29uZmln X2RvbmU6DQo+ICAJCW5ldGRldl9kYmcobmRwLT5uZGV2LmRldiwgIk5DU0k6IGNoYW5uZWwgJXUg Y29uZmlnIGRvbmVcbiIsDQo+ICAJCQkgICBuYy0+aWQpOw0KPiArCQlzcGluX2xvY2tfaXJxc2F2 ZSgmbmMtPmxvY2ssIGZsYWdzKTsNCj4gKwkJbmMtPnN0YXRlID0gTkNTSV9DSEFOTkVMX0FDVElW RTsNCj4gKw0KPiAgCQlpZiAobmRwLT5mbGFncyAmIE5DU0lfREVWX1JFU0VUKSB7DQo+ICAJCQkv KiBBIHJlc2V0IGV2ZW50IGhhcHBlbmVkIGR1cmluZyBjb25maWcsIHN0YXJ0IGl0IG5vdyAqLw0K PiAtCQkJc3Bpbl9sb2NrX2lycXNhdmUoJm5jLT5sb2NrLCBmbGFncyk7DQo+ICAJCQluYy0+cmVj b25maWd1cmVfbmVlZGVkID0gZmFsc2U7DQo+ICAJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZu Yy0+bG9jaywgZmxhZ3MpOw0KPiAtCQkJbmQtPnN0YXRlID0gbmNzaV9kZXZfc3RhdGVfZnVuY3Rp b25hbDsNCj4gIAkJCW5jc2lfcmVzZXRfZGV2KG5kKTsNCj4gIAkJCWJyZWFrOw0KPiAgCQl9DQo+ ICANCj4gLQkJc3Bpbl9sb2NrX2lycXNhdmUoJm5jLT5sb2NrLCBmbGFncyk7DQo+ICAJCWlmIChu Yy0+cmVjb25maWd1cmVfbmVlZGVkKSB7DQo+ICAJCQkvKiBUaGlzIGNoYW5uZWwncyBjb25maWd1 cmF0aW9uIGhhcyBiZWVuIHVwZGF0ZWQNCj4gIAkJCSAqIHBhcnQtd2F5IGR1cmluZyB0aGUgY29u ZmlnIHN0YXRlIC0gc3RhcnQgdGhlDQo+IEBAIC0xMDkyLDcgKzEwOTIsNiBAQCBzdGF0aWMgdm9p ZCBuY3NpX2NvbmZpZ3VyZV9jaGFubmVsKHN0cnVjdCBuY3NpX2Rldl9wcml2ICpuZHApDQo+ICAJ CQlicmVhazsNCj4gIAkJfQ0KPiAgDQo+IC0JCW5jLT5zdGF0ZSA9IE5DU0lfQ0hBTk5FTF9BQ1RJ VkU7DQo+ICAJCWlmIChuYy0+bW9kZXNbTkNTSV9NT0RFX0xJTktdLmRhdGFbMl0gJiAweDEpIHsN Cj4gIAkJCWhvdF9uYyA9IG5jOw0KPiAgCQl9IGVsc2Ugew0KPiBAQCAtMTgwMyw2ICsxODAyLDE4 IEBAIGludCBuY3NpX3Jlc2V0X2RldihzdHJ1Y3QgbmNzaV9kZXYgKm5kKQ0KPiAgCQkJc3Bpbl91 bmxvY2tfaXJxcmVzdG9yZSgmbmRwLT5sb2NrLCBmbGFncyk7DQo+ICAJCQlyZXR1cm4gMDsNCj4g IAkJfQ0KPiArCX0gZWxzZSB7DQo+ICsJCXN3aXRjaCAobmQtPnN0YXRlKSB7DQo+ICsJCWNhc2Ug bmNzaV9kZXZfc3RhdGVfc3VzcGVuZF9kb25lOg0KPiArCQljYXNlIG5jc2lfZGV2X3N0YXRlX2Nv bmZpZ19kb25lOg0KPiArCQljYXNlIG5jc2lfZGV2X3N0YXRlX2Z1bmN0aW9uYWw6DQo+ICsJCQkv KiBPayAqLw0KPiArCQkJYnJlYWs7DQo+ICsJCWRlZmF1bHQ6DQo+ICsJCQkvKiBDdXJyZW50IHJl c2V0IG9wZXJhdGlvbiBoYXBwZW5pbmcgKi8NCj4gKwkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUo Jm5kcC0+bG9jaywgZmxhZ3MpOw0KPiArCQkJcmV0dXJuIDA7DQo+ICsJCX0NCj4gIAl9DQo+ICAN Cj4gIAlpZiAoIWxpc3RfZW1wdHkoJm5kcC0+Y2hhbm5lbF9xdWV1ZSkpIHsNCj4gLS0gDQo+IDIu MTkuMQ0KDQoNCg0K