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.0 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,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 F39B5C04AAC for ; Mon, 20 May 2019 16:39:37 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id A36A721721 for ; Mon, 20 May 2019 16:39:37 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=itdevltd.onmicrosoft.com header.i=@itdevltd.onmicrosoft.com header.b="qiV3Jwkh" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2392668AbfETQjb (ORCPT ); Mon, 20 May 2019 12:39:31 -0400 Received: from mail-eopbgr30085.outbound.protection.outlook.com ([40.107.3.85]:28806 "EHLO EUR03-AM5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S2392643AbfETQjZ (ORCPT ); Mon, 20 May 2019 12:39:25 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=itdevltd.onmicrosoft.com; s=selector1-itdevltd-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TZ1FI76t1V2JUF9npqN73z1XugX1WH+02Z9CQ3H25A8=; b=qiV3Jwkhyl+jvdHPM6fi65YNQDODuaUYDK8ifcKBBjY9CBX4FlG52d6Y231v2erNG3L4FA4oHVh3jJusnNVIs+7W8f8rnZaNtoVC6A/oQyfpWzRLZre0nyLQH6a6P28aM95yQSioF0mUB+C70MhkhKUHwkH+DTxbY719050HYeM= Received: from VI1PR08MB3168.eurprd08.prod.outlook.com (52.133.15.143) by VI1PR08MB3662.eurprd08.prod.outlook.com (20.177.61.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1900.17; Mon, 20 May 2019 16:39:05 +0000 Received: from VI1PR08MB3168.eurprd08.prod.outlook.com ([fe80::1d25:dae7:53a6:b461]) by VI1PR08MB3168.eurprd08.prod.outlook.com ([fe80::1d25:dae7:53a6:b461%3]) with mapi id 15.20.1900.020; Mon, 20 May 2019 16:39:05 +0000 From: Quentin Deslandes To: "devel@driverdev.osuosl.org" CC: Forest Bond , Greg Kroah-Hartman , Quentin Deslandes , Mukesh Ojha , Ojaswin Mujoo , Nishad Kamdar , "linux-kernel@vger.kernel.org" Subject: [PATCH 6/7] staging: vt6656: clean-up registers initialization error path Thread-Topic: [PATCH 6/7] staging: vt6656: clean-up registers initialization error path Thread-Index: AQHVDyqJfSKxNqVCiUKyQNx7q/b4Sw== Date: Mon, 20 May 2019 16:39:04 +0000 Message-ID: <20190520163844.1225-7-quentin.deslandes@itdev.co.uk> References: <20190520163844.1225-1-quentin.deslandes@itdev.co.uk> In-Reply-To: <20190520163844.1225-1-quentin.deslandes@itdev.co.uk> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: AM6PR08CA0002.eurprd08.prod.outlook.com (2603:10a6:20b:b2::14) To VI1PR08MB3168.eurprd08.prod.outlook.com (2603:10a6:803:47::15) authentication-results: spf=none (sender IP is ) smtp.mailfrom=quentin.deslandes@itdev.co.uk; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.17.1 x-originating-ip: [89.21.227.133] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 1bfea39d-0cbf-436f-6775-08d6dd41abd9 x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(7021145)(8989299)(4534185)(7022145)(4603075)(4627221)(201702281549075)(8990200)(7048125)(7024125)(7027125)(7023125)(5600141)(711020)(4605104)(2017052603328)(7193020);SRVR:VI1PR08MB3662; x-ms-traffictypediagnostic: VI1PR08MB3662: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:5236; x-forefront-prvs: 004395A01C x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(346002)(366004)(39840400004)(376002)(396003)(136003)(199004)(189003)(1730700003)(2501003)(14454004)(73956011)(486006)(8936002)(44832011)(71190400001)(71200400001)(50226002)(81156014)(81166006)(4326008)(66446008)(64756008)(66556008)(66946007)(66476007)(8676002)(53936002)(446003)(316002)(11346002)(476003)(2616005)(305945005)(6436002)(66066001)(508600001)(6486002)(7736002)(5640700003)(68736007)(25786009)(186003)(6512007)(14444005)(86362001)(256004)(6116002)(3846002)(1076003)(5660300002)(26005)(36756003)(76176011)(99286004)(6916009)(6506007)(386003)(52116002)(102836004)(2351001)(54906003)(74482002)(2906002);DIR:OUT;SFP:1101;SCL:1;SRVR:VI1PR08MB3662;H:VI1PR08MB3168.eurprd08.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: itdev.co.uk does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: jC12L/TJGcRqWuTHarsoGh4EeTHVA6tWyDIkxRI0/quoYqYSxko+15jSCdscyPXEqyYBxbFQyZ2bkuPEaXSnOYRWyEwA9NUHvWBz0xiUwLMO1t1ns1m1XlCoN/pJoyBSPDpF4l5hKp9eEyP27ygGLlJzHQY67tKhXAtFH4NcaSTUBJpkCtAdzMHoU3HX+dXsIYAVbTLGRbTBillJ2dXEVk+nAKX3/pKwzdEQ20LynzmR5bB7J9/PXqk1oqDlY+Pw+Jnx7UiiDD1/QznVHzbvDgZZDc89wmH5v0pp+jhv6oNHGGQkYbRsZT4Mc8YKG1ycNO7f3VjGo1qFH+OLGP4vJGCWq9G5dvylI27/CSFZ5Y/oMN8WFKzeFSC69tb0io9hx0Dz8vPbvxhnXZAfPCTO9pi6v7JP1iddPShqeVAlIWc= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: itdev.co.uk X-MS-Exchange-CrossTenant-Network-Message-Id: 1bfea39d-0cbf-436f-6775-08d6dd41abd9 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 May 2019 16:39:04.8656 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 2d2930c4-2251-45b4-ad79-3582c5f41740 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB3662 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org QXZvaWQgZGlzY2FyZGluZyBmdW5jdGlvbidzIHJldHVybiBjb2RlIGR1cmluZyByZWdpc3RlciBp bml0aWFsaXphdGlvbi4NCkhhbmRsZSBpdCBpbnN0ZWFkIGFuZCByZXR1cm4gMCBvbiBzdWNjZXNz IG9yIGEgbmVnYXRpdmUgZXJybm8gdmFsdWUgb24NCmVycm9yLg0KDQpTaWduZWQtb2ZmLWJ5OiBR dWVudGluIERlc2xhbmRlcyA8cXVlbnRpbi5kZXNsYW5kZXNAaXRkZXYuY28udWs+DQotLS0NCiBk cml2ZXJzL3N0YWdpbmcvdnQ2NjU2L21haW5fdXNiLmMgfCAxNjMgKysrKysrKysrKysrKysrKysr LS0tLS0tLS0tLS0tDQogMSBmaWxlIGNoYW5nZWQsIDk2IGluc2VydGlvbnMoKyksIDY3IGRlbGV0 aW9ucygtKQ0KDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL3Z0NjY1Ni9tYWluX3VzYi5j IGIvZHJpdmVycy9zdGFnaW5nL3Z0NjY1Ni9tYWluX3VzYi5jDQppbmRleCA1ZmQ4NDVjYmRkNTIu LjhlZDk2ZThlZWRiZSAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvc3RhZ2luZy92dDY2NTYvbWFpbl91 c2IuYw0KKysrIGIvZHJpdmVycy9zdGFnaW5nL3Z0NjY1Ni9tYWluX3VzYi5jDQpAQCAtMTA5LDMz ICsxMDksMzggQEAgc3RhdGljIHZvaWQgdm50X3NldF9vcHRpb25zKHN0cnVjdCB2bnRfcHJpdmF0 ZSAqcHJpdikNCiAgKi8NCiBzdGF0aWMgaW50IHZudF9pbml0X3JlZ2lzdGVycyhzdHJ1Y3Qgdm50 X3ByaXZhdGUgKnByaXYpDQogew0KKwlpbnQgcmV0ID0gMDsNCiAJc3RydWN0IHZudF9jbWRfY2Fy ZF9pbml0ICppbml0X2NtZCA9ICZwcml2LT5pbml0X2NvbW1hbmQ7DQogCXN0cnVjdCB2bnRfcnNw X2NhcmRfaW5pdCAqaW5pdF9yc3AgPSAmcHJpdi0+aW5pdF9yZXNwb25zZTsNCiAJdTggYW50ZW5u YTsNCiAJaW50IGlpOw0KLQlpbnQgc3RhdHVzID0gU1RBVFVTX1NVQ0NFU1M7DQogCXU4IHRtcDsN CiAJdTggY2FsaWJfdHhfaXEgPSAwLCBjYWxpYl90eF9kYyA9IDAsIGNhbGliX3J4X2lxID0gMDsN CiANCiAJZGV2X2RiZygmcHJpdi0+dXNiLT5kZXYsICItLS0tPklOSWJJbml0QWRhcHRlci4gWyVk XVslZF1cbiIsDQogCQlERVZJQ0VfSU5JVF9DT0xELCBwcml2LT5wYWNrZXRfdHlwZSk7DQogDQot CWlmICghdm50X2NoZWNrX2Zpcm13YXJlX3ZlcnNpb24ocHJpdikpIHsNCi0JCWlmICh2bnRfZG93 bmxvYWRfZmlybXdhcmUocHJpdikgPT0gdHJ1ZSkgew0KLQkJCWlmICh2bnRfZmlybXdhcmVfYnJh bmNoX3RvX3NyYW0ocHJpdikgPT0gZmFsc2UpIHsNCi0JCQkJZGV2X2RiZygmcHJpdi0+dXNiLT5k ZXYsDQotCQkJCQkiIHZudF9maXJtd2FyZV9icmFuY2hfdG9fc3JhbSBmYWlsXG4iKTsNCi0JCQkJ cmV0dXJuIGZhbHNlOw0KLQkJCX0NCi0JCX0gZWxzZSB7DQotCQkJZGV2X2RiZygmcHJpdi0+dXNi LT5kZXYsICJGSVJNV0FSRWJEb3dubG9hZCBmYWlsXG4iKTsNCi0JCQlyZXR1cm4gZmFsc2U7DQor CXJldCA9IHZudF9jaGVja19maXJtd2FyZV92ZXJzaW9uKHByaXYpOw0KKwlpZiAocmV0KSB7DQor CQlyZXQgPSB2bnRfZG93bmxvYWRfZmlybXdhcmUocHJpdik7DQorCQlpZiAocmV0KSB7DQorCQkJ ZGV2X2RiZygmcHJpdi0+dXNiLT5kZXYsDQorCQkJCSJDb3VsZCBub3QgZG93bmxvYWQgZmlybXdh cmU6ICVkLlxuIiwgcmV0KTsNCisJCQlnb3RvIGVuZDsNCisJCX0NCisNCisJCXJldCA9IHZudF9m aXJtd2FyZV9icmFuY2hfdG9fc3JhbShwcml2KTsNCisJCWlmIChyZXQpIHsNCisJCQlkZXZfZGJn KCZwcml2LT51c2ItPmRldiwNCisJCQkJIkNvdWxkIG5vdCBicmFuY2ggdG8gU1JBTTogJWQuXG4i LCByZXQpOw0KKwkJCWdvdG8gZW5kOw0KIAkJfQ0KIAl9DQogDQotCWlmICghdm50X3Z0MzE4NF9p bml0KHByaXYpKSB7DQorCXJldCA9IHZudF92dDMxODRfaW5pdChwcml2KTsNCisJaWYgKHJldCkg ew0KIAkJZGV2X2RiZygmcHJpdi0+dXNiLT5kZXYsICJ2bnRfdnQzMTg0X2luaXQgZmFpbFxuIik7 DQotCQlyZXR1cm4gZmFsc2U7DQorCQlnb3RvIGVuZDsNCiAJfQ0KIA0KIAlpbml0X2NtZC0+aW5p dF9jbGFzcyA9IERFVklDRV9JTklUX0NPTEQ7DQpAQCAtMTQ2LDI4ICsxNTEsMjcgQEAgc3RhdGlj IGludCB2bnRfaW5pdF9yZWdpc3RlcnMoc3RydWN0IHZudF9wcml2YXRlICpwcml2KQ0KIAlpbml0 X2NtZC0+bG9uZ19yZXRyeV9saW1pdCA9IHByaXYtPmxvbmdfcmV0cnlfbGltaXQ7DQogDQogCS8q IGlzc3VlIGNhcmRfaW5pdCBjb21tYW5kIHRvIGRldmljZSAqLw0KLQlzdGF0dXMgPSB2bnRfY29u dHJvbF9vdXQocHJpdiwgTUVTU0FHRV9UWVBFX0NBUkRJTklULCAwLCAwLA0KLQkJCQkgc2l6ZW9m KHN0cnVjdCB2bnRfY21kX2NhcmRfaW5pdCksDQotCQkJCSAodTggKilpbml0X2NtZCk7DQotCWlm IChzdGF0dXMgIT0gU1RBVFVTX1NVQ0NFU1MpIHsNCisJcmV0ID0gdm50X2NvbnRyb2xfb3V0KHBy aXYsIE1FU1NBR0VfVFlQRV9DQVJESU5JVCwgMCwgMCwNCisJCQkgICAgICBzaXplb2Yoc3RydWN0 IHZudF9jbWRfY2FyZF9pbml0KSwNCisJCQkgICAgICAodTggKilpbml0X2NtZCk7DQorCWlmIChy ZXQpIHsNCiAJCWRldl9kYmcoJnByaXYtPnVzYi0+ZGV2LCAiSXNzdWUgQ2FyZCBpbml0IGZhaWxc biIpOw0KLQkJcmV0dXJuIGZhbHNlOw0KKwkJZ290byBlbmQ7DQogCX0NCiANCi0Jc3RhdHVzID0g dm50X2NvbnRyb2xfaW4ocHJpdiwgTUVTU0FHRV9UWVBFX0lOSVRfUlNQLCAwLCAwLA0KLQkJCQlz aXplb2Yoc3RydWN0IHZudF9yc3BfY2FyZF9pbml0KSwNCi0JCQkJKHU4ICopaW5pdF9yc3ApOw0K LQlpZiAoc3RhdHVzICE9IFNUQVRVU19TVUNDRVNTKSB7DQotCQlkZXZfZGJnKCZwcml2LT51c2It PmRldiwNCi0JCQkiQ2FyZGluaXQgcmVxdWVzdCBpbiBzdGF0dXMgZmFpbCFcbiIpOw0KLQkJcmV0 dXJuIGZhbHNlOw0KKwlyZXQgPSB2bnRfY29udHJvbF9pbihwcml2LCBNRVNTQUdFX1RZUEVfSU5J VF9SU1AsIDAsIDAsDQorCQkJICAgICBzaXplb2Yoc3RydWN0IHZudF9yc3BfY2FyZF9pbml0KSwN CisJCQkgICAgICh1OCAqKWluaXRfcnNwKTsNCisJaWYgKHJldCkgew0KKwkJZGV2X2RiZygmcHJp di0+dXNiLT5kZXYsICJDYXJkaW5pdCByZXF1ZXN0IGluIHN0YXR1cyBmYWlsIVxuIik7DQorCQln b3RvIGVuZDsNCiAJfQ0KIA0KIAkvKiBsb2NhbCBJRCBmb3IgQUVTIGZ1bmN0aW9ucyAqLw0KLQlz dGF0dXMgPSB2bnRfY29udHJvbF9pbihwcml2LCBNRVNTQUdFX1RZUEVfUkVBRCwgTUFDX1JFR19M T0NBTElELA0KLQkJCQlNRVNTQUdFX1JFUVVFU1RfTUFDUkVHLCAxLCAmcHJpdi0+bG9jYWxfaWQp Ow0KLQlpZiAoc3RhdHVzICE9IFNUQVRVU19TVUNDRVNTKQ0KLQkJcmV0dXJuIGZhbHNlOw0KKwly ZXQgPSB2bnRfY29udHJvbF9pbihwcml2LCBNRVNTQUdFX1RZUEVfUkVBRCwgTUFDX1JFR19MT0NB TElELA0KKwkJCSAgICAgTUVTU0FHRV9SRVFVRVNUX01BQ1JFRywgMSwgJnByaXYtPmxvY2FsX2lk KTsNCisJaWYgKHJldCkNCisJCWdvdG8gZW5kOw0KIA0KIAkvKiBkbyBNQUNiU29mdHdhcmVSZXNl dCBpbiBNQUN2SW5pdGlhbGl6ZSAqLw0KIA0KQEAgLTI1Myw3ICsyNTcsOSBAQCBzdGF0aWMgaW50 IHZudF9pbml0X3JlZ2lzdGVycyhzdHJ1Y3Qgdm50X3ByaXZhdGUgKnByaXYpDQogCX0NCiANCiAJ LyogU2V0IGluaXRpYWwgYW50ZW5uYSBtb2RlICovDQotCXZudF9zZXRfYW50ZW5uYV9tb2RlKHBy aXYsIHByaXYtPnJ4X2FudGVubmFfbW9kZSk7DQorCXJldCA9IHZudF9zZXRfYW50ZW5uYV9tb2Rl KHByaXYsIHByaXYtPnJ4X2FudGVubmFfbW9kZSk7DQorCWlmIChyZXQpDQorCQlnb3RvIGVuZDsN CiANCiAJLyogZ2V0IEF1dG8gRmFsbCBCYWNrIHR5cGUgKi8NCiAJcHJpdi0+YXV0b19mYl9jdHJs ID0gQVVUT19GQl8wOw0KQEAgLTI3NSwzMyArMjgxLDQxIEBAIHN0YXRpYyBpbnQgdm50X2luaXRf cmVnaXN0ZXJzKHN0cnVjdCB2bnRfcHJpdmF0ZSAqcHJpdikNCiAJCQkJLyogQ1IyNTUsIGVuYWJs ZSBUWC9SWCBJUSBhbmQNCiAJCQkJICogREMgY29tcGVuc2F0aW9uIG1vZGUNCiAJCQkJICovDQot CQkJCXZudF9jb250cm9sX291dF91OChwcml2LA0KLQkJCQkJCSAgIE1FU1NBR0VfUkVRVUVTVF9C QlJFRywNCi0JCQkJCQkgICAweGZmLA0KLQkJCQkJCSAgIDB4MDMpOw0KKwkJCQlyZXQgPSB2bnRf Y29udHJvbF9vdXRfdTgocHJpdiwNCisJCQkJCQkJIE1FU1NBR0VfUkVRVUVTVF9CQlJFRywNCisJ CQkJCQkJIDB4ZmYsIDB4MDMpOw0KKwkJCQlpZiAocmV0KQ0KKwkJCQkJZ290byBlbmQ7DQorDQog CQkJCS8qIENSMjUxLCBUWCBJL1EgSW1iYWxhbmNlIENhbGlicmF0aW9uICovDQotCQkJCXZudF9j b250cm9sX291dF91OChwcml2LA0KLQkJCQkJCSAgIE1FU1NBR0VfUkVRVUVTVF9CQlJFRywNCi0J CQkJCQkgICAweGZiLA0KLQkJCQkJCSAgIGNhbGliX3R4X2lxKTsNCisJCQkJcmV0ID0gdm50X2Nv bnRyb2xfb3V0X3U4KHByaXYsDQorCQkJCQkJCSBNRVNTQUdFX1JFUVVFU1RfQkJSRUcsDQorCQkJ CQkJCSAweGZiLCBjYWxpYl90eF9pcSk7DQorCQkJCWlmIChyZXQpDQorCQkJCQlnb3RvIGVuZDsN CisNCiAJCQkJLyogQ1IyNTIsIFRYIERDLU9mZnNldCBDYWxpYnJhdGlvbiAqLw0KLQkJCQl2bnRf Y29udHJvbF9vdXRfdTgocHJpdiwNCi0JCQkJCQkgICBNRVNTQUdFX1JFUVVFU1RfQkJSRUcsDQot CQkJCQkJICAgMHhmQywNCi0JCQkJCQkgICBjYWxpYl90eF9kYyk7DQorCQkJCXJldCA9IHZudF9j b250cm9sX291dF91OChwcml2LA0KKwkJCQkJCQkgTUVTU0FHRV9SRVFVRVNUX0JCUkVHLA0KKwkJ CQkJCQkgMHhmQywgY2FsaWJfdHhfZGMpOw0KKwkJCQlpZiAocmV0KQ0KKwkJCQkJZ290byBlbmQ7 DQorDQogCQkJCS8qIENSMjUzLCBSWCBJL1EgSW1iYWxhbmNlIENhbGlicmF0aW9uICovDQotCQkJ CXZudF9jb250cm9sX291dF91OChwcml2LA0KLQkJCQkJCSAgIE1FU1NBR0VfUkVRVUVTVF9CQlJF RywNCi0JCQkJCQkgICAweGZkLA0KLQkJCQkJCSAgIGNhbGliX3J4X2lxKTsNCisJCQkJcmV0ID0g dm50X2NvbnRyb2xfb3V0X3U4KHByaXYsDQorCQkJCQkJCSBNRVNTQUdFX1JFUVVFU1RfQkJSRUcs DQorCQkJCQkJCSAweGZkLCBjYWxpYl9yeF9pcSk7DQorCQkJCWlmIChyZXQpDQorCQkJCQlnb3Rv IGVuZDsNCiAJCQl9IGVsc2Ugew0KIAkJCQkvKiBDUjI1NSwgdHVybiBvZmYNCiAJCQkJICogQkIg Q2FsaWJyYXRpb24gY29tcGVuc2F0aW9uDQogCQkJCSAqLw0KLQkJCQl2bnRfY29udHJvbF9vdXRf dTgocHJpdiwNCi0JCQkJCQkgICBNRVNTQUdFX1JFUVVFU1RfQkJSRUcsDQotCQkJCQkJICAgMHhm ZiwNCi0JCQkJCQkgICAweDApOw0KKwkJCQlyZXQgPSB2bnRfY29udHJvbF9vdXRfdTgocHJpdiwN CisJCQkJCQkJIE1FU1NBR0VfUkVRVUVTVF9CQlJFRywNCisJCQkJCQkJIDB4ZmYsIDB4MCk7DQor CQkJCWlmIChyZXQpDQorCQkJCQlnb3RvIGVuZDsNCiAJCQl9DQogCQl9DQogCX0NCkBAIC0zMjMs MzcgKzMzNyw1MiBAQCBzdGF0aWMgaW50IHZudF9pbml0X3JlZ2lzdGVycyhzdHJ1Y3Qgdm50X3By aXZhdGUgKnByaXYpDQogCWVsc2UNCiAJCXByaXYtPnNob3J0X3Nsb3RfdGltZSA9IGZhbHNlOw0K IA0KLQl2bnRfc2V0X3Nob3J0X3Nsb3RfdGltZShwcml2KTsNCisJcmV0ID0gdm50X3NldF9zaG9y dF9zbG90X3RpbWUocHJpdik7DQorCWlmIChyZXQpDQorCQlnb3RvIGVuZDsNCiANCiAJcHJpdi0+ cmFkaW9fY3RsID0gcHJpdi0+ZWVwcm9tW0VFUF9PRlNfUkFESU9DVExdOw0KIA0KIAlpZiAoKHBy aXYtPnJhZGlvX2N0bCAmIEVFUF9SQURJT0NUTF9FTkFCTEUpICE9IDApIHsNCi0JCXN0YXR1cyA9 IHZudF9jb250cm9sX2luKHByaXYsIE1FU1NBR0VfVFlQRV9SRUFELA0KLQkJCQkJTUFDX1JFR19H UElPQ1RMMSwNCi0JCQkJCU1FU1NBR0VfUkVRVUVTVF9NQUNSRUcsIDEsICZ0bXApOw0KKwkJcmV0 ID0gdm50X2NvbnRyb2xfaW4ocHJpdiwgTUVTU0FHRV9UWVBFX1JFQUQsDQorCQkJCSAgICAgTUFD X1JFR19HUElPQ1RMMSwgTUVTU0FHRV9SRVFVRVNUX01BQ1JFRywNCisJCQkJICAgICAxLCAmdG1w KTsNCisJCWlmIChyZXQpDQorCQkJZ290byBlbmQ7DQogDQotCQlpZiAoc3RhdHVzICE9IFNUQVRV U19TVUNDRVNTKQ0KLQkJCXJldHVybiBmYWxzZTsNCisJCWlmICgodG1wICYgR1BJTzNfREFUQSkg PT0gMCkgew0KKwkJCXJldCA9IHZudF9tYWNfcmVnX2JpdHNfb24ocHJpdiwgTUFDX1JFR19HUElP Q1RMMSwNCisJCQkJCQkgIEdQSU8zX0lOVE1EKTsNCisJCX0gZWxzZSB7DQorCQkJcmV0ID0gdm50 X21hY19yZWdfYml0c19vZmYocHJpdiwgTUFDX1JFR19HUElPQ1RMMSwNCisJCQkJCQkgICBHUElP M19JTlRNRCk7DQorCQl9DQogDQotCQlpZiAoKHRtcCAmIEdQSU8zX0RBVEEpID09IDApDQotCQkJ dm50X21hY19yZWdfYml0c19vbihwcml2LCBNQUNfUkVHX0dQSU9DVEwxLA0KLQkJCQkJICAgIEdQ SU8zX0lOVE1EKTsNCi0JCWVsc2UNCi0JCQl2bnRfbWFjX3JlZ19iaXRzX29mZihwcml2LCBNQUNf UkVHX0dQSU9DVEwxLA0KLQkJCQkJICAgICBHUElPM19JTlRNRCk7DQorCQlpZiAocmV0KQ0KKwkJ CWdvdG8gZW5kOw0KIAl9DQogDQotCXZudF9tYWNfc2V0X2xlZChwcml2LCBMRURTVFNfVE1MRU4s IDB4MzgpOw0KIA0KLQl2bnRfbWFjX3NldF9sZWQocHJpdiwgTEVEU1RTX1NUUywgTEVEU1RTX1NM T1cpOw0KKwlyZXQgPSB2bnRfbWFjX3NldF9sZWQocHJpdiwgTEVEU1RTX1RNTEVOLCAweDM4KTsN CisJaWYgKHJldCkNCisJCWdvdG8gZW5kOw0KIA0KLQl2bnRfbWFjX3JlZ19iaXRzX29uKHByaXYs IE1BQ19SRUdfR1BJT0NUTDAsIDB4MDEpOw0KKwlyZXQgPSB2bnRfbWFjX3NldF9sZWQocHJpdiwg TEVEU1RTX1NUUywgTEVEU1RTX1NMT1cpOw0KKwlpZiAocmV0KQ0KKwkJZ290byBlbmQ7DQogDQot CXZudF9yYWRpb19wb3dlcl9vbihwcml2KTsNCisJcmV0ID0gdm50X21hY19yZWdfYml0c19vbihw cml2LCBNQUNfUkVHX0dQSU9DVEwwLCAweDAxKTsNCisJaWYgKHJldCkNCisJCWdvdG8gZW5kOw0K Kw0KKwlyZXQgPSB2bnRfcmFkaW9fcG93ZXJfb24ocHJpdik7DQorCWlmIChyZXQpDQorCQlnb3Rv IGVuZDsNCiANCiAJZGV2X2RiZygmcHJpdi0+dXNiLT5kZXYsICI8LS0tLUlOSWJJbml0QWRhcHRl ciBFeGl0XG4iKTsNCiANCi0JcmV0dXJuIHRydWU7DQorZW5kOg0KKwlyZXR1cm4gcmV0Ow0KIH0N CiANCiBzdGF0aWMgdm9pZCB2bnRfZnJlZV90eF9idWZzKHN0cnVjdCB2bnRfcHJpdmF0ZSAqcHJp dikNCi0tIA0KMi4xNy4xDQoNCg==