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=-13.7 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable 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 B7A48C4338F for ; Mon, 26 Jul 2021 22:13:13 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 7F0D160F57 for ; Mon, 26 Jul 2021 22:13:13 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 7F0D160F57 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 1F20172BDE; Mon, 26 Jul 2021 22:13:13 +0000 (UTC) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 023476E1BE for ; Mon, 26 Jul 2021 22:13:11 +0000 (UTC) X-IronPort-AV: E=McAfee;i="6200,9189,10057"; a="210435559" X-IronPort-AV: E=Sophos;i="5.84,272,1620716400"; d="scan'208";a="210435559" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Jul 2021 15:13:11 -0700 X-IronPort-AV: E=Sophos;i="5.84,272,1620716400"; d="scan'208";a="664821921" Received: from jfogerty-mobl1.amr.corp.intel.com (HELO msatwood-mobl) ([10.212.220.141]) by fmsmga005-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Jul 2021 15:13:11 -0700 Date: Mon, 26 Jul 2021 15:12:56 -0700 From: Matt Atwood To: =?utf-8?B?Sm9zw6k=?= Roberto de Souza ;, intel-gfx@lists.freedesktop.org Message-ID: <20210726221256.GD22643@msatwood-mobl> References: <20210722054338.12891-1-jose.souza@intel.com> <20210722054338.12891-4-jose.souza@intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20210722054338.12891-4-jose.souza@intel.com> Subject: Re: [Intel-gfx] [PATCH 04/10] drm/i915/bios: Enable parse of two integrated panels backlight data X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" T24gV2VkLCBKdWwgMjEsIDIwMjEgYXQgMTA6NDM6MzJQTSAtMDcwMCwgSm9zw6kgUm9iZXJ0byBk ZSBTb3V6YSB3cm90ZToKPiBDb250aW51aW5nIHRoZSBjb252ZXJzaW9uIGZyb20gc2luZ2xlIGlu dGVncmF0ZWQgVkJUIGRhdGEgdG8gdHdvLCBub3cKPiBoYW5kbGluZyBiYWNrbGlnaHQgZGF0YS4K PiAKPiBDYzogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4K PiBDYzogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGludGVsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5 OiBKb3PDqSBSb2JlcnRvIGRlIFNvdXphIDxqb3NlLnNvdXphQGludGVsLmNvbT4KUmV2aWV3ZWQt Ynk6IE1hdHQgQXR3b29kIDxtYXR0aGV3LnMuYXR3b29kQGludGVsLmNvbT4KPiAtLS0KPiAgZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9iaW9zLmMgICAgIHwgNTkgKysrKysrKysr KystLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Jpb3MuaCAg ICAgfCAgMSArCj4gIC4uLi9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwX2F1eF9iYWNrbGlnaHQu YyB8IDExICsrLS0KPiAgLi4uL2k5MTUvZGlzcGxheS9pbnRlbF9kc2lfZGNzX2JhY2tsaWdodC5j ICAgIHwgIDUgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9wYW5lbC5j ICAgIHwgMzIgKysrKysrLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVs X3Bwcy5jICAgICAgfCAgOCArKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAg ICAgICAgICAgICAgIHwgMTggKysrLS0tCj4gIDcgZmlsZXMgY2hhbmdlZCwgODMgaW5zZXJ0aW9u cygrKSwgNTEgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfYmlvcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9p bnRlbF9iaW9zLmMKPiBpbmRleCA1OTA2ZTlmYThmOTc2Li42NzcwZWQ4YjI2MGJlIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYmlvcy5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9iaW9zLmMKPiBAQCAtNDQxLDExICs0 NDEsMTIgQEAgcGFyc2VfcGFuZWxfZHRkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAo+ ICAKPiAgc3RhdGljIHZvaWQKPiAgcGFyc2VfbGZwX2JhY2tsaWdodChzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqaTkxNSwKPiAtCQkgICAgY29uc3Qgc3RydWN0IGJkYl9oZWFkZXIgKmJkYikKPiAr CQkgICAgY29uc3Qgc3RydWN0IGJkYl9oZWFkZXIgKmJkYiwKPiArCQkgICAgc3RydWN0IGRkaV92 YnRfcG9ydF9pbmZvICppbmZvLAo+ICsJCSAgICBpbnQgcGFuZWxfaW5kZXgpCj4gIHsKPiAgCWNv bnN0IHN0cnVjdCBiZGJfbGZwX2JhY2tsaWdodF9kYXRhICpiYWNrbGlnaHRfZGF0YTsKPiAgCWNv bnN0IHN0cnVjdCBsZnBfYmFja2xpZ2h0X2RhdGFfZW50cnkgKmVudHJ5Owo+IC0JaW50IHBhbmVs X3R5cGUgPSBpOTE1LT52YnQucGFuZWxfdHlwZTsKPiAgCXUxNiBsZXZlbDsKPiAgCj4gIAliYWNr bGlnaHRfZGF0YSA9IGZpbmRfc2VjdGlvbihiZGIsIEJEQl9MVkRTX0JBQ0tMSUdIVCk7Cj4gQEAg LTQ1OSwzOCArNDYwLDM4IEBAIHBhcnNlX2xmcF9iYWNrbGlnaHQoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmk5MTUsCj4gIAkJcmV0dXJuOwo+ICAJfQo+ICAKPiAtCWVudHJ5ID0gJmJhY2tsaWdo dF9kYXRhLT5kYXRhW3BhbmVsX3R5cGVdOwo+ICsJZW50cnkgPSAmYmFja2xpZ2h0X2RhdGEtPmRh dGFbcGFuZWxfaW5kZXhdOwo+ICAKPiAtCWk5MTUtPnZidC5iYWNrbGlnaHQucHJlc2VudCA9IGVu dHJ5LT50eXBlID09IEJEQl9CQUNLTElHSFRfVFlQRV9QV007Cj4gLQlpZiAoIWk5MTUtPnZidC5i YWNrbGlnaHQucHJlc2VudCkgewo+ICsJaW5mby0+YmFja2xpZ2h0LnByZXNlbnQgPSBlbnRyeS0+ dHlwZSA9PSBCREJfQkFDS0xJR0hUX1RZUEVfUFdNOwo+ICsJaWYgKCFpbmZvLT5iYWNrbGlnaHQu cHJlc2VudCkgewo+ICAJCWRybV9kYmdfa21zKCZpOTE1LT5kcm0sCj4gIAkJCSAgICAiUFdNIGJh Y2tsaWdodCBub3QgcHJlc2VudCBpbiBWQlQgKHR5cGUgJXUpXG4iLAo+ICAJCQkgICAgZW50cnkt PnR5cGUpOwo+ICAJCXJldHVybjsKPiAgCX0KPiAgCj4gLQlpOTE1LT52YnQuYmFja2xpZ2h0LnR5 cGUgPSBJTlRFTF9CQUNLTElHSFRfRElTUExBWV9EREk7Cj4gKwlpbmZvLT5iYWNrbGlnaHQudHlw ZSA9IElOVEVMX0JBQ0tMSUdIVF9ESVNQTEFZX0RESTsKPiAgCWlmIChiZGItPnZlcnNpb24gPj0g MTkxICYmCj4gIAkgICAgZ2V0X2Jsb2Nrc2l6ZShiYWNrbGlnaHRfZGF0YSkgPj0gc2l6ZW9mKCpi YWNrbGlnaHRfZGF0YSkpIHsKPiAgCQljb25zdCBzdHJ1Y3QgbGZwX2JhY2tsaWdodF9jb250cm9s X21ldGhvZCAqbWV0aG9kOwo+ICAKPiAtCQltZXRob2QgPSAmYmFja2xpZ2h0X2RhdGEtPmJhY2ts aWdodF9jb250cm9sW3BhbmVsX3R5cGVdOwo+IC0JCWk5MTUtPnZidC5iYWNrbGlnaHQudHlwZSA9 IG1ldGhvZC0+dHlwZTsKPiAtCQlpOTE1LT52YnQuYmFja2xpZ2h0LmNvbnRyb2xsZXIgPSBtZXRo b2QtPmNvbnRyb2xsZXI7Cj4gKwkJbWV0aG9kID0gJmJhY2tsaWdodF9kYXRhLT5iYWNrbGlnaHRf Y29udHJvbFtwYW5lbF9pbmRleF07Cj4gKwkJaW5mby0+YmFja2xpZ2h0LnR5cGUgPSBtZXRob2Qt PnR5cGU7Cj4gKwkJaW5mby0+YmFja2xpZ2h0LmNvbnRyb2xsZXIgPSBtZXRob2QtPmNvbnRyb2xs ZXI7Cj4gIAl9Cj4gIAo+IC0JaTkxNS0+dmJ0LmJhY2tsaWdodC5wd21fZnJlcV9oeiA9IGVudHJ5 LT5wd21fZnJlcV9oejsKPiAtCWk5MTUtPnZidC5iYWNrbGlnaHQuYWN0aXZlX2xvd19wd20gPSBl bnRyeS0+YWN0aXZlX2xvd19wd207Cj4gKwlpbmZvLT5iYWNrbGlnaHQucHdtX2ZyZXFfaHogPSBl bnRyeS0+cHdtX2ZyZXFfaHo7Cj4gKwlpbmZvLT5iYWNrbGlnaHQuYWN0aXZlX2xvd19wd20gPSBl bnRyeS0+YWN0aXZlX2xvd19wd207Cj4gIAo+ICAJaWYgKGJkYi0+dmVyc2lvbiA+PSAyMzQpIHsK PiAgCQl1MTYgbWluX2xldmVsOwo+ICAJCWJvb2wgc2NhbGU7Cj4gIAo+IC0JCWxldmVsID0gYmFj a2xpZ2h0X2RhdGEtPmJyaWdodG5lc3NfbGV2ZWxbcGFuZWxfdHlwZV0ubGV2ZWw7Cj4gLQkJbWlu X2xldmVsID0gYmFja2xpZ2h0X2RhdGEtPmJyaWdodG5lc3NfbWluX2xldmVsW3BhbmVsX3R5cGVd LmxldmVsOwo+ICsJCWxldmVsID0gYmFja2xpZ2h0X2RhdGEtPmJyaWdodG5lc3NfbGV2ZWxbcGFu ZWxfaW5kZXhdLmxldmVsOwo+ICsJCW1pbl9sZXZlbCA9IGJhY2tsaWdodF9kYXRhLT5icmlnaHRu ZXNzX21pbl9sZXZlbFtwYW5lbF9pbmRleF0ubGV2ZWw7Cj4gIAo+ICAJCWlmIChiZGItPnZlcnNp b24gPj0gMjM2KQo+IC0JCQlzY2FsZSA9IGJhY2tsaWdodF9kYXRhLT5icmlnaHRuZXNzX3ByZWNp c2lvbl9iaXRzW3BhbmVsX3R5cGVdID09IDE2Owo+ICsJCQlzY2FsZSA9IGJhY2tsaWdodF9kYXRh LT5icmlnaHRuZXNzX3ByZWNpc2lvbl9iaXRzW3BhbmVsX2luZGV4XSA9PSAxNjsKPiAgCQllbHNl Cj4gIAkJCXNjYWxlID0gbGV2ZWwgPiAyNTU7Cj4gIAo+IEBAIC01MDEsMjAgKzUwMiwyMCBAQCBw YXJzZV9sZnBfYmFja2xpZ2h0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAo+ICAJCQlk cm1fd2FybigmaTkxNS0+ZHJtLCAiQnJpZ2h0bmVzcyBtaW4gbGV2ZWwgPiAyNTVcbiIpOwo+ICAJ CQlsZXZlbCA9IDI1NTsKPiAgCQl9Cj4gLQkJaTkxNS0+dmJ0LmJhY2tsaWdodC5taW5fYnJpZ2h0 bmVzcyA9IG1pbl9sZXZlbDsKPiArCQlpbmZvLT5iYWNrbGlnaHQubWluX2JyaWdodG5lc3MgPSBt aW5fbGV2ZWw7Cj4gIAl9IGVsc2Ugewo+IC0JCWxldmVsID0gYmFja2xpZ2h0X2RhdGEtPmxldmVs W3BhbmVsX3R5cGVdOwo+IC0JCWk5MTUtPnZidC5iYWNrbGlnaHQubWluX2JyaWdodG5lc3MgPSBl bnRyeS0+bWluX2JyaWdodG5lc3M7Cj4gKwkJbGV2ZWwgPSBiYWNrbGlnaHRfZGF0YS0+bGV2ZWxb cGFuZWxfaW5kZXhdOwo+ICsJCWluZm8tPmJhY2tsaWdodC5taW5fYnJpZ2h0bmVzcyA9IGVudHJ5 LT5taW5fYnJpZ2h0bmVzczsKPiAgCX0KPiAgCj4gIAlkcm1fZGJnX2ttcygmaTkxNS0+ZHJtLAo+ ICAJCSAgICAiVkJUIGJhY2tsaWdodCBQV00gbW9kdWxhdGlvbiBmcmVxdWVuY3kgJXUgSHosICIK PiAgCQkgICAgImFjdGl2ZSAlcywgbWluIGJyaWdodG5lc3MgJXUsIGxldmVsICV1LCBjb250cm9s bGVyICV1XG4iLAo+IC0JCSAgICBpOTE1LT52YnQuYmFja2xpZ2h0LnB3bV9mcmVxX2h6LAo+IC0J CSAgICBpOTE1LT52YnQuYmFja2xpZ2h0LmFjdGl2ZV9sb3dfcHdtID8gImxvdyIgOiAiaGlnaCIs Cj4gLQkJICAgIGk5MTUtPnZidC5iYWNrbGlnaHQubWluX2JyaWdodG5lc3MsCj4gKwkJICAgIGlu Zm8tPmJhY2tsaWdodC5wd21fZnJlcV9oeiwKPiArCQkgICAgaW5mby0+YmFja2xpZ2h0LmFjdGl2 ZV9sb3dfcHdtID8gImxvdyIgOiAiaGlnaCIsCj4gKwkJICAgIGluZm8tPmJhY2tsaWdodC5taW5f YnJpZ2h0bmVzcywKPiAgCQkgICAgbGV2ZWwsCj4gLQkJICAgIGk5MTUtPnZidC5iYWNrbGlnaHQu Y29udHJvbGxlcik7Cj4gKwkJICAgIGluZm8tPmJhY2tsaWdodC5jb250cm9sbGVyKTsKPiAgfQo+ ICAKPiAgLyogVHJ5IHRvIGZpbmQgc2R2byBwYW5lbCBkYXRhICovCj4gQEAgLTE5ODcsNiArMTk4 OCw3IEBAIHN0YXRpYyB2b2lkIHBhcnNlX2ludGVncmF0ZWRfcGFuZWwoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmk5MTUsCj4gIAlwYXJzZV9wb3dlcl9jb25zZXJ2YXRpb25fZmVhdHVyZXMoaTkx NSwgYmRiLCBpbmZvLCBwYW5lbF9pbmRleCk7Cj4gIAlwYXJzZV9kcml2ZXJfZmVhdHVyZXNfZHJy c19vbmx5KGk5MTUsIGJkYiwgaW5mbyk7Cj4gIAlwYXJzZV9wYW5lbF9kdGQoaTkxNSwgYmRiLCBp bmZvLCBwYW5lbF9pbmRleCk7Cj4gKwlwYXJzZV9sZnBfYmFja2xpZ2h0KGk5MTUsIGJkYiwgaW5m bywgcGFuZWxfaW5kZXgpOwo+ICB9Cj4gIAo+ICBzdGF0aWMgdm9pZCBwYXJzZV9kZGlfcG9ydChz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKPiBAQCAtMjEyMCw2ICsyMTIyLDkgQEAgc3Rh dGljIHZvaWQgcGFyc2VfZGRpX3BvcnQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCj4g IAkJCSAgICBwb3J0X25hbWUocG9ydCksIGluZm8tPmRwX21heF9saW5rX3JhdGUpOwo+ICAJfQo+ ICAKPiArCS8qIERlZmF1bHQgdG8gaGF2aW5nIGJhY2tsaWdodCAqLwo+ICsJaW5mby0+YmFja2xp Z2h0LnByZXNlbnQgPSB0cnVlOwo+ICsKPiAgCXBhcnNlX2ludGVncmF0ZWRfcGFuZWwoaTkxNSwg ZGV2ZGF0YSwgaW5mbyk7Cj4gIAo+ICAJaW5mby0+ZGV2ZGF0YSA9IGRldmRhdGE7Cj4gQEAgLTIy NDUsOSArMjI1MCw2IEBAIGluaXRfdmJ0X2RlZmF1bHRzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICppOTE1KQo+ICB7Cj4gIAlpOTE1LT52YnQuY3J0X2RkY19waW4gPSBHTUJVU19QSU5fVkdBRERD Owo+ICAKPiAtCS8qIERlZmF1bHQgdG8gaGF2aW5nIGJhY2tsaWdodCAqLwo+IC0JaTkxNS0+dmJ0 LmJhY2tsaWdodC5wcmVzZW50ID0gdHJ1ZTsKPiAtCj4gIAkvKiBTRFZPIHBhbmVsIGRhdGEgKi8K PiAgCWk5MTUtPnZidC5zZHZvX2x2ZHNfdmJ0X21vZGUgPSBOVUxMOwo+ICAKPiBAQCAtMjQ4MSw3 ICsyNDgzLDYgQEAgdm9pZCBpbnRlbF9iaW9zX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg Kmk5MTUpCj4gIAlwYXJzZV9nZW5lcmFsX2ZlYXR1cmVzKGk5MTUsIGJkYik7Cj4gIAlwYXJzZV9n ZW5lcmFsX2RlZmluaXRpb25zKGk5MTUsIGJkYik7Cj4gIAlwYXJzZV9wYW5lbF90eXBlKGk5MTUs IGJkYik7Cj4gLQlwYXJzZV9sZnBfYmFja2xpZ2h0KGk5MTUsIGJkYik7Cj4gIAlwYXJzZV9zZHZv X3BhbmVsX2RhdGEoaTkxNSwgYmRiKTsKPiAgCXBhcnNlX2RyaXZlcl9mZWF0dXJlcyhpOTE1LCBi ZGIpOwo+ICAJcGFyc2VfZWRwKGk5MTUsIGJkYik7Cj4gQEAgLTMxMjMsMyArMzEyNCwxMSBAQCBp bnRlbF9iaW9zX2xmcF9sdmRzX2luZm8oc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCj4g IAo+ICAJcmV0dXJuIGk5MTUtPnZidC5kZGlfcG9ydF9pbmZvW2VuY29kZXItPnBvcnRdLmxmcF9s dmRzX3ZidF9tb2RlOwo+ICB9Cj4gKwo+ICtjb25zdCBzdHJ1Y3QgdmJ0X2JhY2tsaWdodF9pbmZv ICoKPiAraW50ZWxfYmlvc19iYWNrbGlnaHRfaW5mbyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5j b2RlcikKPiArewo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSB0b19pOTE1KGVu Y29kZXItPmJhc2UuZGV2KTsKPiArCj4gKwlyZXR1cm4gJmk5MTUtPnZidC5kZGlfcG9ydF9pbmZv W2VuY29kZXItPnBvcnRdLmJhY2tsaWdodDsKPiArfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Jpb3MuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfYmlvcy5oCj4gaW5kZXggZjEzM2M1MWMxNTVjZC4uNWI2MTY3Yzk3YThkOSAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Jpb3MuaAo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYmlvcy5oCj4gQEAgLTI2 OCw1ICsyNjgsNiBAQCBpbnQgaW50ZWxfYmlvc19lbmNvZGVyX2hkbWlfYm9vc3RfbGV2ZWwoY29u c3Qgc3RydWN0IGludGVsX2Jpb3NfZW5jb2Rlcl9kYXRhICpkZQo+ICAKPiAgZW51bSBkcnJzX3N1 cHBvcnRfdHlwZSBpbnRlbF9iaW9zX2RycnNfdHlwZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5j b2Rlcik7Cj4gIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICppbnRlbF9iaW9zX2xmcF9s dmRzX2luZm8oc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpOwo+ICtjb25zdCBzdHJ1Y3Qg dmJ0X2JhY2tsaWdodF9pbmZvICppbnRlbF9iaW9zX2JhY2tsaWdodF9pbmZvKHN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyKTsKPiAgCj4gICNlbmRpZiAvKiBfSU5URUxfQklPU19IXyAqLwo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwX2F1eF9i YWNrbGlnaHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHBfYXV4X2Jh Y2tsaWdodC5jCj4gaW5kZXggNmFjNTY4NjE3ZWYzNy4uNDAxYTlkOTUzMzE1OCAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwX2F1eF9iYWNrbGlnaHQu Ywo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHBfYXV4X2JhY2ts aWdodC5jCj4gQEAgLTMxMCwxMyArMzEwLDE0IEBAIHN0YXRpYyBpbnQgaW50ZWxfZHBfYXV4X3Zl c2Ffc2V0dXBfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAg ewo+ICAJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGludGVsX2F0dGFjaGVkX2RwKGNvbm5l Y3Rvcik7Cj4gIAlzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBhbmVsID0gJmNvbm5lY3Rvci0+cGFuZWw7 Cj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IGRwX3RvX2k5MTUoaW50ZWxfZHAp Owo+ICsJY29uc3Qgc3RydWN0IHZidF9iYWNrbGlnaHRfaW5mbyAqYmFja2xpZ2h0X2luZm87Cj4g IAl1MTYgY3VycmVudF9sZXZlbDsKPiAgCXU4IGN1cnJlbnRfbW9kZTsKPiAgCWludCByZXQ7Cj4g IAo+ICsJYmFja2xpZ2h0X2luZm8gPSBpbnRlbF9iaW9zX2JhY2tsaWdodF9pbmZvKGNvbm5lY3Rv ci0+ZW5jb2Rlcik7Cj4gIAlyZXQgPSBkcm1fZWRwX2JhY2tsaWdodF9pbml0KCZpbnRlbF9kcC0+ YXV4LCAmcGFuZWwtPmJhY2tsaWdodC5lZHAudmVzYS5pbmZvLAo+IC0JCQkJICAgICBpOTE1LT52 YnQuYmFja2xpZ2h0LnB3bV9mcmVxX2h6LCBpbnRlbF9kcC0+ZWRwX2RwY2QsCj4gKwkJCQkgICAg IGJhY2tsaWdodF9pbmZvLT5wd21fZnJlcV9oeiwgaW50ZWxfZHAtPmVkcF9kcGNkLAo+ICAJCQkJ ICAgICAmY3VycmVudF9sZXZlbCwgJmN1cnJlbnRfbW9kZSk7Cj4gIAlpZiAocmV0IDwgMCkKPiAg CQlyZXR1cm4gcmV0Owo+IEBAIC0zODMsNyArMzg0LDkgQEAgaW50IGludGVsX2RwX2F1eF9pbml0 X2JhY2tsaWdodF9mdW5jcyhzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCj4gIAlz dHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKGNvbm5lY3Rvci0+ZW5j b2Rlcik7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IGRwX3RvX2k5MTUoaW50 ZWxfZHApOwo+ICAJYm9vbCB0cnlfaW50ZWxfaW50ZXJmYWNlID0gZmFsc2UsIHRyeV92ZXNhX2lu dGVyZmFjZSA9IGZhbHNlOwo+ICsJY29uc3Qgc3RydWN0IHZidF9iYWNrbGlnaHRfaW5mbyAqYmFj a2xpZ2h0X2luZm87Cj4gIAo+ICsJYmFja2xpZ2h0X2luZm8gPSBpbnRlbF9iaW9zX2JhY2tsaWdo dF9pbmZvKGNvbm5lY3Rvci0+ZW5jb2Rlcik7Cj4gIAkvKiBDaGVjayB0aGUgVkJUIGFuZCB1c2Vy J3MgbW9kdWxlIHBhcmFtZXRlcnMgdG8gZmlndXJlIG91dCB3aGljaAo+ICAJICogaW50ZXJmYWNl cyB0byBwcm9iZQo+ICAJICovCj4gQEAgLTM5MSw3ICszOTQsNyBAQCBpbnQgaW50ZWxfZHBfYXV4 X2luaXRfYmFja2xpZ2h0X2Z1bmNzKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikK PiAgCWNhc2UgSU5URUxfRFBfQVVYX0JBQ0tMSUdIVF9PRkY6Cj4gIAkJcmV0dXJuIC1FTk9ERVY7 Cj4gIAljYXNlIElOVEVMX0RQX0FVWF9CQUNLTElHSFRfQVVUTzoKPiAtCQlzd2l0Y2ggKGk5MTUt PnZidC5iYWNrbGlnaHQudHlwZSkgewo+ICsJCXN3aXRjaCAoYmFja2xpZ2h0X2luZm8tPnR5cGUp IHsKPiAgCQljYXNlIElOVEVMX0JBQ0tMSUdIVF9WRVNBX0VEUF9BVVhfSU5URVJGQUNFOgo+ICAJ CQl0cnlfdmVzYV9pbnRlcmZhY2UgPSB0cnVlOwo+ICAJCQlicmVhazsKPiBAQCAtNDAzLDcgKzQw Niw3IEBAIGludCBpbnRlbF9kcF9hdXhfaW5pdF9iYWNrbGlnaHRfZnVuY3Moc3RydWN0IGludGVs X2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICAJCX0KPiAgCQlicmVhazsKPiAgCWNhc2UgSU5URUxf RFBfQVVYX0JBQ0tMSUdIVF9PTjoKPiAtCQlpZiAoaTkxNS0+dmJ0LmJhY2tsaWdodC50eXBlICE9 IElOVEVMX0JBQ0tMSUdIVF9WRVNBX0VEUF9BVVhfSU5URVJGQUNFKQo+ICsJCWlmIChiYWNrbGln aHRfaW5mby0+dHlwZSAhPSBJTlRFTF9CQUNLTElHSFRfVkVTQV9FRFBfQVVYX0lOVEVSRkFDRSkK PiAgCQkJdHJ5X2ludGVsX2ludGVyZmFjZSA9IHRydWU7Cj4gIAo+ICAJCXRyeV92ZXNhX2ludGVy ZmFjZSA9IHRydWU7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfZHNpX2Rjc19iYWNrbGlnaHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfZHNpX2Rjc19iYWNrbGlnaHQuYwo+IGluZGV4IDU4NGMxNGM0Y2JkMGUuLjRkYmQwYzY3 NTRhZjkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9k c2lfZGNzX2JhY2tsaWdodC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9p bnRlbF9kc2lfZGNzX2JhY2tsaWdodC5jCj4gQEAgLTE2NiwxMSArMTY2LDEyIEBAIHN0YXRpYyBj b25zdCBzdHJ1Y3QgaW50ZWxfcGFuZWxfYmxfZnVuY3MgZGNzX2JsX2Z1bmNzID0gewo+ICBpbnQg aW50ZWxfZHNpX2Rjc19pbml0X2JhY2tsaWdodF9mdW5jcyhzdHJ1Y3QgaW50ZWxfY29ubmVjdG9y ICppbnRlbF9jb25uZWN0b3IpCj4gIHsKPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBpbnRl bF9jb25uZWN0b3ItPmJhc2UuZGV2Owo+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShkZXYpOwo+ICAJc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIgPSBp bnRlbF9hdHRhY2hlZF9lbmNvZGVyKGludGVsX2Nvbm5lY3Rvcik7Cj4gIAlzdHJ1Y3QgaW50ZWxf cGFuZWwgKnBhbmVsID0gJmludGVsX2Nvbm5lY3Rvci0+cGFuZWw7Cj4gKwljb25zdCBzdHJ1Y3Qg dmJ0X2JhY2tsaWdodF9pbmZvICpiYWNrbGlnaHRfaW5mbzsKPiAgCj4gLQlpZiAoZGV2X3ByaXYt PnZidC5iYWNrbGlnaHQudHlwZSAhPSBJTlRFTF9CQUNLTElHSFRfRFNJX0RDUykKPiArCWJhY2ts aWdodF9pbmZvID0gaW50ZWxfYmlvc19iYWNrbGlnaHRfaW5mbyhlbmNvZGVyKTsKPiArCWlmIChi YWNrbGlnaHRfaW5mby0+dHlwZSAhPSBJTlRFTF9CQUNLTElHSFRfRFNJX0RDUykKPiAgCQlyZXR1 cm4gLUVOT0RFVjsKPiAgCj4gIAlpZiAoZHJtX1dBUk5fT04oZGV2LCBlbmNvZGVyLT50eXBlICE9 IElOVEVMX09VVFBVVF9EU0kpKQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX3BhbmVsLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVs X3BhbmVsLmMKPiBpbmRleCBhODhlMzBjOTY2ZmU3Li45Yzg5MjQ3NmQ4NjIxIDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfcGFuZWwuYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfcGFuZWwuYwo+IEBAIC0xNTk2LDkgKzE1 OTYsMTQgQEAgc3RhdGljIHUzMiB2bHZfaHpfdG9fcHdtKHN0cnVjdCBpbnRlbF9jb25uZWN0b3Ig KmNvbm5lY3RvciwgdTMyIHB3bV9mcmVxX2h6KQo+ICAJcmV0dXJuIERJVl9ST1VORF9DTE9TRVNU KGNsb2NrLCBwd21fZnJlcV9oeiAqIG11bCk7Cj4gIH0KPiAgCj4gLXN0YXRpYyB1MTYgZ2V0X3Zi dF9wd21fZnJlcShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gK3N0YXRpYyB1 MTYgZ2V0X3ZidF9wd21fZnJlcShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCj4g IHsKPiAtCXUxNiBwd21fZnJlcV9oeiA9IGRldl9wcml2LT52YnQuYmFja2xpZ2h0LnB3bV9mcmVx X2h6Owo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjb25u ZWN0b3ItPmJhc2UuZGV2KTsKPiArCWNvbnN0IHN0cnVjdCB2YnRfYmFja2xpZ2h0X2luZm8gKmJh Y2tsaWdodF9pbmZvOwo+ICsJdTE2IHB3bV9mcmVxX2h6Owo+ICsKPiArCWJhY2tsaWdodF9pbmZv ID0gaW50ZWxfYmlvc19iYWNrbGlnaHRfaW5mbyhjb25uZWN0b3ItPmVuY29kZXIpOwo+ICsJcHdt X2ZyZXFfaHogPSBiYWNrbGlnaHRfaW5mby0+cHdtX2ZyZXFfaHo7Cj4gIAo+ICAJaWYgKHB3bV9m cmVxX2h6KSB7Cj4gIAkJZHJtX2RiZ19rbXMoJmRldl9wcml2LT5kcm0sCj4gQEAgLTE2MTgsNyAr MTYyMyw3IEBAIHN0YXRpYyB1MzIgZ2V0X2JhY2tsaWdodF9tYXhfdmJ0KHN0cnVjdCBpbnRlbF9j b25uZWN0b3IgKmNvbm5lY3RvcikKPiAgewo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gdG9faTkxNShjb25uZWN0b3ItPmJhc2UuZGV2KTsKPiAgCXN0cnVjdCBpbnRlbF9w YW5lbCAqcGFuZWwgPSAmY29ubmVjdG9yLT5wYW5lbDsKPiAtCXUxNiBwd21fZnJlcV9oeiA9IGdl dF92YnRfcHdtX2ZyZXEoZGV2X3ByaXYpOwo+ICsJdTE2IHB3bV9mcmVxX2h6ID0gZ2V0X3ZidF9w d21fZnJlcShjb25uZWN0b3IpOwo+ICAJdTMyIHB3bTsKPiAgCj4gIAlpZiAoIXBhbmVsLT5iYWNr bGlnaHQucHdtX2Z1bmNzLT5oel90b19wd20pIHsKPiBAQCAtMTY0MywxMSArMTY0OCwxNCBAQCBz dGF0aWMgdTMyIGdldF9iYWNrbGlnaHRfbWF4X3ZidChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpj b25uZWN0b3IpCj4gIHN0YXRpYyB1MzIgZ2V0X2JhY2tsaWdodF9taW5fdmJ0KHN0cnVjdCBpbnRl bF9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgewo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gdG9faTkxNShjb25uZWN0b3ItPmJhc2UuZGV2KTsKPiArCWNvbnN0IHN0cnVj dCB2YnRfYmFja2xpZ2h0X2luZm8gKmJhY2tsaWdodF9pbmZvOwo+ICAJc3RydWN0IGludGVsX3Bh bmVsICpwYW5lbCA9ICZjb25uZWN0b3ItPnBhbmVsOwo+ICAJaW50IG1pbjsKPiAgCj4gIAlkcm1f V0FSTl9PTigmZGV2X3ByaXYtPmRybSwgcGFuZWwtPmJhY2tsaWdodC5wd21fbGV2ZWxfbWF4ID09 IDApOwo+ICAKPiArCWJhY2tsaWdodF9pbmZvID0gaW50ZWxfYmlvc19iYWNrbGlnaHRfaW5mbyhj b25uZWN0b3ItPmVuY29kZXIpOwo+ICsKPiAgCS8qCj4gIAkgKiBYWFg6IElmIHRoZSB2YnQgdmFs dWUgaXMgMjU1LCBpdCBtYWtlcyBtaW4gZXF1YWwgdG8gbWF4LCB3aGljaCBsZWFkcwo+ICAJICog dG8gcHJvYmxlbXMuIFRoZXJlIGFyZSBzdWNoIG1hY2hpbmVzIG91dCB0aGVyZS4gRWl0aGVyIG91 cgo+IEBAIC0xNjU1LDExICsxNjYzLDExIEBAIHN0YXRpYyB1MzIgZ2V0X2JhY2tsaWdodF9taW5f dmJ0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgCSAqIGFnYWluc3QgdGhp cyBieSBsZXR0aW5nIHRoZSBtaW5pbXVtIGJlIGF0IG1vc3QgKGFyYml0cmFyaWx5IGNob3NlbikK PiAgCSAqIDI1JSBvZiB0aGUgbWF4Lgo+ICAJICovCj4gLQltaW4gPSBjbGFtcF90KGludCwgZGV2 X3ByaXYtPnZidC5iYWNrbGlnaHQubWluX2JyaWdodG5lc3MsIDAsIDY0KTsKPiAtCWlmIChtaW4g IT0gZGV2X3ByaXYtPnZidC5iYWNrbGlnaHQubWluX2JyaWdodG5lc3MpIHsKPiArCW1pbiA9IGNs YW1wX3QoaW50LCBiYWNrbGlnaHRfaW5mby0+bWluX2JyaWdodG5lc3MsIDAsIDY0KTsKPiArCWlm IChtaW4gIT0gYmFja2xpZ2h0X2luZm8tPm1pbl9icmlnaHRuZXNzKSB7Cj4gIAkJZHJtX2RiZ19r bXMoJmRldl9wcml2LT5kcm0sCj4gIAkJCSAgICAiY2xhbXBpbmcgVkJUIG1pbiBiYWNrbGlnaHQg JWQvMjU1IHRvICVkLzI1NVxuIiwKPiAtCQkJICAgIGRldl9wcml2LT52YnQuYmFja2xpZ2h0Lm1p bl9icmlnaHRuZXNzLCBtaW4pOwo+ICsJCQkgICAgYmFja2xpZ2h0X2luZm8tPm1pbl9icmlnaHRu ZXNzLCBtaW4pOwo+ICAJfQo+ICAKPiAgCS8qIHZidCB2YWx1ZSBpcyBhIGNvZWZmaWNpZW50IGlu IHJhbmdlIFswLi4yNTVdICovCj4gQEAgLTE4NDUsMTAgKzE4NTMsMTIgQEAgc3RhdGljIGludAo+ ICBieHRfc2V0dXBfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3Rvciwg ZW51bSBwaXBlIHVudXNlZCkKPiAgewo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShjb25uZWN0b3ItPmJhc2UuZGV2KTsKPiArCWNvbnN0IHN0cnVjdCB2YnRf YmFja2xpZ2h0X2luZm8gKmJhY2tsaWdodF9pbmZvOwo+ICAJc3RydWN0IGludGVsX3BhbmVsICpw YW5lbCA9ICZjb25uZWN0b3ItPnBhbmVsOwo+ICAJdTMyIHB3bV9jdGwsIHZhbDsKPiAgCj4gLQlw YW5lbC0+YmFja2xpZ2h0LmNvbnRyb2xsZXIgPSBkZXZfcHJpdi0+dmJ0LmJhY2tsaWdodC5jb250 cm9sbGVyOwo+ICsJYmFja2xpZ2h0X2luZm8gPSBpbnRlbF9iaW9zX2JhY2tsaWdodF9pbmZvKGNv bm5lY3Rvci0+ZW5jb2Rlcik7Cj4gKwlwYW5lbC0+YmFja2xpZ2h0LmNvbnRyb2xsZXIgPSBiYWNr bGlnaHRfaW5mby0+Y29udHJvbGxlcjsKPiAgCj4gIAlwd21fY3RsID0gaW50ZWxfZGVfcmVhZChk ZXZfcHJpdiwKPiAgCQkJCUJYVF9CTENfUFdNX0NUTChwYW5lbC0+YmFja2xpZ2h0LmNvbnRyb2xs ZXIpKTsKPiBAQCAtMTk1MCwxMSArMTk2MCwxMSBAQCBzdGF0aWMgaW50IGV4dF9wd21fc2V0dXBf YmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAgCj4gIAkJZHJt X2RiZ19rbXMoJmRldl9wcml2LT5kcm0sICJQV00gYWxyZWFkeSBlbmFibGVkIGF0IGZyZXEgJWxk LCBWQlQgZnJlcSAlZCwgbGV2ZWwgJWRcbiIsCj4gIAkJCSAgICBOU0VDX1BFUl9TRUMgLyAodW5z aWduZWQgbG9uZylwYW5lbC0+YmFja2xpZ2h0LnB3bV9zdGF0ZS5wZXJpb2QsCj4gLQkJCSAgICBn ZXRfdmJ0X3B3bV9mcmVxKGRldl9wcml2KSwgbGV2ZWwpOwo+ICsJCQkgICAgZ2V0X3ZidF9wd21f ZnJlcShjb25uZWN0b3IpLCBsZXZlbCk7Cj4gIAl9IGVsc2Ugewo+ICAJCS8qIFNldCBwZXJpb2Qg ZnJvbSBWQlQgZnJlcXVlbmN5LCBsZWF2ZSBvdGhlciBzZXR0aW5ncyBhdCAwLiAqLwo+ICAJCXBh bmVsLT5iYWNrbGlnaHQucHdtX3N0YXRlLnBlcmlvZCA9Cj4gLQkJCU5TRUNfUEVSX1NFQyAvIGdl dF92YnRfcHdtX2ZyZXEoZGV2X3ByaXYpOwo+ICsJCQlOU0VDX1BFUl9TRUMgLyBnZXRfdmJ0X3B3 bV9mcmVxKGNvbm5lY3Rvcik7Cj4gIAl9Cj4gIAo+ICAJZHJtX2luZm8oJmRldl9wcml2LT5kcm0s ICJVc2luZyAlcyBQV00gZm9yIExDRCBiYWNrbGlnaHQgY29udHJvbFxuIiwKPiBAQCAtMjAzNywx MCArMjA0NywxMiBAQCBpbnQgaW50ZWxfcGFuZWxfc2V0dXBfYmFja2xpZ2h0KHN0cnVjdCBkcm1f Y29ubmVjdG9yICpjb25uZWN0b3IsIGVudW0gcGlwZSBwaXBlKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNvbm5lY3Rvci0+ZGV2KTsKPiAgCXN0 cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nvbm5lY3RvciA9IHRvX2ludGVsX2Nvbm5lY3Rv cihjb25uZWN0b3IpOwo+ICsJY29uc3Qgc3RydWN0IHZidF9iYWNrbGlnaHRfaW5mbyAqYmFja2xp Z2h0X2luZm87Cj4gIAlzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBhbmVsID0gJmludGVsX2Nvbm5lY3Rv ci0+cGFuZWw7Cj4gIAlpbnQgcmV0Owo+ICAKPiAtCWlmICghZGV2X3ByaXYtPnZidC5iYWNrbGln aHQucHJlc2VudCkgewo+ICsJYmFja2xpZ2h0X2luZm8gPSBpbnRlbF9iaW9zX2JhY2tsaWdodF9p bmZvKGludGVsX2Nvbm5lY3Rvci0+ZW5jb2Rlcik7Cj4gKwlpZiAoIWJhY2tsaWdodF9pbmZvLT5w cmVzZW50KSB7Cj4gIAkJaWYgKGRldl9wcml2LT5xdWlya3MgJiBRVUlSS19CQUNLTElHSFRfUFJF U0VOVCkgewo+ICAJCQlkcm1fZGJnX2ttcygmZGV2X3ByaXYtPmRybSwKPiAgCQkJCSAgICAibm8g YmFja2xpZ2h0IHByZXNlbnQgcGVyIFZCVCwgYnV0IHByZXNlbnQgcGVyIHF1aXJrXG4iKTsKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9wcHMuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfcHBzLmMKPiBpbmRleCBhMzZlYzRhODE4 ZmY1Li45Njg5NGQ3MGE5MmMxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfcHBzLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX3Bwcy5jCj4gQEAgLTIwNyw3ICsyMDcsMTMgQEAgc3RhdGljIGludAo+ICBieHRfcG93ZXJf c2VxdWVuY2VyX2lkeChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ICB7Cj4gIAlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkcF90b19pOTE1KGludGVsX2RwKTsKPiAtCWlu dCBiYWNrbGlnaHRfY29udHJvbGxlciA9IGRldl9wcml2LT52YnQuYmFja2xpZ2h0LmNvbnRyb2xs ZXI7Cj4gKwlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCA9IGRwX3RvX2RpZ19w b3J0KGludGVsX2RwKTsKPiArCXN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyID0gJmRpZ19w b3J0LT5iYXNlOwo+ICsJY29uc3Qgc3RydWN0IHZidF9iYWNrbGlnaHRfaW5mbyAqYmFja2xpZ2h0 X2luZm87Cj4gKwlpbnQgYmFja2xpZ2h0X2NvbnRyb2xsZXI7Cj4gKwo+ICsJYmFja2xpZ2h0X2lu Zm8gPSBpbnRlbF9iaW9zX2JhY2tsaWdodF9pbmZvKGVuY29kZXIpOwo+ICsJYmFja2xpZ2h0X2Nv bnRyb2xsZXIgPSBiYWNrbGlnaHRfaW5mby0+Y29udHJvbGxlcjsKPiAgCj4gIAlsb2NrZGVwX2Fz c2VydF9oZWxkKCZkZXZfcHJpdi0+cHBzX211dGV4KTsKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5oCj4gaW5kZXggNjJhMGMxZjY0Zjg3MC4uMDQ3ZjBkMmZjOTcxZiAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuaAo+IEBAIC02NjAsNiArNjYwLDE1IEBAIHN0cnVjdCBkZGlfdmJ0X3BvcnRf aW5mbyB7Cj4gIAllbnVtIGRycnNfc3VwcG9ydF90eXBlIGRycnNfdHlwZTsKPiAgCj4gIAlzdHJ1 Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbGZwX2x2ZHNfdmJ0X21vZGU7IC8qIGlmIGFueSAqLwo+ICsK PiArCXN0cnVjdCB2YnRfYmFja2xpZ2h0X2luZm8gewo+ICsJCXUxNiBwd21fZnJlcV9oejsKPiAr CQlib29sIHByZXNlbnQ7Cj4gKwkJYm9vbCBhY3RpdmVfbG93X3B3bTsKPiArCQl1OCBtaW5fYnJp Z2h0bmVzczsJLyogbWluX2JyaWdodG5lc3MvMjU1IG9mIG1heCAqLwo+ICsJCXU4IGNvbnRyb2xs ZXI7CQkvKiBicmlnaHRuZXNzIGNvbnRyb2xsZXIgbnVtYmVyICovCj4gKwkJZW51bSBpbnRlbF9i YWNrbGlnaHRfdHlwZSB0eXBlOwo+ICsJfSBiYWNrbGlnaHQ7Cj4gIH07Cj4gIAo+ICBlbnVtIHBz cl9saW5lc190b193YWl0IHsKPiBAQCAtNzEwLDE1ICs3MTksNiBAQCBzdHJ1Y3QgaW50ZWxfdmJ0 X2RhdGEgewo+ICAJCWludCBwc3IyX3RwMl90cDNfd2FrZXVwX3RpbWVfdXM7Cj4gIAl9IHBzcjsK PiAgCj4gLQlzdHJ1Y3Qgewo+IC0JCXUxNiBwd21fZnJlcV9oejsKPiAtCQlib29sIHByZXNlbnQ7 Cj4gLQkJYm9vbCBhY3RpdmVfbG93X3B3bTsKPiAtCQl1OCBtaW5fYnJpZ2h0bmVzczsJLyogbWlu X2JyaWdodG5lc3MvMjU1IG9mIG1heCAqLwo+IC0JCXU4IGNvbnRyb2xsZXI7CQkvKiBicmlnaHRu ZXNzIGNvbnRyb2xsZXIgbnVtYmVyICovCj4gLQkJZW51bSBpbnRlbF9iYWNrbGlnaHRfdHlwZSB0 eXBlOwo+IC0JfSBiYWNrbGlnaHQ7Cj4gLQo+ICAJLyogTUlQSSBEU0kgKi8KPiAgCXN0cnVjdCB7 Cj4gIAkJdTE2IHBhbmVsX2lkOwo+IC0tIAo+IDIuMzIuMAo+IAo+IF9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+ IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeApfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZngK