Received: by 2002:a25:ef43:0:0:0:0:0 with SMTP id w3csp1418578ybm; Sat, 30 May 2020 08:17:13 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzTLS6X+MZApjxCN+eLm4FPPcenjcPHUPwjdF2flWRT2Uura2pznIoNq/P+KPBlvDcKGT0B X-Received: by 2002:a17:906:3a0d:: with SMTP id z13mr12121652eje.122.1590851832847; Sat, 30 May 2020 08:17:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590851832; cv=none; d=google.com; s=arc-20160816; b=h/9Ydc5TBH9BOiXqim41yuRYqf4BswHr2b1/tTQfRPQDQdi9NHRPbmKZ6cnCuIJ4a5 dVp9YXpqxdHlXxr6JkracLb4lCUsIBczpl/yf5GlmXbZv8el490OTTntjax5LXSC3wcR DQ7trMB4P7RzMYkN6fz0vOvGt2bB7ewjIMPfj8buAgfydxG4p8kwRwwBAZww89wy4cOm Xp6reEBjYTONzz7OEMt2qhtmyIyA8P1D4m2cWZLeTU+iuOBqbBBViS6iVir8LmWrt/m5 2zfjyV1ovMpKnWHWMPm0H9jR9+pS5ogeX6jMMzXPVpDaM92FAQrOyQEbeSrSW6iWIyY4 jjgg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=zs+0w6nLPCOoHeMZRQqu4tfYpdiCBTOiMbmuhn2fSSA=; b=p8MUvQjQ18E/vAqkYQwOk7RwGiyLY7GuXBuiVYffpJeD+BBCw8h6I48yngVXjI4MYL s8iIcj2TxQ8Tg7X3ZJhFqiiFTCbBdP5qzTFWSPrtEacTF0qoNEKSLm7sFrSD8kWFzjOw j2Af6rujb+jC4pkI6JTqtsZmdD0BNq1A55wcU6f5Hgj54WaRUpXaTJ0a7yqEwl3Z9SqA coZp+i7IJPC6eAAZagMCAfDEJWftjp316M88MZJAr19wNoWSzdLSn5oAobg7z+oAnTqj /nHfBHBuvRe/T/bq79CnZ0tVNOu7g1ZqYZ0MBoudR6T/f6zLmCdJEVxgcMfk5MBUo9aK ZD9A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=Za6SzSBV; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id w14si7401513ede.41.2020.05.30.08.16.49; Sat, 30 May 2020 08:17:12 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=Za6SzSBV; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729105AbgE3PN4 (ORCPT + 99 others); Sat, 30 May 2020 11:13:56 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:32535 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1728989AbgE3PNy (ORCPT ); Sat, 30 May 2020 11:13:54 -0400 X-UUID: 3e742bac3b94497687f8547066c3a365-20200530 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=zs+0w6nLPCOoHeMZRQqu4tfYpdiCBTOiMbmuhn2fSSA=; b=Za6SzSBVD07QQQKOooZ9IGD/6meVbqGw+Jkiyb3Fd5LsMazvqtiYCHGZ9safLXcV42dZR8ADnMigVDj0RgnKCiuDYgbsVHxJige64Rei9ds1NGmRTXyqsGVgBEMHZu2HlBinVuPsDkhlAFqC6B3VRYW9VEsTSB/1D6xu2uhzQnA=; X-UUID: 3e742bac3b94497687f8547066c3a365-20200530 Received: from mtkexhb01.mediatek.inc [(172.21.101.102)] by mailgw01.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 19106460; Sat, 30 May 2020 23:13:47 +0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs02n1.mediatek.inc (172.21.101.77) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Sat, 30 May 2020 23:13:36 +0800 Received: from mtksdccf07.mediatek.inc (172.21.84.99) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Sat, 30 May 2020 23:13:36 +0800 From: Stanley Chu To: , , , , CC: , , , , , , , , , , , , , , Stanley Chu Subject: [PATCH v1 1/2] scsi: ufs: Support WriteBooster on Samsung UFS devices Date: Sat, 30 May 2020 23:13:36 +0800 Message-ID: <20200530151337.6182-2-stanley.chu@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20200530151337.6182-1-stanley.chu@mediatek.com> References: <20200530151337.6182-1-stanley.chu@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain X-MTK: N Content-Transfer-Encoding: base64 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org U2Ftc3VuZyBVRlMgZGV2aWNlcyBhcmUgd2lkZWx5IHVzZWQgaW4gdGhlIG1hcmtldCwgaG93ZXZl ciB0aGVzZQ0KZGV2aWNlcyBuZWVkIHNvbWUgc3BlY2lhbCBoYW5kbGluZyB0byBzdXBwb3J0IFdy aXRlQm9vc3Rlci4NCg0KVGhlIG1ham9yIHBhcnQgaXMgdGhhdCBTYW1zdW5nIFVGUyBkZXZpY2Vz IG5lZWQgdG8gdXNlIHNwZWNpZmljDQoic2VsZWN0b3IiIHZhbHVlIGZvciBXcml0ZUJvb3N0ZXIg cmVsYXRlZCBxdWVyeSBvcGVyYXRpb25zLiBUaGVyZWZvcmUsDQppbnRyb2R1Y2UgYSBkZXZpY2Ug cXVpcmsgdG8gaGFuZGxlIHRoZSBzcGVjaWFsIHJlcXVpcmVtZW50IGFuZCB0aGVuDQpXcml0ZUJv b3N0ZXIgY2FuIGJlIGVuYWJsZWQgb24gdGhlc2UgZGV2aWNlcy4NCg0KU2lnbmVkLW9mZi1ieTog U3RhbmxleSBDaHUgPHN0YW5sZXkuY2h1QG1lZGlhdGVrLmNvbT4NCi0tLQ0KIGRyaXZlcnMvc2Nz aS91ZnMvdWZzLXN5c2ZzLmMgIHwgMTIgLS0tLS0tLS0tLQ0KIGRyaXZlcnMvc2NzaS91ZnMvdWZz LmggICAgICAgIHwgIDEgKw0KIGRyaXZlcnMvc2NzaS91ZnMvdWZzX3F1aXJrcy5oIHwgIDcgKysr KysrDQogZHJpdmVycy9zY3NpL3Vmcy91ZnNoY2QuYyAgICAgfCA0MyArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrLQ0KIGRyaXZlcnMvc2NzaS91ZnMvdWZzaGNkLmggICAgIHwgMjAg KysrKysrKysrKysrKysrKw0KIDUgZmlsZXMgY2hhbmdlZCwgNzAgaW5zZXJ0aW9ucygrKSwgMTMg ZGVsZXRpb25zKC0pDQoNCmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvdWZzL3Vmcy1zeXNmcy5j IGIvZHJpdmVycy9zY3NpL3Vmcy91ZnMtc3lzZnMuYw0KaW5kZXggMmQ3MWQyMzJhNjlkLi5mYTVm ZGZjZDI2MTEgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL3Njc2kvdWZzL3Vmcy1zeXNmcy5jDQorKysg Yi9kcml2ZXJzL3Njc2kvdWZzL3Vmcy1zeXNmcy5jDQpAQCAtNjIyLDEyICs2MjIsNiBAQCBzdGF0 aWMgY29uc3Qgc3RydWN0IGF0dHJpYnV0ZV9ncm91cCB1ZnNfc3lzZnNfc3RyaW5nX2Rlc2NyaXB0 b3JzX2dyb3VwID0gew0KIAkuYXR0cnMgPSB1ZnNfc3lzZnNfc3RyaW5nX2Rlc2NyaXB0b3JzLA0K IH07DQogDQotc3RhdGljIGlubGluZSBib29sIHVmc2hjZF9pc193Yl9mbGFncyhlbnVtIGZsYWdf aWRuIGlkbikNCi17DQotCXJldHVybiAoKGlkbiA+PSBRVUVSWV9GTEFHX0lETl9XQl9FTikgJiYN Ci0JCShpZG4gPD0gUVVFUllfRkxBR19JRE5fV0JfQlVGRl9GTFVTSF9EVVJJTkdfSElCRVJOOCkp Ow0KLX0NCi0NCiAjZGVmaW5lIFVGU19GTEFHKF9uYW1lLCBfdW5hbWUpCQkJCQkJXA0KIHN0YXRp YyBzc2l6ZV90IF9uYW1lIyNfc2hvdyhzdHJ1Y3QgZGV2aWNlICpkZXYsCQkJCVwNCiAJc3RydWN0 IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKmJ1ZikJCQlcDQpAQCAtNjgwLDEyICs2NzQs NiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGF0dHJpYnV0ZV9ncm91cCB1ZnNfc3lzZnNfZmxhZ3Nf Z3JvdXAgPSB7DQogCS5hdHRycyA9IHVmc19zeXNmc19kZXZpY2VfZmxhZ3MsDQogfTsNCiANCi1z dGF0aWMgaW5saW5lIGJvb2wgdWZzaGNkX2lzX3diX2F0dHJzKGVudW0gYXR0cl9pZG4gaWRuKQ0K LXsNCi0JcmV0dXJuICgoaWRuID49IFFVRVJZX0FUVFJfSUROX1dCX0ZMVVNIX1NUQVRVUykgJiYN Ci0JCShpZG4gPD0gUVVFUllfQVRUUl9JRE5fQ1VSUl9XQl9CVUZGX1NJWkUpKTsNCi19DQotDQog I2RlZmluZSBVRlNfQVRUUklCVVRFKF9uYW1lLCBfdW5hbWUpCQkJCQlcDQogc3RhdGljIHNzaXpl X3QgX25hbWUjI19zaG93KHN0cnVjdCBkZXZpY2UgKmRldiwJCQkJXA0KIAlzdHJ1Y3QgZGV2aWNl X2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqYnVmKQkJCVwNCmRpZmYgLS1naXQgYS9kcml2ZXJzL3Nj c2kvdWZzL3Vmcy5oIGIvZHJpdmVycy9zY3NpL3Vmcy91ZnMuaA0KaW5kZXggYzcwODQ1ZDQxNDQ5 Li44OGVjODdlMjgxMWMgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL3Njc2kvdWZzL3Vmcy5oDQorKysg Yi9kcml2ZXJzL3Njc2kvdWZzL3Vmcy5oDQpAQCAtNjEsNiArNjEsNyBAQA0KICAqIFRoaXMgbWVh bnMgbWF4LiBMVU4gbnVtYmVyIHJlcG9ydGVkIGZyb20gVUZTIGRldmljZSBjb3VsZCBiZSAweEMx N0YuDQogICovDQogI2RlZmluZSBVRlNfVVBJVV9NQVhfVU5JVF9OVU1fSUQJMHg3Rg0KKyNkZWZp bmUgVUZTX1VQSVVfUlBNQl9RVUVSWV9JTkRFWAkweEM0DQogI2RlZmluZSBVRlNfTUFYX0xVTlMJ CShTQ1NJX1dfTFVOX0JBU0UgKyBVRlNfVVBJVV9NQVhfVU5JVF9OVU1fSUQpDQogI2RlZmluZSBV RlNfVVBJVV9XTFVOX0lECSgxIDw8IDcpDQogDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zY3NpL3Vm cy91ZnNfcXVpcmtzLmggYi9kcml2ZXJzL3Njc2kvdWZzL3Vmc19xdWlya3MuaA0KaW5kZXggZTMx NzVhNjNjNjc2Li5mOWVkODY4Y2YzMzAgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL3Njc2kvdWZzL3Vm c19xdWlya3MuaA0KKysrIGIvZHJpdmVycy9zY3NpL3Vmcy91ZnNfcXVpcmtzLmgNCkBAIC0xMDgs NCArMTA4LDExIEBAIHN0cnVjdCB1ZnNfZGV2X2ZpeCB7DQogICovDQogI2RlZmluZSBVRlNfREVW SUNFX1FVSVJLX1NVUFBPUlRfRVhURU5ERURfRkVBVFVSRVMgKDEgPDwgMTApDQogDQorLyoNCisg KiBTb21lIFVGUyBkZXZpY2VzIG5lZWQgdG8gdXNlIHNwZWNpYWwgc2VsZWN0b3IgdG8gb3BlcmF0 ZSBXcml0ZUJvb3N0ZXINCisgKiByZWxhdGVkIGZsYWdzIGFuZCBhdHRyaWJ1dGVzLiBFbmFibGUg dGhpcyBxdWlyayB0byBtYWtlIHRoZXNlIGRldmljZXMNCisgKiB3b3JrIG5vcm1hbGx5Lg0KKyAq Lw0KKyNkZWZpbmUgVUZTX0RFVklDRV9RVUlSS19XQl9TUEVDSUFMX1NFTEVDVE9SICgxIDw8IDEx KQ0KKw0KICNlbmRpZiAvKiBVRlNfUVVJUktTX0hfICovDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9z Y3NpL3Vmcy91ZnNoY2QuYyBiL2RyaXZlcnMvc2NzaS91ZnMvdWZzaGNkLmMNCmluZGV4IGYxMWJl NjllNTBlOS4uNWUzOGM0NzE4NzdjIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9zY3NpL3Vmcy91ZnNo Y2QuYw0KKysrIGIvZHJpdmVycy9zY3NpL3Vmcy91ZnNoY2QuYw0KQEAgLTI4MDEsMTEgKzI4MDEs MTcgQEAgaW50IHVmc2hjZF9xdWVyeV9mbGFnKHN0cnVjdCB1ZnNfaGJhICpoYmEsIGVudW0gcXVl cnlfb3Bjb2RlIG9wY29kZSwNCiB7DQogCXN0cnVjdCB1ZnNfcXVlcnlfcmVxICpyZXF1ZXN0ID0g TlVMTDsNCiAJc3RydWN0IHVmc19xdWVyeV9yZXMgKnJlc3BvbnNlID0gTlVMTDsNCi0JaW50IGVy ciwgc2VsZWN0b3IgPSAwOw0KKwlpbnQgZXJyOw0KIAlpbnQgdGltZW91dCA9IFFVRVJZX1JFUV9U SU1FT1VUOw0KKwl1OCBzZWxlY3RvciA9IDA7DQogDQogCUJVR19PTighaGJhKTsNCiANCisJaWYg KGhiYS0+ZGV2X3F1aXJrcyAmIFVGU19ERVZJQ0VfUVVJUktfV0JfU1BFQ0lBTF9TRUxFQ1RPUikg ew0KKwkJaWYgKHVmc2hjZF9pc193Yl9mbGFncyhpZG4pKQ0KKwkJCXNlbGVjdG9yID0gMTsNCisJ fQ0KKw0KIAl1ZnNoY2RfaG9sZChoYmEsIGZhbHNlKTsNCiAJbXV0ZXhfbG9jaygmaGJhLT5kZXZf Y21kLmxvY2spOw0KIAl1ZnNoY2RfaW5pdF9xdWVyeShoYmEsICZyZXF1ZXN0LCAmcmVzcG9uc2Us IG9wY29kZSwgaWRuLCBpbmRleCwNCkBAIC0yODgyLDYgKzI4ODgsMTEgQEAgaW50IHVmc2hjZF9x dWVyeV9hdHRyKHN0cnVjdCB1ZnNfaGJhICpoYmEsIGVudW0gcXVlcnlfb3Bjb2RlIG9wY29kZSwN CiAJCWdvdG8gb3V0Ow0KIAl9DQogDQorCWlmIChoYmEtPmRldl9xdWlya3MgJiBVRlNfREVWSUNF X1FVSVJLX1dCX1NQRUNJQUxfU0VMRUNUT1IpIHsNCisJCWlmICh1ZnNoY2RfaXNfd2JfYXR0cnMo aWRuKSkNCisJCQlzZWxlY3RvciA9IDE7DQorCX0NCisNCiAJbXV0ZXhfbG9jaygmaGJhLT5kZXZf Y21kLmxvY2spOw0KIAl1ZnNoY2RfaW5pdF9xdWVyeShoYmEsICZyZXF1ZXN0LCAmcmVzcG9uc2Us IG9wY29kZSwgaWRuLCBpbmRleCwNCiAJCQlzZWxlY3Rvcik7DQpAQCAtMzA0Miw2ICszMDUzLDEx IEBAIGludCB1ZnNoY2RfcXVlcnlfZGVzY3JpcHRvcl9yZXRyeShzdHJ1Y3QgdWZzX2hiYSAqaGJh LA0KIAlpbnQgZXJyOw0KIAlpbnQgcmV0cmllczsNCiANCisJaWYgKGhiYS0+ZGV2X3F1aXJrcyAm IFVGU19ERVZJQ0VfUVVJUktfV0JfU1BFQ0lBTF9TRUxFQ1RPUikgew0KKwkJaWYgKHVmc2hjZF9p c193Yl9kZXNjKGlkbiwgaW5kZXgpKQ0KKwkJCXNlbGVjdG9yID0gMTsNCisJfQ0KKw0KIAlmb3Ig KHJldHJpZXMgPSBRVUVSWV9SRVFfUkVUUklFUzsgcmV0cmllcyA+IDA7IHJldHJpZXMtLSkgew0K IAkJZXJyID0gX191ZnNoY2RfcXVlcnlfZGVzY3JpcHRvcihoYmEsIG9wY29kZSwgaWRuLCBpbmRl eCwNCiAJCQkJCQlzZWxlY3RvciwgZGVzY19idWYsIGJ1Zl9sZW4pOw0KQEAgLTY5MDcsOCArNjky MywxMCBAQCBzdGF0aWMgaW50IHVmc19nZXRfZGV2aWNlX2Rlc2Moc3RydWN0IHVmc19oYmEgKmhi YSkNCiAJc2l6ZV90IGJ1ZmZfbGVuOw0KIAl1OCBtb2RlbF9pbmRleDsNCiAJdTggKmRlc2NfYnVm Ow0KKwl1OCByZXRyeV9jbnQgPSAwOw0KIAlzdHJ1Y3QgdWZzX2Rldl9pbmZvICpkZXZfaW5mbyA9 ICZoYmEtPmRldl9pbmZvOw0KIA0KK3JldHJ5Og0KIAlidWZmX2xlbiA9IG1heF90KHNpemVfdCwg aGJhLT5kZXNjX3NpemUuZGV2X2Rlc2MsDQogCQkJIFFVRVJZX0RFU0NfTUFYX1NJWkUgKyAxKTsN CiAJZGVzY19idWYgPSBrbWFsbG9jKGJ1ZmZfbGVuLCBHRlBfS0VSTkVMKTsNCkBAIC02OTQ4LDYg KzY5NjYsMjkgQEAgc3RhdGljIGludCB1ZnNfZ2V0X2RldmljZV9kZXNjKHN0cnVjdCB1ZnNfaGJh ICpoYmEpDQogDQogCXVmc19maXh1cF9kZXZpY2Vfc2V0dXAoaGJhKTsNCiANCisJaWYgKCFyZXRy eV9jbnQgJiYgKGhiYS0+ZGV2X3F1aXJrcyAmDQorCQlVRlNfREVWSUNFX1FVSVJLX1dCX1NQRUNJ QUxfU0VMRUNUT1IpKSB7DQorCQkvKg0KKwkJICogVXBkYXRlIFdyaXRlQm9vc3RlciByZWxhdGVk IGRlc2NyaXB0b3IgbGVuZ3RoIHdpdGggc3BlY2lmaWMNCisJCSAqIHNlbGV0b3IgdXNlZC4NCisJ CSAqLw0KKwkJdWZzaGNkX3JlYWRfZGVzY19sZW5ndGgoaGJhLCBRVUVSWV9ERVNDX0lETl9ERVZJ Q0UsIDAsDQorCQkJCQkmaGJhLT5kZXNjX3NpemUuZGV2X2Rlc2MpOw0KKwkJdWZzaGNkX3JlYWRf ZGVzY19sZW5ndGgoaGJhLCBRVUVSWV9ERVNDX0lETl9DT05GSUdVUkFUSU9OLCAwLA0KKwkJCQkJ JmhiYS0+ZGVzY19zaXplLmNvbmZfZGVzYyk7DQorCQl1ZnNoY2RfcmVhZF9kZXNjX2xlbmd0aCho YmEsIFFVRVJZX0RFU0NfSUROX1VOSVQsIDAsDQorCQkJCQkmaGJhLT5kZXNjX3NpemUudW5pdF9k ZXNjKTsNCisJCXVmc2hjZF9yZWFkX2Rlc2NfbGVuZ3RoKGhiYSwgUVVFUllfREVTQ19JRE5fR0VP TUVUUlksIDAsDQorCQkJCQkmaGJhLT5kZXNjX3NpemUuZ2VvbV9kZXNjKTsNCisJCS8qDQorCQkg KiBSZWFkIGRldmljZSBkZXNjcmlwdG9yIGFnYWluIHdpdGggc3BlY2lmaWMgc2VsZWN0b3IgdXNl ZCB0bw0KKwkJICogZ2V0IFdyaXRlQm9vc3RlciByZWxhdGVkIGZpbGVkcy4NCisJCSAqLw0KKwkJ a2ZyZWUoZGVzY19idWYpOw0KKwkJcmV0cnlfY250Kys7DQorCQlnb3RvIHJldHJ5Ow0KKwl9DQor DQogCS8qDQogCSAqIFByb2JlIFdCIG9ubHkgZm9yIFVGUy0zLjEgZGV2aWNlcyBvciBVRlMgZGV2 aWNlcyB3aXRoIHF1aXJrDQogCSAqIFVGU19ERVZJQ0VfUVVJUktfU1VQUE9SVF9FWFRFTkRFRF9G RUFUVVJFUyBlbmFibGVkDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zY3NpL3Vmcy91ZnNoY2QuaCBi L2RyaXZlcnMvc2NzaS91ZnMvdWZzaGNkLmgNCmluZGV4IGJmOTdkNjE2ZTU5Ny4uZDg1MGM0N2U4 YWUwIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9zY3NpL3Vmcy91ZnNoY2QuaA0KKysrIGIvZHJpdmVy cy9zY3NpL3Vmcy91ZnNoY2QuaA0KQEAgLTg3Niw2ICs4NzYsMjYgQEAgc3RhdGljIGlubGluZSB1 OCB1ZnNoY2Rfd2JfZ2V0X3F1ZXJ5X2luZGV4KHN0cnVjdCB1ZnNfaGJhICpoYmEpDQogCXJldHVy biAwOw0KIH0NCiANCitzdGF0aWMgaW5saW5lIGJvb2wgdWZzaGNkX2lzX3diX2F0dHJzKGVudW0g YXR0cl9pZG4gaWRuKQ0KK3sNCisJcmV0dXJuICgoaWRuID49IFFVRVJZX0FUVFJfSUROX1dCX0ZM VVNIX1NUQVRVUykgJiYNCisJCShpZG4gPD0gUVVFUllfQVRUUl9JRE5fQ1VSUl9XQl9CVUZGX1NJ WkUpKTsNCit9DQorDQorc3RhdGljIGlubGluZSBib29sIHVmc2hjZF9pc193Yl9kZXNjKGVudW0g ZGVzY19pZG4gaWRuLCB1OCBpbmRleCkNCit7DQorCXJldHVybiAoaWRuIDw9IFFVRVJZX0RFU0Nf SUROX0NPTkZJR1VSQVRJT04pIHx8DQorCQkoKGlkbiA9PSBRVUVSWV9ERVNDX0lETl9VTklUKSAm Jg0KKwkJKGluZGV4ICE9IFVGU19VUElVX1JQTUJfUVVFUllfSU5ERVgpKSB8fA0KKwkJKGlkbiA9 PSBRVUVSWV9ERVNDX0lETl9HRU9NRVRSWSk7DQorfQ0KKw0KK3N0YXRpYyBpbmxpbmUgYm9vbCB1 ZnNoY2RfaXNfd2JfZmxhZ3MoZW51bSBmbGFnX2lkbiBpZG4pDQorew0KKwlyZXR1cm4gKChpZG4g Pj0gUVVFUllfRkxBR19JRE5fV0JfRU4pICYmDQorCQkoaWRuIDw9IFFVRVJZX0ZMQUdfSUROX1dC X0JVRkZfRkxVU0hfRFVSSU5HX0hJQkVSTjgpKTsNCit9DQorDQogZXh0ZXJuIGludCB1ZnNoY2Rf cnVudGltZV9zdXNwZW5kKHN0cnVjdCB1ZnNfaGJhICpoYmEpOw0KIGV4dGVybiBpbnQgdWZzaGNk X3J1bnRpbWVfcmVzdW1lKHN0cnVjdCB1ZnNfaGJhICpoYmEpOw0KIGV4dGVybiBpbnQgdWZzaGNk X3J1bnRpbWVfaWRsZShzdHJ1Y3QgdWZzX2hiYSAqaGJhKTsNCi0tIA0KMi4xOC4wDQo=