From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id A1D51A052A; Tue, 26 Jan 2021 13:02:15 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4A963141472; Tue, 26 Jan 2021 13:02:14 +0100 (CET) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id 797A3141470 for ; Tue, 26 Jan 2021 13:02:12 +0100 (CET) IronPort-SDR: UvHaGn+wxamzYAMHP6H2iiDBmEP34i1Qj+H25/0/cwwZZavuEoT7pkOFfCl8x3lkKeEAiqG40T iKFf/p7Ois7w== X-IronPort-AV: E=McAfee;i="6000,8403,9875"; a="180034934" X-IronPort-AV: E=Sophos;i="5.79,375,1602572400"; d="scan'208";a="180034934" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Jan 2021 04:02:10 -0800 IronPort-SDR: +yv7MHxf7nJ5h1+A9yl27MVlxHTyiBf61UCWUSkIarV/xw9qun5s16XKYDsrMA60asOTXDUUHU IAhLvbs40+Qw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.79,375,1602572400"; d="scan'208";a="353434045" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by orsmga003.jf.intel.com with ESMTP; 26 Jan 2021 04:02:10 -0800 Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Tue, 26 Jan 2021 04:02:09 -0800 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) by ORSMSX608.amr.corp.intel.com (10.22.229.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 26 Jan 2021 04:02:09 -0800 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Tue, 26 Jan 2021 04:02:09 -0800 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.175) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Tue, 26 Jan 2021 04:02:09 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YyzC3MybckN6q95JQWbu32hEr0rj9o/J/Cd8IHw5gGAUX6a2K2H+MfomOiMT93T2dGF8uozndSeTTasmB/4fntBWni2SiBcztq/PDUsbNXJH/WbIuGd+NcOAWyNamPr9Kc+ZBPklGGb6D25XzNPjpRfYs6ut2yV6cMXZ97Dtq/0coD0ggxnckFSVg3EPwFa8sXDZ+PHsBXZFJAAChCRAw8jwnH+vLpdA6umNoCVPKapVSUO5+GyUjPfoGWfJeM+vyV085ltzz7ysk/37Nb70i6QZMNSMkwd1yJQNbBDZiUVH8csHhpMP1T7GNuxZpvYp/0WOTscn9j3X5hWlURm2Cw== 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=86aTzfXrnH4uPly08vb7R7cVLqVPFeL+pbTxtBMeiWY=; b=euBQjz32P04Y4KC5RevHi55/SiInaqSGakTvQAwKg0FeYoW6AhfqANmCwFVWUDDYyfnv2ouJVhrALEa32V0sBt9OrayqbLLm3T1wJ28DNWpwZ2XSQWS4ySBtUDKHowtOr+gsMJkIFoAd423TRnpSCwuQ0kC78HNqkOeZaiPyMhJvsaEXSFPQmJP1gg36Bm92JX7JpkTvNt4kk9mg+1Ht/JFnKouIWr8Gv/LzovidDh+ru27ZctGRseXVNlBVBhI1l5ta2z1vg2x00yWscjLkrdVZPoWOyUwYCqmkdSKXJ7phyDAdr7M00WEyrsb/kBzstxhijZSWOwfoe7t03bd6ww== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=86aTzfXrnH4uPly08vb7R7cVLqVPFeL+pbTxtBMeiWY=; b=kjMZi6b7RYQsTE19kcCLlCnR5PbLZAWpx7qrSahqbjG9I8K7n6XLBjLyHl3RS7quOaWJ2eD0naIa1NYhB0exnWMI6DOiqq8wFwoduZlQGdlSqNFTDnhcLADzcetuHXKxXXbTQv6RPojI3DNUckz3szUo3XtTVG0TfEEN5OXXqq0= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22) by MN2PR11MB3677.namprd11.prod.outlook.com (2603:10b6:208:f6::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3784.16; Tue, 26 Jan 2021 12:02:08 +0000 Received: from MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::4c5:a27c:aab2:a2ed]) by MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::4c5:a27c:aab2:a2ed%7]) with mapi id 15.20.3784.017; Tue, 26 Jan 2021 12:02:08 +0000 From: "Xia, Chenbo" To: Maxime Coquelin , "dev@dpdk.org" , "olivier.matz@6wind.com" , "amorenoz@redhat.com" , "david.marchand@redhat.com" Thread-Topic: [PATCH v4 44/44] net/virtio: handle Virtio-user setup failure properly Thread-Index: AQHW88y4bOpe3PB5RkCnWQAIhTgA46o5zaTg Date: Tue, 26 Jan 2021 12:02:08 +0000 Message-ID: References: <20210126101639.250481-1-maxime.coquelin@redhat.com> <20210126101639.250481-45-maxime.coquelin@redhat.com> In-Reply-To: <20210126101639.250481-45-maxime.coquelin@redhat.com> Accept-Language: en-US, zh-CN Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.55.46.39] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 21e21cbc-6673-427d-4e88-08d8c1f234cf x-ms-traffictypediagnostic: MN2PR11MB3677: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:765; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: vnGELsgPKfrvXTUSsGWJg4GaN2+iNHoyC8tbJmaCoQZSK7WGKehvnovOQKBJnbUTRhpd1qstyX8ACdKS2Fj/ap/FqzUg+p5twqkZ6cHeTX+/DP+91zIn9L7dr/CMMgLYKJyWgzTqbIX4aKfE3IkAe/yyANY1hkETvWT/xRDz63cL4wjcvENpf/kFnRCqU8CG1iZIzetYeulXtrWYbHe6s49anJlO9T4PgbfGpsFarYZvE0vJhXeTDi4jNsKyWbRAxqTGStkzvuXT90Dqy0ahXf0NyA4NVtRPbEh2E8lfoe1KnpjoQV+DGBIv92iH7o/ydF8/2ytScZFvgDKMxouLY72IXGgRvq5cm0t670ykpViU5k6EW3w00tL/Hc54OjqxBKbALkpE6fdA1NVHbd5tRcl8e5LduwJa8Yw0fSdmn0nXYRFVPhju+rZGNUp9IwA1FBJJqNeYlkournBEjUwwxxah0j0/tmnWlM+zaylqZpr5r+naAWchZPgaE2n4Z2/PnS6zgspKe3sIBxycLAh52w== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR11MB4063.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(346002)(396003)(376002)(366004)(39860400002)(136003)(64756008)(66476007)(66446008)(66946007)(8676002)(76116006)(6506007)(53546011)(5660300002)(8936002)(7696005)(2906002)(86362001)(9686003)(478600001)(71200400001)(52536014)(66556008)(26005)(33656002)(83380400001)(316002)(110136005)(55016002)(186003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?citmaHFodWhVWURkbmphOVB4UC91bjFZWHpDbmZqQWJEZTRMWk56bElTdEVV?= =?utf-8?B?ZDNVVmVZOXc4b3RzZmhNaTl2LzMyYlRTSWNFMFl2a1BicG1hYzFYOGRzMU1Z?= =?utf-8?B?c1l3MnlpV3JrRmRUYWdON2dXaVRNd0dkVUpVaDZwc0FONmp0bkFDR0pjMHc3?= =?utf-8?B?NEd1Vkx0OW1wSHBSZnBHY29VWndWeWdkY1pCNWRaOVR6eEQ1dk1teWVON3gr?= =?utf-8?B?SVZCNGR4SHN2TFRqc3FGM2g1ZGRNM0g5c3NjQnhGOWFYNEdGQWxvODhkWXhr?= =?utf-8?B?bVpnT3paekRzUE9rTCs1aDVOajZqMmRDaEsvNlhRcFh1N2VFeGduOFZtbXl3?= =?utf-8?B?OGVINjliRy90YmZDN0JNdGU1Q1prajA5a0tMUGxEcXhRRVAyMXQ5eWp0TGNj?= =?utf-8?B?TElURkxVYWRnb1ZyY1djSzFiZktnNHVjL1NhSmxSYytlTUxwVVB5ZTJzNEhy?= =?utf-8?B?aWd3Vk10ckFhOEhmQXRUZkJMb3EyT0V6ODIxa1JURU1laWhEaURQbUd5QWps?= =?utf-8?B?YTdtNnA1S0VWcXdlNjZ6cVhNTWVEMEQ4OUVCbjA0SFoxNHU3VGJMYjZlc3o2?= =?utf-8?B?YVlNaWt0R2pNelBrcUl5cWgraVNDeE12VlNRYlJrTG9ZTEYwQ1Q0RGxuU2hG?= =?utf-8?B?VVR4YlRNOFJ6NDFTNkdycWJodkFMMmRrR1o4MWRmdGU3bFRXMW4reXp4TWV1?= =?utf-8?B?RUkyN0dpMzRSSE1Ia3F6blEzSThmcXNOUStmWVh1ZksrR2szeUJQSnR6dWVx?= =?utf-8?B?WjE2eGlTOW5oeUp1L2N1ejUvbXVac1NXMlQwRG9la2s1NzJBQ2kwUW1ZaXlT?= =?utf-8?B?cXBReW5IM2UzbHFBVnIwdTRYMEladDNncjRwbFZ1Z3BocXFjZkpHb2RtTDh1?= =?utf-8?B?eFgwRG9wMmt4MC9LS1VQTEc5Ri9rTXhzN0hMQzhMSm9SSHFWQXFwcTZvankx?= =?utf-8?B?dGwzSmw3aXBYMS9kVU5qbG5WWFJiMWdxQnNiM25wZTMxZ29XSG1jVjJTdUJu?= =?utf-8?B?azV4RUwyU3BhZHZJcERwVjBneHJSay9KaENET2RpSnpmMkVYVXRKRzVlM2Fk?= =?utf-8?B?TExPalBCV1VpK1pDNkVUVVMvNUNYNWR1ZlZvRnVkMUhIYURCL3o3c3lSQ1Nr?= =?utf-8?B?dEZvK0NnWk1haHBiYnpEbDd4WTY5QU41VUl4bkp2Q1pqWjdlK01mQXBHVURq?= =?utf-8?B?TGNwRDhsNmUzWFdwZDRwYkd2clFMclN6cDlhaEpGY2ZHQWxjTGU0cHBvZlJj?= =?utf-8?B?NDNScTFvSVRFTzdKeVR1Yzd0RFhYQmlZblNpcjk3NWxtNHNGZU9XOVF5cThp?= =?utf-8?B?eG1EK0ovcUsvRmNOTGh1aVhGK1RrVGxqdndYcUNqNHZWb3p1NkdUTzJJaHlu?= =?utf-8?B?QmFWOGI3Qm1TanpUMVpDUXRBb00wVGtEMXV2WTh1UW16Q3NkZVF1TmdqT25a?= =?utf-8?Q?Y3QnW4zZ?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR11MB4063.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 21e21cbc-6673-427d-4e88-08d8c1f234cf X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Jan 2021 12:02:08.3563 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: s0GkuyQVB5V4M4mZv2Euj5f3s63k5sQjGwLtGSPVqFnzNV3KdET6sMnmm29yck/Q736PV/4dxmeR0XKVpsDXYg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3677 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v4 44/44] net/virtio: handle Virtio-user setup failure properly X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" SGkgTWF4aW1lLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IE1heGlt ZSBDb3F1ZWxpbiA8bWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb20+DQo+IFNlbnQ6IFR1ZXNkYXks IEphbnVhcnkgMjYsIDIwMjEgNjoxNyBQTQ0KPiBUbzogZGV2QGRwZGsub3JnOyBYaWEsIENoZW5i byA8Y2hlbmJvLnhpYUBpbnRlbC5jb20+OyBvbGl2aWVyLm1hdHpANndpbmQuY29tOw0KPiBhbW9y ZW5vekByZWRoYXQuY29tOyBkYXZpZC5tYXJjaGFuZEByZWRoYXQuY29tDQo+IENjOiBNYXhpbWUg Q29xdWVsaW4gPG1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPg0KPiBTdWJqZWN0OiBbUEFUQ0gg djQgNDQvNDRdIG5ldC92aXJ0aW86IGhhbmRsZSBWaXJ0aW8tdXNlciBzZXR1cCBmYWlsdXJlDQo+ IHByb3Blcmx5DQo+IA0KPiBUaGlzIHBhdGNoIGZpeGVzIHZpcnRpb191c2VyX2Rldl9zZXR1cCgp IGVycm9yIHBhdGgsDQo+IGJ5IGNsZWFuaW5nIGFsbCByZXNvdXJjZXMgaXQgYWxsb2NhdGVzLiBJ dCBpbnRyb2R1Y2VzDQo+IHZpcnRpb191c2VyX2Rldl91bmluaXRfbm90aWZ5KCkgdGhhdCBjbGVh bnMgYWxsIG9wZW4NCj4gRkRzLiBJdCBpbXBsaWVzIGFzc2lnbmluZyBhbGwgRkRzIHRvIC0xIGF0 IGluaXQgdGltZS4NCj4gDQo+IFdpdGggdGhlc2UgY2hhbmdlcyBkb25lLCB2aXJ0aW9fdXNlcl9k ZXZfaW5pdF9ub3RpZnkoKQ0KPiBjYW4gYmUgc2ltcGxpZmllZC4NCj4gDQo+IFN1Z2dlc3RlZC1i eTogQWRyaWFuIE1vcmVubyA8YW1vcmVub3pAcmVkaGF0LmNvbT4NCj4gU2lnbmVkLW9mZi1ieTog TWF4aW1lIENvcXVlbGluIDxtYXhpbWUuY29xdWVsaW5AcmVkaGF0LmNvbT4NCj4gLS0tDQo+ICAu Li4vbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aXJ0aW9fdXNlcl9kZXYuYyAgfCA3MCArKysrKysr KysrKysrLS0tLS0tDQo+ICAxIGZpbGUgY2hhbmdlZCwgNDcgaW5zZXJ0aW9ucygrKSwgMjMgZGVs ZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191 c2VyL3ZpcnRpb191c2VyX2Rldi5jDQo+IGIvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2Vy L3ZpcnRpb191c2VyX2Rldi5jDQo+IGluZGV4IGExZTMyMTU4YmIuLjI5OTg0NzM2MjIgMTAwNjQ0 DQo+IC0tLSBhL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aXJ0aW9fdXNlcl9kZXYu Yw0KPiArKysgYi9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmlydGlvX3VzZXJfZGV2 LmMNCj4gQEAgLTI4MywxMyArMjgzLDcgQEAgdmlydGlvX3VzZXJfZGV2X2luaXRfbm90aWZ5KHN0 cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldikNCj4gIAlpbnQgY2FsbGZkOw0KPiAgCWludCBraWNr ZmQ7DQo+IA0KPiAtCWZvciAoaSA9IDA7IGkgPCBWSVJUSU9fTUFYX1ZJUlRRVUVVRVM7ICsraSkg ew0KPiAtCQlpZiAoaSA+PSBkZXYtPm1heF9xdWV1ZV9wYWlycyAqIDIpIHsNCj4gLQkJCWRldi0+ a2lja2Zkc1tpXSA9IC0xOw0KPiAtCQkJZGV2LT5jYWxsZmRzW2ldID0gLTE7DQo+IC0JCQljb250 aW51ZTsNCj4gLQkJfQ0KPiAtDQo+ICsJZm9yIChpID0gMDsgaSA8IGRldi0+bWF4X3F1ZXVlX3Bh aXJzICogMjsgaSsrKSB7DQo+ICAJCS8qIE1heSB1c2UgaW52YWxpZCBmbGFnLCBidXQgc29tZSBi YWNrZW5kIHVzZXMga2lja2ZkIGFuZA0KPiAgCQkgKiBjYWxsZmQgYXMgY3JpdGVyaWEgdG8ganVk Z2UgaWYgZGV2IGlzIGFsaXZlLiBzbyBmaW5hbGx5IHdlDQo+ICAJCSAqIHVzZSByZWFsIGV2ZW50 X2ZkLg0KPiBAQCAtMjk3LDI4ICsyOTEsNDkgQEAgdmlydGlvX3VzZXJfZGV2X2luaXRfbm90aWZ5 KHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldikNCj4gIAkJY2FsbGZkID0gZXZlbnRmZCgwLCBF RkRfQ0xPRVhFQyB8IEVGRF9OT05CTE9DSyk7DQo+ICAJCWlmIChjYWxsZmQgPCAwKSB7DQo+ICAJ CQlQTURfRFJWX0xPRyhFUlIsICIoJXMpIGNhbGxmZCBlcnJvciwgJXMiLCBkZXYtPnBhdGgsDQo+ IHN0cmVycm9yKGVycm5vKSk7DQo+IC0JCQlicmVhazsNCj4gKwkJCWdvdG8gZXJyOw0KPiAgCQl9 DQo+ICAJCWtpY2tmZCA9IGV2ZW50ZmQoMCwgRUZEX0NMT0VYRUMgfCBFRkRfTk9OQkxPQ0spOw0K PiAgCQlpZiAoa2lja2ZkIDwgMCkgew0KPiAgCQkJY2xvc2UoY2FsbGZkKTsNCj4gIAkJCVBNRF9E UlZfTE9HKEVSUiwgIiglcykga2lja2ZkIGVycm9yLCAlcyIsIGRldi0+cGF0aCwNCj4gc3RyZXJy b3IoZXJybm8pKTsNCj4gLQkJCWJyZWFrOw0KPiArCQkJZ290byBlcnI7DQo+ICAJCX0NCj4gIAkJ ZGV2LT5jYWxsZmRzW2ldID0gY2FsbGZkOw0KPiAgCQlkZXYtPmtpY2tmZHNbaV0gPSBraWNrZmQ7 DQo+ICAJfQ0KPiANCj4gLQlpZiAoaSA8IFZJUlRJT19NQVhfVklSVFFVRVVFUykgew0KPiAtCQlm b3IgKGogPSAwOyBqIDwgaTsgKytqKSB7DQo+IC0JCQljbG9zZShkZXYtPmNhbGxmZHNbal0pOw0K PiArCXJldHVybiAwOw0KPiArZXJyOg0KPiArCWZvciAoaiA9IDA7IGogPCBpOyBqKyspIHsNCj4g KwkJaWYgKGRldi0+a2lja2Zkc1tqXSA+PSAwKSB7DQo+ICAJCQljbG9zZShkZXYtPmtpY2tmZHNb al0pOw0KPiArCQkJZGV2LT5raWNrZmRzW2pdID0gLTE7DQo+ICsJCX0NCj4gKwkJaWYgKGRldi0+ Y2FsbGZkc1tqXSA+PSAwKSB7DQo+ICsJCQljbG9zZShkZXYtPmNhbGxmZHNbal0pOw0KPiArCQkJ ZGV2LT5jYWxsZmRzW2pdID0gLTE7DQo+ICAJCX0NCj4gLQ0KPiAtCQlyZXR1cm4gLTE7DQo+ICAJ fQ0KPiANCj4gLQlyZXR1cm4gMDsNCj4gKwlyZXR1cm4gLTE7DQo+ICt9DQo+ICsNCj4gK3N0YXRp YyB2b2lkDQo+ICt2aXJ0aW9fdXNlcl9kZXZfdW5pbml0X25vdGlmeShzdHJ1Y3QgdmlydGlvX3Vz ZXJfZGV2ICpkZXYpDQo+ICt7DQo+ICsJdWludDMyX3QgaTsNCj4gKw0KPiArCWZvciAoaSA9IDA7 IGkgPCBkZXYtPm1heF9xdWV1ZV9wYWlyczsgKytpKSB7DQoNClNob3VsZCBiZSAnZGV2LT5tYXhf cXVldWVfcGFpcnMgKiAyJz8NCg0KSSBiZWxpZXZlIHlvdSB3aWxsIGZpeCB0aGlzIGluIHRoZSBm aW5hbCB2ZXJzaW9uIGJlZm9yZSBhcHBseWluZyB0aGVtDQppbiB0aGUgdHJlZS4NCg0KU28gd2l0 aCBhYm92ZSBmaXhlZDoNCg0KUmV2aWV3ZWQtYnk6IENoZW5ibyBYaWEgPGNoZW5iby54aWFAaW50 ZWwuY29tPg0KDQo+ICsJCWlmIChkZXYtPmtpY2tmZHNbaV0gPj0gMCkgew0KPiArCQkJY2xvc2Uo ZGV2LT5raWNrZmRzW2ldKTsNCj4gKwkJCWRldi0+a2lja2Zkc1tpXSA9IC0xOw0KPiArCQl9DQo+ ICsJCWlmIChkZXYtPmNhbGxmZHNbaV0gPj0gMCkgew0KPiArCQkJY2xvc2UoZGV2LT5jYWxsZmRz W2ldKTsNCj4gKwkJCWRldi0+Y2FsbGZkc1tpXSA9IC0xOw0KPiArCQl9DQo+ICsJfQ0KPiAgfQ0K PiANCj4gIHN0YXRpYyBpbnQNCj4gQEAgLTQyNywxNSArNDQyLDIyIEBAIHZpcnRpb191c2VyX2Rl dl9zZXR1cChzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2ICpkZXYpDQo+IA0KPiAgCWlmICh2aXJ0aW9f dXNlcl9kZXZfaW5pdF9ub3RpZnkoZGV2KSA8IDApIHsNCj4gIAkJUE1EX0lOSVRfTE9HKEVSUiwg IiglcykgRmFpbGVkIHRvIGluaXQgbm90aWZpZXJzXG4iLCBkZXYtPnBhdGgpOw0KPiAtCQlyZXR1 cm4gLTE7DQo+ICsJCWdvdG8gZGVzdHJveTsNCj4gIAl9DQo+IA0KPiAgCWlmICh2aXJ0aW9fdXNl cl9maWxsX2ludHJfaGFuZGxlKGRldikgPCAwKSB7DQo+ICAJCVBNRF9JTklUX0xPRyhFUlIsICIo JXMpIEZhaWxlZCB0byBpbml0IGludGVycnVwdCBoYW5kbGVyXG4iLCBkZXYtDQo+ID5wYXRoKTsN Cj4gLQkJcmV0dXJuIC0xOw0KPiArCQlnb3RvIHVuaW5pdDsNCj4gIAl9DQo+IA0KPiAgCXJldHVy biAwOw0KPiArDQo+ICt1bmluaXQ6DQo+ICsJdmlydGlvX3VzZXJfZGV2X3VuaW5pdF9ub3RpZnko ZGV2KTsNCj4gK2Rlc3Ryb3k6DQo+ICsJZGV2LT5vcHMtPmRlc3Ryb3koZGV2KTsNCj4gKw0KPiAr CXJldHVybiAtMTsNCj4gIH0NCj4gDQo+ICAvKiBVc2UgYmVsb3cgbWFjcm8gdG8gZmlsdGVyIGZl YXR1cmVzIGZyb20gdmhvc3QgYmFja2VuZCAqLw0KPiBAQCAtNDY2LDkgKzQ4OCwxNiBAQCB2aXJ0 aW9fdXNlcl9kZXZfaW5pdChzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2ICpkZXYsIGNoYXINCj4gKnBh dGgsIGludCBxdWV1ZXMsDQo+ICAJCSAgICAgZW51bSB2aXJ0aW9fdXNlcl9iYWNrZW5kX3R5cGUg YmFja2VuZF90eXBlKQ0KPiAgew0KPiAgCXVpbnQ2NF90IGJhY2tlbmRfZmVhdHVyZXM7DQo+ICsJ aW50IGk7DQo+IA0KPiAgCXB0aHJlYWRfbXV0ZXhfaW5pdCgmZGV2LT5tdXRleCwgTlVMTCk7DQo+ ICAJc3RybGNweShkZXYtPnBhdGgsIHBhdGgsIFBBVEhfTUFYKTsNCj4gKw0KPiArCWZvciAoaSA9 IDA7IGkgPCBWSVJUSU9fTUFYX1ZJUlRRVUVVRVM7IGkrKykgew0KPiArCQlkZXYtPmtpY2tmZHNb aV0gPSAtMTsNCj4gKwkJZGV2LT5jYWxsZmRzW2ldID0gLTE7DQo+ICsJfQ0KPiArDQo+ICAJZGV2 LT5zdGFydGVkID0gMDsNCj4gIAlkZXYtPm1heF9xdWV1ZV9wYWlycyA9IHF1ZXVlczsNCj4gIAlk ZXYtPnF1ZXVlX3BhaXJzID0gMTsgLyogbXEgZGlzYWJsZWQgYnkgZGVmYXVsdCAqLw0KPiBAQCAt NTY1LDE2ICs1OTQsMTEgQEAgdmlydGlvX3VzZXJfZGV2X2luaXQoc3RydWN0IHZpcnRpb191c2Vy X2RldiAqZGV2LCBjaGFyDQo+ICpwYXRoLCBpbnQgcXVldWVzLA0KPiAgdm9pZA0KPiAgdmlydGlv X3VzZXJfZGV2X3VuaW5pdChzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2ICpkZXYpDQo+ICB7DQo+IC0J dWludDMyX3QgaTsNCj4gLQ0KPiAgCXZpcnRpb191c2VyX3N0b3BfZGV2aWNlKGRldik7DQo+IA0K PiAgCXJ0ZV9tZW1fZXZlbnRfY2FsbGJhY2tfdW5yZWdpc3RlcihWSVJUSU9fVVNFUl9NRU1fRVZF TlRfQ0xCX05BTUUsIGRldik7DQo+IA0KPiAtCWZvciAoaSA9IDA7IGkgPCBkZXYtPm1heF9xdWV1 ZV9wYWlycyAqIDI7ICsraSkgew0KPiAtCQljbG9zZShkZXYtPmNhbGxmZHNbaV0pOw0KPiAtCQlj bG9zZShkZXYtPmtpY2tmZHNbaV0pOw0KPiAtCX0NCj4gKwl2aXJ0aW9fdXNlcl9kZXZfdW5pbml0 X25vdGlmeShkZXYpOw0KPiANCj4gIAlmcmVlKGRldi0+aWZuYW1lKTsNCj4gDQo+IC0tDQo+IDIu MjkuMg0KDQo=