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=-17.5 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1 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 83AD1C433DB for ; Thu, 14 Jan 2021 06:17:40 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 3B6C4238EC for ; Thu, 14 Jan 2021 06:17:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726081AbhANGRY (ORCPT ); Thu, 14 Jan 2021 01:17:24 -0500 Received: from smtprelay-out1.synopsys.com ([149.117.73.133]:47458 "EHLO smtprelay-out1.synopsys.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725945AbhANGRW (ORCPT ); Thu, 14 Jan 2021 01:17:22 -0500 Received: from mailhost.synopsys.com (us03-mailhost2.synopsys.com [10.4.17.18]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by smtprelay-out1.synopsys.com (Postfix) with ESMTPS id F32FA4025A; Thu, 14 Jan 2021 06:16:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=synopsys.com; s=mail; t=1610604982; bh=37SlvmSYyumT91kzJuK5xYEhfFOiCqlZhihAZ8PQRQI=; h=From:To:CC:Subject:Date:References:In-Reply-To:From; b=UQp/xPmWV8+9qW40wV6Vkfmg+7oNra8iDr3/PsOTGBvwmxF1R6wT0BJadykH2+2M+ LdLqneFjOPSsZAydC/Yt8ZRfT9T6zXrtaDm5qyXK/VYf0+S/LHRRSmlBtW99kIcsE4 CAm66jL71yfn3XTYRU/fC5WB+Ne+Td/1jZN68tbqZHIHRrOQ4HRhtZMiNrExJl6Vfw gvtrNLJ45yrjZnX7bP36FjAcSpwnPagDnvzx4JUgun6Yc4p67TPbYPcdpc5ZPW+S/m FVLn5/VZsqxjStluwVrjgmbCXWS89pMsO2rIjj0zJItDLZaACHFiEVqdc6Lg/diMhG cRglSpuPZNr+A== Received: from o365relay-in.synopsys.com (us03-o365relay3.synopsys.com [10.4.161.139]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by mailhost.synopsys.com (Postfix) with ESMTPS id 52AF8A0081; Thu, 14 Jan 2021 06:16:21 +0000 (UTC) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2107.outbound.protection.outlook.com [104.47.58.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "GlobalSign Organization Validation CA - SHA256 - G3" (verified OK)) by o365relay-in.synopsys.com (Postfix) with ESMTPS id 869CF802BD; Thu, 14 Jan 2021 06:16:20 +0000 (UTC) Authentication-Results: o365relay-in.synopsys.com; dmarc=pass (p=reject dis=none) header.from=synopsys.com Authentication-Results: o365relay-in.synopsys.com; spf=pass smtp.mailfrom=thinhn@synopsys.com Authentication-Results: o365relay-in.synopsys.com; dkim=pass (1024-bit key; unprotected) header.d=synopsys.com header.i=@synopsys.com header.b="Avt/D+FR"; dkim-atps=neutral ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gqXUuUvknYCA9XZFs5e6mF5TxEY5YtFN9+TYbaPNuAdf+lW86RPNPOGMbYL9XOzi+2DV/dXFHv6qfjrwMvMnNWiEoI5+vGmTujQeYNTzQqblcyAa9k8SmSr5S0pavaYN8ptVQ64zTibg4nfZaCp84rHO5HJeL8i3+yMHc65x1iuMZtEZBweY18XI4UXvhWvKQERpTl7qaenBCUvavDTmU3SG2bDcof8gwkVAt3TdslhPknewXrXmhhBLzb2gMRW2xZTcdHZBPp3QKFsbClbByflseaFlh/mHv/dY/OQb3IQV9gtYPXtd7oUHjkzoX26RxWQdTtls6P7FmrhYtDvGMw== 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=37SlvmSYyumT91kzJuK5xYEhfFOiCqlZhihAZ8PQRQI=; b=LZc04toreSeHypABKy6Gy8XJdTWm0HB4Gw14d2aeenqtSlMGFLmCgjHiRHqoGliTy8Drdavwis0t5SokDrpf4oxUOch+AhD3q/aGUe5DAySOng1MYfV+Wgf2+GXC5uTaEhbrWhCGYloyO2Y0JItWqXFBNIITiUdNF1v0mh/ZtmBoklUdGxdV9RuC65GNN3vsB2cA4tniDx1H7XmxQwkpFjDBR1sVHEw/8ozvcsk+xq9gpVd8LNegAPA4i1D628UGWpeUZM1NdM6JhNkCB99HrtViGgzxzqrvIwxdCMg44vDQAk6XY3DXgnbI8R4fa3GJrY6G9nXmndQoyqBKVgvNyA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=synopsys.com; dmarc=pass action=none header.from=synopsys.com; dkim=pass header.d=synopsys.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=synopsys.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=37SlvmSYyumT91kzJuK5xYEhfFOiCqlZhihAZ8PQRQI=; b=Avt/D+FRkaQBCRBkXPROY7n2s8ktMW+ZJX4femRkeIiLp/BxI9CaOEcjGrMtMBKGBqmvAeRzW0UopqxJIsd9qDQozHd4MHeDXSFZf/2TaJ23sZFRnDVAWheJxJDVhijtQmzZR9y7RZAG+LoMXhgsMkd50hWaLuju2d8KWfgworU= Received: from BYAPR12MB4791.namprd12.prod.outlook.com (2603:10b6:a03:10a::12) by BYAPR12MB3207.namprd12.prod.outlook.com (2603:10b6:a03:135::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6; Thu, 14 Jan 2021 06:16:18 +0000 Received: from BYAPR12MB4791.namprd12.prod.outlook.com ([fe80::895b:620d:8f20:c4d6]) by BYAPR12MB4791.namprd12.prod.outlook.com ([fe80::895b:620d:8f20:c4d6%6]) with mapi id 15.20.3742.012; Thu, 14 Jan 2021 06:16:18 +0000 X-SNPS-Relay: synopsys.com From: Thinh Nguyen To: Peter Chen , Thinh Nguyen CC: Felipe Balbi , Greg Kroah-Hartman , "linux-usb@vger.kernel.org" , John Youn Subject: Re: [PATCH v6 05/11] usb: gadget: composite: Report various SSP sublink speeds Thread-Topic: [PATCH v6 05/11] usb: gadget: composite: Report various SSP sublink speeds Thread-Index: AQHW6iBokEo/rqeRGkeerJ/I0Ocn+6omnSMAgAAIJYA= Date: Thu, 14 Jan 2021 06:16:18 +0000 Message-ID: <227f3064-8016-33db-6575-fc1a642ef485@synopsys.com> References: <20210114054708.GB18650@b29397-desktop> In-Reply-To: <20210114054708.GB18650@b29397-desktop> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=synopsys.com; x-originating-ip: [98.248.94.126] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 75ac5fd8-3fe8-40fa-635b-08d8b853e7c1 x-ms-traffictypediagnostic: BYAPR12MB3207: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: u32wS9ilKBzOm3yfbeTie4ipckMQNMc20P9nChjowsMY4Mfd4kY8ijay+NBVnQUfB7uju/53Lp6k0T8Itd9fBeYbgX/116DIPx64PHA75+GtqYaSOQYdjzscUGNp65W4TVaG92GNNjETmR2cPgcxGfwn2SDKRu+l+bWoK+Dp7B9iVd1zFbvG+uBO5DulGcvt7Z+M9kdBKVFn3hfU5zk+X47TDtt217DtxHyN/ZWeidCk7W+T/wVEjAQVruVbEk0RcEBOVQ7jaDEXf252+8MvFqVSkbfgutgJHwS/QhO2fIusFb1sHRRLOzStjaWQ5TU39z2TFjsxtsjQfPU0BMcLd39+P4cO3gg3+rrAS40wo8l9HZAPtGm+p1iDyELe5EDjWIEo8wiXmBt4tMl8YdqV0g+L6uK1ZJQEj7AI7Q6PuQKvS7P4kxnmFrm5AAOApKBFG3gKzzE5Q92NT56DdRQ9gvTkUFu06WxC0BovEVX7/LA= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR12MB4791.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(346002)(39860400002)(136003)(396003)(376002)(366004)(31686004)(31696002)(86362001)(36756003)(76116006)(6486002)(8676002)(64756008)(478600001)(71200400001)(66946007)(6506007)(66476007)(5660300002)(110136005)(186003)(26005)(6512007)(54906003)(4326008)(8936002)(2616005)(107886003)(316002)(83380400001)(66446008)(2906002)(53546011)(66556008)(43740500002)(45980500001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?STFxeHQwWWlCRHpuclQ4NEMwSnI5aUpuN2JYNmUzTWVNenNDd3RSOTBIM0RE?= =?utf-8?B?VE04V3FCWWJwSitvSDNBQnFHTjNDd0VMU044QXlHUFU0VEtPV0tXYkhHeEVi?= =?utf-8?B?QWVpOGkrbmRRNjBjOWhLeGtESVp4Q3dRVWhPdGtwNmI4YjJDVFZHb3BYTDhM?= =?utf-8?B?N0RTblhpZnVkVytybjVtcUtsNVVpS28vZGJrUTdubGRLUG8wSlVnZTFlZUc2?= =?utf-8?B?dnFLY20rcyswNG5UMXpqd3piNHc4alZ0RTkvZTVWZWVOMXMyUmdab3A3bGZJ?= =?utf-8?B?bjlyNHZVVEx3UVdkTk5XM2ZHRTFYbGNHUUJUckF4d0hpbEtoVjRvdGZ4YkFr?= =?utf-8?B?VGJhSFErWU5tTGZXTVRpN21tL2tPS09ZYVlNbzBRWXhXV3FReUs3NHk0cFNh?= =?utf-8?B?RFpaZXc3UE9pTG9OWDh6SlRsdTgrUlA4R0hHak8wamdIdlBBVWF6bm5SZjlv?= =?utf-8?B?YzF1ZEVTTVZxQjB0QTExTm9pTmJYbnRIa3VRTTRZZWUxNzNmR1cvZ29LZEcx?= =?utf-8?B?d3BBL3Z6SEtFU29XTFYwWXlpYnh5dFJrT2NvZHZJWjVDTTh3S2RnKzV0a1FO?= =?utf-8?B?RkZFYnNoQ0QzUTVuODQ0d2Jnd3g2cmVWckxVSENQQWhUejJDcFVscnVoZnZt?= =?utf-8?B?YmtRNVRpNjF2dEY3Z09oekkyNm1yakRUNFY0Mi94UUVBRi9CUXNWak4yQzM4?= =?utf-8?B?R3FWekIrVkFFZExzTUsvZE9KVThvQU9aTFVGUWptOWlZNU1JTkh5M0s1TFll?= =?utf-8?B?cTVJeEVhT29FZWhMSlhsMW9KMks0c3BhNFFYaWFiQ0ttdW1OR2kwVDloWFUv?= =?utf-8?B?Nk9RSURxcy9KSTVhVlhGbHNkSHgwUEhKUEFDLzNnWVM4b21DZWFpOTkrdjBD?= =?utf-8?B?NmtVN0hHd2RBWDh5VXhmeWVYRkhiS3E4aEw3cVhuT21ycVQyQ0JKakJDeTli?= =?utf-8?B?ZWpzcVRCd1MyZjZKd0t5K2Mzb1BCY21tZ0NleVBTMjJaRW9kNDlnQVBDVnVQ?= =?utf-8?B?YVB2QkdyNitiZHMxVUIrYnRBdk56dnpmWkQ5T3ZGTDhpOHZUMitsdzZ5Rm5o?= =?utf-8?B?N0tmRldaSk4xN1U3U3UwYnhWMzVSdjlBbkszbGJIRzdUVkRtYzJ4WG4vclFy?= =?utf-8?B?T0VIRS93S3dKVkhMRXdkLytKOHEzK21wdDN0a2ZrT3VaT1BGdTNsWEkyN2Fa?= =?utf-8?B?V2hSYkRQcjNCK3I5by9xUnNkWXhJRythcFhYTnQ2SE9UUU1JUUFkYmxVbmJU?= =?utf-8?B?V2xiK0M4ZVRMWk1aTGlnSHhhL3lwSzVnTFFGNmwrWVNGTmxaV01FdXVscEYr?= =?utf-8?Q?R6Pmi7AzeKLdQ=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: synopsys.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BYAPR12MB4791.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 75ac5fd8-3fe8-40fa-635b-08d8b853e7c1 X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Jan 2021 06:16:18.1713 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: c33c9f88-1eb7-4099-9700-16013fd9e8aa X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 2OfVVhOk2nFFrV6jDJTKoh8Wf3wDz1c9+PTMOB5EPA/esy+gdiIp25TaEU+0h35rya6iTRRQdu3roS4/sCRoMw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR12MB3207 Precedence: bulk List-ID: X-Mailing-List: linux-usb@vger.kernel.org SGkgUGV0ZXIsDQoNClBldGVyIENoZW4gd3JvdGU6DQo+IE9uIDIxLTAxLTEzIDE4OjUzOjE0LCBU aGluaCBOZ3V5ZW4gd3JvdGU6DQo+PiBJZiBhIGdhZGdldCBzdXBwb3J0cyBTdXBlclNwZWVkIFBs dXMsIHRoZW4gaXQgbWF5IG9wZXJhdGUgaW4gZGlmZmVyZW50DQo+PiBzdWJsaW5rIHNwZWVkcy4g Rm9yIGV4YW1wbGUsIGlmIHRoZSBnYWRnZXQgc3VwcG9ydHMgU3VwZXJTcGVlZCBQbHVzDQo+PiBn ZW4yeDIsIHRoZW4gaXQgY2FuIHN1cHBvcnQgMiBzdWJsaW5rIHNwZWVkcyBnZW4xIGFuZCBnZW4y LiBJbmZvcm0gdGhlDQo+PiBob3N0IG9mIHRoZXNlIHNwZWVkcyBpbiB0aGUgQk9TIGRlc2NyaXB0 b3IuDQo+Pg0KPiBIaSBUaGluaCwNCj4NCj4gSSByZWFkIFVTQiAzLjIgc3BlYzogY2g5LjYuMi41 IFN1cGVyU3BlZWRQbHVzIFVTQiBEZXZpY2UgQ2FwYWJpbGl0eQ0KPg0KPiBTeW1tZXRyaWMuIFJ4 IGFuZCBUeCBTdWJsaW5rcyBoYXZlIHRoZSBzYW1lIG51bWJlciBvZiBsYW5lcyBhbmQgb3BlcmF0 ZQ0KPiBhdCB0aGUgc2FtZSBzcGVlZC4NCj4gQXN5bW1ldHJpYy4gUnggYW5kIFR4IFN1Ymxpbmsg aGF2ZSBkaWZmZXJlbnQgbnVtYmVyIG9mIGxhbmVzIGFuZC9vcg0KPiBvcGVyYXRlIGF0IGRpZmZl cmVudCBzcGVlZHMuDQo+DQo+IFdoeSB5b3VyIGJlbG93IGNhc2VzIGFyZSBhbGwgZm9yIHN5bW1l dHJpYywgYXQgbGVhc3QsIHRoZSBleGFtcGxlIDMNCj4gaXMgYXN5bW1ldHJpYywgaXQgaGFzIGRp ZmZlcmVudCBzcGVlZCBmb3Igc3VibGluayBwYWlycz8NCj4gRG9lcyB5b3VyIGJlbG93IGNhc2Vz IGFyZSBzcGVjaWZpY2F0aW9uIGRlZmluZWQgb3IgdXNlciBkZWZpbmVkPw0KDQpVU0IgMy4yIHNw ZWMgc2VjdGlvbiA4LjUuNi43Og0KQXN5bW1ldHJpYyBsYW5lIHR5cGVzIGFyZSBvbmx5IGZvciBT dXBlclNwZWVkIEludGVyY2hpcCAoU1NJQykuIElNTywNCkl0J3MgdW5saWtlbHkgdGhhdCBTU0lD IHVzZXIgd2lsbCB1c2UgTGludXgga2VybmVsLiBXZSBjYW4gZXh0ZW5kIGFuZA0KdXBkYXRlIHRo ZSBnYWRnZXQgZnJhbWV3b3JrIGlmIHRoZXJlJ3MgYW55IHVzZSBjYXNlIGZvciB0aGF0Lg0KDQoN Cj4NCj4+IFVzZSAxIFNTSUQgaWYgdGhlIGdhZGdldCBzdXBwb3J0cyB1cCB0byBnZW4yeDEsIG9y IG5vdCBzcGVjaWZpZWQ6DQo+PiAtIFNTSUQgMCBmb3Igc3ltbWV0cmljIFJYL1RYIHN1Ymxpbmsg c3BlZWQgb2YgMTAgR2Jwcy4NCj4+DQo+PiBVc2UgMSBTU0lEIGlmIHRoZSBnYWRnZXQgc3VwcG9y dHMgdXAgdG8gZ2VuMXgyOg0KPj4gLSBTU0lEIDAgZm9yIHN5bW1ldHJpYyBSWC9UWCBzdWJsaW5r IHNwZWVkIG9mIDUgR2Jwcy4NCj4+DQo+PiBVc2UgMiBTU0lEcyBpZiB0aGUgZ2FkZ2V0IHN1cHBv cnRzIHVwIHRvIGdlbjJ4MjoNCj4+IC0gU1NJRCAwIGZvciBzeW1tZXRyaWMgUlgvVFggc3VibGlu ayBzcGVlZCBvZiA1IEdicHMuDQo+IFdoeSBTU0lEIDAgaXMgbm90IDEwR2Jwcz8NCg0KU1NJRCAw IGFuZCAxIGFyZSBhcmJpdHJhcnksIHdlIGNhbiBkbyAwIGZvciAxMEdicHMuIFRoZXJlJ3Mgbm8N CmNvbnN0cmFpbnQgb3Igc3RhbmRhcmQgZnJvbSB0aGUgVVNCIDMuMiBzcGVjLiBIb3dldmVyLCB5 b3UgbmVlZCB0byBzZXQNCnRoZSBkZXNjcmlwdG9yIHdGdW5jdGlvbmFsaXR5U3VwcG9ydC5TU0lE IHRvIGJlIHRoZSBtaW5pbXVtIGxhbmUgc3BlZWQNClNTSUQgaXQgc3VwcG9ydHMuIFVzaW5nIFNT SUQgMCBtYWtlcyBpdCBlYXNpZXIgc2luY2Ugd2UgZG9uJ3QgaGF2ZSB0bw0KY29uZGl0aW9uIGl0 IGZvciBtdWx0aXBsZSBTU0lEcy4NCg0KPj4gLSBTU0lEIDEgZm9yIHN5bW1ldHJpYyBSWC9UWCBz dWJsaW5rIHNwZWVkIG9mIDEwIEdicHMuDQo+IEJlc2lkZXMsIHdvdWxkIHlvdSBnaXZlIG1lIGFu IGV4YW1wbGUgd2hhdCBraW5kcyBvZiBzeXN0ZW0gZGVzaWduDQo+IHdpbGwgdXNlIGJlbG93IHN1 Ymxpbmsgc3BlZWQ/DQo+IC0gU1NJRCAwIGZvciBzeW1tZXRyaWMgUlgvVFggc3VibGluayBzcGVl ZCBvZiA1IEdicHMuDQo+IC0gU1NJRCAxIGZvciBzeW1tZXRyaWMgUlgvVFggc3VibGluayBzcGVl ZCBvZiAxMCBHYnBzLg0KPg0KPiBQZXRlcg0KDQpUaGVzZSAyIFNTSURzIGluZGljYXRlIHRoYXQg dGhlIGRldmljZSBpcyBjYXBhYmxlIG9mIHJ1bm5pbmcgaW4gZ2VuMSBhbmQNCmdlbjIgaW4gU1NQ Lg0KDQpUaGFuayB5b3UgZm9yIHJldmlld2luZyBpdC4NCg0KQlIsDQpUaGluaA0KDQo+DQo+DQo+ PiBTaWduZWQtb2ZmLWJ5OiBUaGluaCBOZ3V5ZW4gPFRoaW5oLk5ndXllbkBzeW5vcHN5cy5jb20+ DQo+PiAtLS0NCj4+IENoYW5nZXMgaW4gdjY6DQo+PiAtIFJlYmFzZSBvbiBHcmVnJ3MgdXNiLXRl c3RpbmcgYnJhbmNoDQo+PiAtIFVzZSBnYWRnZXQtPm1heF9zc3BfcmF0ZSBpbnN0ZWFkIG9mIGFs bCB0aGUgc3VibGluayBhdHRyaWJ1dGUgZmllbGRzIChub3cNCj4+ICAgcmVtb3ZlZCkgaW4gdXNi X2dhZGdldA0KPj4gLSBVc2UgdGhlIHVwZGF0ZWQgbWFjcm9zDQo+PiAtIFVwZGF0ZSBjb21taXQg bWVzc2FnZQ0KPj4gQ2hhbmdlcyBpbiB2NToNCj4+IC0gUmViYXNlIG9uIEZlbGlwZSdzIHRlc3Rp bmcvbmV4dCBicmFuY2gNCj4+IC0gQ2hhbmdlZCBTaWduZWQtb2ZmLWJ5IGVtYWlsIHRvIG1hdGNo IEZyb206IGVtYWlsIGhlYWRlcg0KPj4gQ2hhbmdlcyBpbiB2NDoNCj4+IC0gTm9uZQ0KPj4gQ2hh bmdlcyBpbiB2MzoNCj4+IC0gTm9uZQ0KPj4gQ2hhbmdlcyBpbiB2MjoNCj4+IC0gTm9uZQ0KPj4N Cj4+ICBkcml2ZXJzL3VzYi9nYWRnZXQvY29tcG9zaXRlLmMgfCA4MCArKysrKysrKysrKysrKysr KysrKysrKy0tLS0tLS0tLS0tDQo+PiAgMSBmaWxlIGNoYW5nZWQsIDU0IGluc2VydGlvbnMoKyks IDI2IGRlbGV0aW9ucygtKQ0KPj4NCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9nYWRnZXQv Y29tcG9zaXRlLmMgYi9kcml2ZXJzL3VzYi9nYWRnZXQvY29tcG9zaXRlLmMNCj4+IGluZGV4IGJj MTczMDJhOWU4NS4uNzJhOTc5N2RiYmFlIDEwMDY0NA0KPj4gLS0tIGEvZHJpdmVycy91c2IvZ2Fk Z2V0L2NvbXBvc2l0ZS5jDQo+PiArKysgYi9kcml2ZXJzL3VzYi9nYWRnZXQvY29tcG9zaXRlLmMN Cj4+IEBAIC03MzUsNDkgKzczNSw3NyBAQCBzdGF0aWMgaW50IGJvc19kZXNjKHN0cnVjdCB1c2Jf Y29tcG9zaXRlX2RldiAqY2RldikNCj4+ICAJLyogVGhlIFN1cGVyU3BlZWRQbHVzIFVTQiBEZXZp Y2UgQ2FwYWJpbGl0eSBkZXNjcmlwdG9yICovDQo+PiAgCWlmIChnYWRnZXRfaXNfc3VwZXJzcGVl ZF9wbHVzKGNkZXYtPmdhZGdldCkpIHsNCj4+ICAJCXN0cnVjdCB1c2Jfc3NwX2NhcF9kZXNjcmlw dG9yICpzc3BfY2FwOw0KPj4gKwkJdTggc3NhYyA9IDE7DQo+PiArCQl1OCBzc2ljOw0KPj4gKwkJ aW50IGk7DQo+PiAgDQo+PiAtCQlzc3BfY2FwID0gY2Rldi0+cmVxLT5idWYgKyBsZTE2X3RvX2Nw dShib3MtPndUb3RhbExlbmd0aCk7DQo+PiAtCQlib3MtPmJOdW1EZXZpY2VDYXBzKys7DQo+PiAr CQlpZiAoY2Rldi0+Z2FkZ2V0LT5tYXhfc3NwX3JhdGUgPT0gVVNCX1NTUF9HRU5fMngyKQ0KPj4g KwkJCXNzYWMgPSAzOw0KPj4gIA0KPj4gIAkJLyoNCj4+IC0JCSAqIFJlcG9ydCB0eXBpY2FsIHZh bHVlcy4NCj4+ICsJCSAqIFBhaXJlZCBSWCBhbmQgVFggc3VibGluayBzcGVlZCBhdHRyaWJ1dGVz IHNoYXJlDQo+PiArCQkgKiB0aGUgc2FtZSBTU0lELg0KPj4gIAkJICovDQo+PiArCQlzc2ljID0g KHNzYWMgKyAxKSAvIDIgLSAxOw0KPj4gIA0KPj4gLQkJbGUxNl9hZGRfY3B1KCZib3MtPndUb3Rh bExlbmd0aCwgVVNCX0RUX1VTQl9TU1BfQ0FQX1NJWkUoMSkpOw0KPj4gLQkJc3NwX2NhcC0+Ykxl bmd0aCA9IFVTQl9EVF9VU0JfU1NQX0NBUF9TSVpFKDEpOw0KPj4gKwkJc3NwX2NhcCA9IGNkZXYt PnJlcS0+YnVmICsgbGUxNl90b19jcHUoYm9zLT53VG90YWxMZW5ndGgpOw0KPj4gKwkJYm9zLT5i TnVtRGV2aWNlQ2FwcysrOw0KPj4gKw0KPj4gKwkJbGUxNl9hZGRfY3B1KCZib3MtPndUb3RhbExl bmd0aCwgVVNCX0RUX1VTQl9TU1BfQ0FQX1NJWkUoc3NhYykpOw0KPj4gKwkJc3NwX2NhcC0+Ykxl bmd0aCA9IFVTQl9EVF9VU0JfU1NQX0NBUF9TSVpFKHNzYWMpOw0KPj4gIAkJc3NwX2NhcC0+YkRl c2NyaXB0b3JUeXBlID0gVVNCX0RUX0RFVklDRV9DQVBBQklMSVRZOw0KPj4gIAkJc3NwX2NhcC0+ YkRldkNhcGFiaWxpdHlUeXBlID0gVVNCX1NTUF9DQVBfVFlQRTsNCj4+ICAJCXNzcF9jYXAtPmJS ZXNlcnZlZCA9IDA7DQo+PiAgCQlzc3BfY2FwLT53UmVzZXJ2ZWQgPSAwOw0KPj4gIA0KPj4gIAkJ c3NwX2NhcC0+Ym1BdHRyaWJ1dGVzID0NCj4+IC0JCQljcHVfdG9fbGUzMihGSUVMRF9QUkVQKFVT Ql9TU1BfU1VCTElOS19TUEVFRF9BVFRSSUJTLCAxKSB8DQo+PiAtCQkJCSAgICBGSUVMRF9QUkVQ KFVTQl9TU1BfU1VCTElOS19TUEVFRF9JRFMsIDApKTsNCj4+ICsJCQljcHVfdG9fbGUzMihGSUVM RF9QUkVQKFVTQl9TU1BfU1VCTElOS19TUEVFRF9BVFRSSUJTLCBzc2FjKSB8DQo+PiArCQkJCSAg ICBGSUVMRF9QUkVQKFVTQl9TU1BfU1VCTElOS19TUEVFRF9JRFMsIHNzaWMpKTsNCj4+ICANCj4+ ICAJCXNzcF9jYXAtPndGdW5jdGlvbmFsaXR5U3VwcG9ydCA9DQo+PiAgCQkJY3B1X3RvX2xlMTYo RklFTERfUFJFUChVU0JfU1NQX01JTl9TVUJMSU5LX1NQRUVEX0FUVFJJQlVURV9JRCwgMCkgfA0K Pj4gIAkJCQkgICAgRklFTERfUFJFUChVU0JfU1NQX01JTl9SWF9MQU5FX0NPVU5ULCAxKSB8DQo+ PiAgCQkJCSAgICBGSUVMRF9QUkVQKFVTQl9TU1BfTUlOX1RYX0xBTkVfQ09VTlQsIDEpKTsNCj4+ ICANCj4+IC0JCXNzcF9jYXAtPmJtU3VibGlua1NwZWVkQXR0clswXSA9DQo+PiAtCQkJY3B1X3Rv X2xlMzIoRklFTERfUFJFUChVU0JfU1NQX1NVQkxJTktfU1BFRURfU1NJRCwgMCkgfA0KPj4gLQkJ CQkgICAgRklFTERfUFJFUChVU0JfU1NQX1NVQkxJTktfU1BFRURfTFNFLA0KPj4gLQkJCQkJICAg ICAgIFVTQl9TU1BfU1VCTElOS19TUEVFRF9MU0VfR0JQUykgfA0KPj4gLQkJCQkgICAgRklFTERf UFJFUChVU0JfU1NQX1NVQkxJTktfU1BFRURfU1QsDQo+PiAtCQkJCQkgICAgICAgVVNCX1NTUF9T VUJMSU5LX1NQRUVEX1NUX1NZTV9SWCkgfA0KPj4gLQkJCQkgICAgRklFTERfUFJFUChVU0JfU1NQ X1NVQkxJTktfU1BFRURfTFAsDQo+PiAtCQkJCQkgICAgICAgVVNCX1NTUF9TVUJMSU5LX1NQRUVE X0xQX1NTUCkgfA0KPj4gLQkJCQkgICAgRklFTERfUFJFUChVU0JfU1NQX1NVQkxJTktfU1BFRURf TFNNLCAxMCkpOw0KPj4gLQ0KPj4gLQkJc3NwX2NhcC0+Ym1TdWJsaW5rU3BlZWRBdHRyWzFdID0N Cj4+IC0JCQljcHVfdG9fbGUzMihGSUVMRF9QUkVQKFVTQl9TU1BfU1VCTElOS19TUEVFRF9TU0lE LCAwKSB8DQo+PiAtCQkJCSAgICBGSUVMRF9QUkVQKFVTQl9TU1BfU1VCTElOS19TUEVFRF9MU0Us DQo+PiAtCQkJCQkgICAgICAgVVNCX1NTUF9TVUJMSU5LX1NQRUVEX0xTRV9HQlBTKSB8DQo+PiAt CQkJCSAgICBGSUVMRF9QUkVQKFVTQl9TU1BfU1VCTElOS19TUEVFRF9TVCwNCj4+IC0JCQkJCSAg ICAgICBVU0JfU1NQX1NVQkxJTktfU1BFRURfU1RfU1lNX1RYKSB8DQo+PiAtCQkJCSAgICBGSUVM RF9QUkVQKFVTQl9TU1BfU1VCTElOS19TUEVFRF9MUCwNCj4+IC0JCQkJCSAgICAgICBVU0JfU1NQ X1NVQkxJTktfU1BFRURfTFBfU1NQKSB8DQo+PiAtCQkJCSAgICBGSUVMRF9QUkVQKFVTQl9TU1Bf U1VCTElOS19TUEVFRF9MU00sIDEwKSk7DQo+PiArCQkvKg0KPj4gKwkJICogVXNlIDEgU1NJRCBp ZiB0aGUgZ2FkZ2V0IHN1cHBvcnRzIHVwIHRvIGdlbjJ4MSBvciBub3QNCj4+ICsJCSAqIHNwZWNp ZmllZDoNCj4+ICsJCSAqIC0gU1NJRCAwIGZvciBzeW1tZXRyaWMgUlgvVFggc3VibGluayBzcGVl ZCBvZiAxMCBHYnBzLg0KPj4gKwkJICoNCj4+ICsJCSAqIFVzZSAxIFNTSUQgaWYgdGhlIGdhZGdl dCBzdXBwb3J0cyB1cCB0byBnZW4xeDI6DQo+PiArCQkgKiAtIFNTSUQgMCBmb3Igc3ltbWV0cmlj IFJYL1RYIHN1Ymxpbmsgc3BlZWQgb2YgNSBHYnBzLg0KPj4gKwkJICoNCj4+ICsJCSAqIFVzZSAy IFNTSURzIGlmIHRoZSBnYWRnZXQgc3VwcG9ydHMgdXAgdG8gZ2VuMngyOg0KPj4gKwkJICogLSBT U0lEIDAgZm9yIHN5bW1ldHJpYyBSWC9UWCBzdWJsaW5rIHNwZWVkIG9mIDUgR2Jwcy4NCj4+ICsJ CSAqIC0gU1NJRCAxIGZvciBzeW1tZXRyaWMgUlgvVFggc3VibGluayBzcGVlZCBvZiAxMCBHYnBz Lg0KPj4gKwkJICovDQo+PiArCQlmb3IgKGkgPSAwOyBpIDwgc3NhYyArIDE7IGkrKykgew0KPj4g KwkJCXU4IHNzaWQ7DQo+PiArCQkJdTggbWFudGlzc2E7DQo+PiArCQkJdTggdHlwZTsNCj4+ICsN Cj4+ICsJCQlzc2lkID0gaSA+PiAxOw0KPj4gKw0KPj4gKwkJCWlmIChjZGV2LT5nYWRnZXQtPm1h eF9zc3BfcmF0ZSA9PSBVU0JfU1NQX0dFTl8yeDEgfHwNCj4+ICsJCQkgICAgY2Rldi0+Z2FkZ2V0 LT5tYXhfc3NwX3JhdGUgPT0gVVNCX1NTUF9HRU5fVU5LTk9XTikNCj4+ICsJCQkJbWFudGlzc2Eg PSAxMDsNCj4+ICsJCQllbHNlDQo+PiArCQkJCW1hbnRpc3NhID0gNSA8PCBzc2lkOw0KPj4gKw0K Pj4gKwkJCWlmIChpICUgMikNCj4+ICsJCQkJdHlwZSA9IFVTQl9TU1BfU1VCTElOS19TUEVFRF9T VF9TWU1fVFg7DQo+PiArCQkJZWxzZQ0KPj4gKwkJCQl0eXBlID0gVVNCX1NTUF9TVUJMSU5LX1NQ RUVEX1NUX1NZTV9SWDsNCj4+ICsNCj4+ICsJCQlzc3BfY2FwLT5ibVN1YmxpbmtTcGVlZEF0dHJb aV0gPQ0KPj4gKwkJCQljcHVfdG9fbGUzMihGSUVMRF9QUkVQKFVTQl9TU1BfU1VCTElOS19TUEVF RF9TU0lELCBzc2lkKSB8DQo+PiArCQkJCQkgICAgRklFTERfUFJFUChVU0JfU1NQX1NVQkxJTktf U1BFRURfTFNFLA0KPj4gKwkJCQkJCSAgICAgICBVU0JfU1NQX1NVQkxJTktfU1BFRURfTFNFX0dC UFMpIHwNCj4+ICsJCQkJCSAgICBGSUVMRF9QUkVQKFVTQl9TU1BfU1VCTElOS19TUEVFRF9TVCwg dHlwZSkgfA0KPj4gKwkJCQkJICAgIEZJRUxEX1BSRVAoVVNCX1NTUF9TVUJMSU5LX1NQRUVEX0xQ LA0KPj4gKwkJCQkJCSAgICAgICBVU0JfU1NQX1NVQkxJTktfU1BFRURfTFBfU1NQKSB8DQo+PiAr CQkJCQkgICAgRklFTERfUFJFUChVU0JfU1NQX1NVQkxJTktfU1BFRURfTFNNLCBtYW50aXNzYSkp Ow0KPj4gKwkJfQ0KPj4gIAl9DQo+PiAgDQo+PiAgCXJldHVybiBsZTE2X3RvX2NwdShib3MtPndU b3RhbExlbmd0aCk7DQo+PiAtLSANCj4+IDIuMjguMA0KPj4NCg0K