Received: by 2002:a17:90a:2044:0:0:0:0 with SMTP id n62csp529704pjc; Mon, 20 May 2019 11:19:02 -0700 (PDT) X-Google-Smtp-Source: APXvYqwPMWi7oOVaEwJ+q0Vth5bgPwecd2ByZHbnatZe2QWZXZtTWncnwbtuHL5uiaAkLULv3ksB X-Received: by 2002:aa7:8d50:: with SMTP id s16mr20323179pfe.96.1558376342103; Mon, 20 May 2019 11:19:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1558376342; cv=none; d=google.com; s=arc-20160816; b=Khsse08pIya84Q7LjldFlQsTsThMEW7EjqqRo4QnBy7s2sDkOi2FvPbrNALpV43deU NVPDZJU8Pt+5gRHwYOVqhUPXoflbs5gbzhkNXe+8gazX3rcjTSDWDSFJPo3P6fz76gN/ 2Rrzpfid9MF7bOm2kxBiFvrJmE3LAE5ZK7m+/q+4Gakk+XLYPuxWpl21KV5ky6AP7LHR bzi91Y2Xsw/ndZltMGi2Q/3qEDGrA/qSPhuTfDpa7Cq1smXyON8hMdwnn2MPTywlz/kW a/zBYi6SIR5AjlDMEfPdCiMNZx2F/7+J5nUVtR9GNJdmcYiLtDqkMoJu/3aJRgvvalsn fpcQ== 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=TZ1FI76t1V2JUF9npqN73z1XugX1WH+02Z9CQ3H25A8=; b=AU/ygR5hfNuvxF0IV0VWKJ/1GvKusPXiQ+M6vH4iHvOsPxBK6vIC2JRl8ZHToMALec Ir9fiqyv4DaPemBCoDYpY65Y9UYgz8Ji939LCEMNAZf4SyIITbrmWLMWFtSo7HZnH+Dd q8YfnBQ25x2jSBdjG40yww1vO7wVcJvKFhOGZgDfXj2sMXJcLiHvCx0K49AsD4PG7J4b Lp5onVqQfvi14CTbczgLBFINU07kYzesEurcYsdptOAHhZE9V09qA61tZ0YPi2fnlE3E a4mS9Fnk9dPcXMo3JGN8qT0mDOWiKfxcebHpFmq8Bj3IMJbr7x41Kz1p1PPMILU1k+HA ImiQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@itdevltd.onmicrosoft.com header.s=selector1-itdevltd-onmicrosoft-com header.b=qiV3Jwkh; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id bb4si10099417plb.432.2019.05.20.11.18.47; Mon, 20 May 2019 11:19:02 -0700 (PDT) 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=pass header.i=@itdevltd.onmicrosoft.com header.s=selector1-itdevltd-onmicrosoft-com header.b=qiV3Jwkh; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2389142AbfETQjb (ORCPT + 99 others); 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==