From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [RFC PATCH 4/7] drm/i915: enable fastboot for everyone Date: Fri, 19 Jun 2015 10:02:27 +0200 Message-ID: <1434700950-16242-5-git-send-email-maarten.lankhorst@linux.intel.com> References: <1434700950-16242-1-git-send-email-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mblankhorst.nl (mblankhorst.nl [141.105.120.124]) by gabe.freedesktop.org (Postfix) with ESMTP id 6297B6E652 for ; Fri, 19 Jun 2015 01:02:45 -0700 (PDT) In-Reply-To: <1434700950-16242-1-git-send-email-maarten.lankhorst@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Tm93IHRoYXQgd2UgcmVhZCBvdXQgdGhlIGZ1bGwgYXRvbWljIHN0YXRlIHdlIGNhbiBmb3JjZSBm YXN0Ym9vdCB3aXRob3V0IGhhY2tzLgpUaGUgb25seSB0aGluZyB0aGF0IHdlIHdvcnJ5IGFib3V0 IGlzIHByZXZlbnRpbmcgYSBtb2Rlc2V0LiBUaGlzIGNhbiBiZSBlYXNpbHkKZG9uZSBieSBjYWxj dWxhdGluZyBpZiBzdyBzdGF0ZSBtYXRjaGVzIGh3IHN0YXRlLCB3aXRoIGV4Y2VwdGlvbiBmb3Ig cGZpdCBhbmQKcGlwZSBzaXplLiBTaW5jZSB0aGUgb3JpZ2luYWwgZmFzdGJvb3QgY29kZSBvbmx5 IHRvdWNoZWQgcGlwZSBzaXplIGFuZCBwYW5lbApmaXR0ZXIgd2Uga2VlcCB0aG9zZSwgYW5kIGNv bXBhcmUgZnVsbCBzdyBzdGF0ZSBhZ2FpbnN0IGh3IHN0YXRlLgoKU2lnbmVkLW9mZi1ieTogTWFh cnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KLS0tCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFtcy5jICAgfCAgIDUgLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgMjcxICsrKysrKysrKysrKysrKysrKysrKystLS0t LS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmRldi5jICAgfCAgMTAgKy0K IDMgZmlsZXMgY2hhbmdlZCwgMTY5IGluc2VydGlvbnMoKyksIDExNyBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFtcy5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMuYwppbmRleCA4YWM1YTFiMjlhYzAuLjliMzQ0YTk1NmJh NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFtcy5jCkBAIC00MSw3ICs0MSw2IEBAIHN0cnVj dCBpOTE1X3BhcmFtcyBpOTE1IF9fcmVhZF9tb3N0bHkgPSB7CiAJLnByZWxpbWluYXJ5X2h3X3N1 cHBvcnQgPSBJU19FTkFCTEVEKENPTkZJR19EUk1fSTkxNV9QUkVMSU1JTkFSWV9IV19TVVBQT1JU KSwKIAkuZGlzYWJsZV9wb3dlcl93ZWxsID0gMSwKIAkuZW5hYmxlX2lwcyA9IDEsCi0JLmZhc3Ri b290ID0gMCwKIAkucHJlZmF1bHRfZGlzYWJsZSA9IDAsCiAJLmxvYWRfZGV0ZWN0X3Rlc3QgPSAw LAogCS5yZXNldCA9IHRydWUsCkBAIC0xMzcsMTAgKzEzNiw2IEBAIE1PRFVMRV9QQVJNX0RFU0Mo ZGlzYWJsZV9wb3dlcl93ZWxsLAogbW9kdWxlX3BhcmFtX25hbWVkKGVuYWJsZV9pcHMsIGk5MTUu ZW5hYmxlX2lwcywgaW50LCAwNjAwKTsKIE1PRFVMRV9QQVJNX0RFU0MoZW5hYmxlX2lwcywgIkVu YWJsZSBJUFMgKGRlZmF1bHQ6IHRydWUpIik7CiAKLW1vZHVsZV9wYXJhbV9uYW1lZChmYXN0Ym9v dCwgaTkxNS5mYXN0Ym9vdCwgYm9vbCwgMDYwMCk7Ci1NT0RVTEVfUEFSTV9ERVNDKGZhc3Rib290 LAotCSJUcnkgdG8gc2tpcCB1bm5lY2Vzc2FyeSBtb2RlIHNldHMgYXQgYm9vdCB0aW1lIChkZWZh dWx0OiBmYWxzZSkiKTsKLQogbW9kdWxlX3BhcmFtX25hbWVkX3Vuc2FmZShwcmVmYXVsdF9kaXNh YmxlLCBpOTE1LnByZWZhdWx0X2Rpc2FibGUsIGJvb2wsIDA2MDApOwogTU9EVUxFX1BBUk1fREVT QyhwcmVmYXVsdF9kaXNhYmxlLAogCSJEaXNhYmxlIHBhZ2UgcHJlZmF1bHRpbmcgZm9yIHByZWFk L3B3cml0ZS9yZWxvYyAoZGVmYXVsdDpmYWxzZSkuICIKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rp c3BsYXkuYwppbmRleCA5YjJhY2M3YjRlMjkuLmRlOTc1ZWYwOWUyMyAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYwpAQCAtMTEwLDYgKzExMCw3IEBAIHN0YXRpYyB2b2lkIHNrbF9p bml0X3NjYWxlcnMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGludGVsX2NydGMgKmlu dGVsX2NyCiBzdGF0aWMgaW50IGk5eHhfZ2V0X3JlZmNsayhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCSAgIGludCBudW1fY29ubmVjdG9ycyk7CiBzdGF0aWMg dm9pZCBpbnRlbF9wcmVfZGlzYWJsZV9wcmltYXJ5KHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7Citz dGF0aWMgdm9pZCBza3lsYWtlX3BmaXRfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKTsK IHN0YXRpYyBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqCiBpbnRlbF9tb2Rlc2V0X3NldHVwX2h3 X3N0YXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGJvb2wgZm9yY2VfcmVzdG9yZSk7CiAKQEAg LTMyODksMTQgKzMyOTAsMTcgQEAgc3RhdGljIGJvb2wgaW50ZWxfY3J0Y19oYXNfcGVuZGluZ19m bGlwKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIAlyZXR1cm4gcGVuZGluZzsKIH0KIAotc3RhdGlj IHZvaWQgaW50ZWxfdXBkYXRlX3BpcGVfc2l6ZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKK3N0 YXRpYyB2b2lkIGludGVsX3VwZGF0ZV9mYXN0Ym9vdChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywK KwkJCQkgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSkKIHsKIAlzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+YmFzZS5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKLQljb25zdCBzdHJ1Y3QgZHJtX2Rp c3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZTsKKwlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlw ZV9jb25maWcgPQorCQl0b19pbnRlbF9jcnRjX3N0YXRlKGNydGMtPmJhc2Uuc3RhdGUpOwogCi0J aWYgKCFpOTE1LmZhc3Rib290KQotCQlyZXR1cm47CisJRFJNX0RFQlVHX0tNUygiQXBwbHlpbmcg ZmFzdGJvb3QgcXVpcmtzLCAlaXglaSAtPiAlaXglaVxuIiwKKwkJICAgICAgb2xkX2NydGNfc3Rh dGUtPnBpcGVfc3JjX3csIG9sZF9jcnRjX3N0YXRlLT5waXBlX3NyY19oLAorCQkgICAgICBwaXBl X2NvbmZpZy0+cGlwZV9zcmNfdywgcGlwZV9jb25maWctPnBpcGVfc3JjX2gpOwogCiAJLyoKIAkg KiBVcGRhdGUgcGlwZSBzaXplIGFuZCBhZGp1c3QgZml0dGVyIGlmIG5lZWRlZDogdGhlIHJlYXNv biBmb3IgdGhpcyBpcwpAQCAtMzMwNSwyNyArMzMwOSwyNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF91 cGRhdGVfcGlwZV9zaXplKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQogCSAqIGZhc3Rib290IGNh c2UsIHdlJ2xsIGZsaXAsIGJ1dCBpZiB3ZSBkb24ndCB1cGRhdGUgdGhlIHBpcGVzcmMgYW5kCiAJ ICogcGZpdCBzdGF0ZSwgd2UnbGwgZW5kIHVwIHdpdGggYSBiaWcgZmIgc2Nhbm5lZCBvdXQgaW50 byB0aGUgd3JvbmcKIAkgKiBzaXplZCBzdXJmYWNlLgotCSAqCi0JICogVG8gZml4IHRoaXMgcHJv cGVybHksIHdlIG5lZWQgdG8gaG9pc3QgdGhlIGNoZWNrcyB1cCBpbnRvCi0JICogY29tcHV0ZV9t b2RlX2NoYW5nZXMgKG9yIGFib3ZlKSwgY2hlY2sgdGhlIGFjdHVhbCBwZml0IHN0YXRlIGFuZAot CSAqIHdoZXRoZXIgdGhlIHBsYXRmb3JtIGFsbG93cyBwZml0IGRpc2FibGUgd2l0aCBwaXBlIGFj dGl2ZSwgYW5kIG9ubHkKLQkgKiB0aGVuIHVwZGF0ZSB0aGUgcGlwZXNyYyBhbmQgcGZpdCBzdGF0 ZSwgZXZlbiBvbiB0aGUgZmxpcCBwYXRoLgogCSAqLwogCi0JYWRqdXN0ZWRfbW9kZSA9ICZjcnRj LT5jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZTsKLQogCUk5MTVfV1JJVEUoUElQRVNSQyhjcnRj LT5waXBlKSwKLQkJICAgKChhZGp1c3RlZF9tb2RlLT5jcnRjX2hkaXNwbGF5IC0gMSkgPDwgMTYp IHwKLQkJICAgKGFkanVzdGVkX21vZGUtPmNydGNfdmRpc3BsYXkgLSAxKSk7Ci0JaWYgKCFjcnRj LT5jb25maWctPnBjaF9wZml0LmVuYWJsZWQgJiYKLQkgICAgKGludGVsX3BpcGVfaGFzX3R5cGUo Y3J0YywgSU5URUxfT1VUUFVUX0xWRFMpIHx8Ci0JICAgICBpbnRlbF9waXBlX2hhc190eXBlKGNy dGMsIElOVEVMX09VVFBVVF9FRFApKSkgeworCQkgICAoKHBpcGVfY29uZmlnLT5waXBlX3NyY193 IC0gMSkgPDwgMTYpIHwKKwkJICAgKHBpcGVfY29uZmlnLT5waXBlX3NyY19oIC0gMSkpOworCisJ Lyogb24gc2t5bGFrZSB0aGlzIGlzIGRvbmUgYnkgZGV0YWNoaW5nIHNjYWxlcnMgKi8KKwlpZiAo SU5URUxfSU5GTyhkZXYpLT5nZW4gPT0gOSkgeworCQlza2xfZGV0YWNoX3NjYWxlcnMoY3J0Yyk7 CisKKwkJaWYgKHBpcGVfY29uZmlnLT5wY2hfcGZpdC5lbmFibGVkKQorCQkJc2t5bGFrZV9wZml0 X2VuYWJsZShjcnRjKTsKKwl9CisJZWxzZSBpZiAoIXBpcGVfY29uZmlnLT5wY2hfcGZpdC5lbmFi bGVkICYmCisJICAgIG9sZF9jcnRjX3N0YXRlLT5wY2hfcGZpdC5lbmFibGVkKSB7CisJCURSTV9E RUJVR19LTVMoIkRpc2FibGluZyBwYW5lbCBmaXR0ZXJcbiIpOworCiAJCUk5MTVfV1JJVEUoUEZf Q1RMKGNydGMtPnBpcGUpLCAwKTsKIAkJSTkxNV9XUklURShQRl9XSU5fUE9TKGNydGMtPnBpcGUp LCAwKTsKIAkJSTkxNV9XUklURShQRl9XSU5fU1ooY3J0Yy0+cGlwZSksIDApOwogCX0KLQljcnRj LT5jb25maWctPnBpcGVfc3JjX3cgPSBhZGp1c3RlZF9tb2RlLT5jcnRjX2hkaXNwbGF5OwotCWNy dGMtPmNvbmZpZy0+cGlwZV9zcmNfaCA9IGFkanVzdGVkX21vZGUtPmNydGNfdmRpc3BsYXk7CiB9 CiAKIHN0YXRpYyB2b2lkIGludGVsX2ZkaV9ub3JtYWxfdHJhaW4oc3RydWN0IGRybV9jcnRjICpj cnRjKQpAQCAtMTIyNDQsMTkgKzEyMjQ4LDYgQEAgZW5jb2Rlcl9yZXRyeToKIAlEUk1fREVCVUdf S01TKCJwbGFuZSBicHA6ICVpLCBwaXBlIGJwcDogJWksIGRpdGhlcmluZzogJWlcbiIsCiAJCSAg ICAgIGJhc2VfYnBwLCBwaXBlX2NvbmZpZy0+cGlwZV9icHAsIHBpcGVfY29uZmlnLT5kaXRoZXIp OwogCi0JLyogQ2hlY2sgaWYgd2UgbmVlZCB0byBmb3JjZSBhIG1vZGVzZXQgKi8KLQlpZiAocGlw ZV9jb25maWctPmhhc19hdWRpbyAhPQotCSAgICB0b19pbnRlbF9jcnRjX3N0YXRlKGNydGMtPnN0 YXRlKS0+aGFzX2F1ZGlvKSB7Ci0JCXBpcGVfY29uZmlnLT5iYXNlLm1vZGVfY2hhbmdlZCA9IHRy dWU7Ci0JCXJldCA9IGRybV9hdG9taWNfYWRkX2FmZmVjdGVkX3BsYW5lcyhzdGF0ZSwgY3J0Yyk7 Ci0JfQotCi0JLyoKLQkgKiBOb3RlIHdlIGhhdmUgYW4gaXNzdWUgaGVyZSB3aXRoIGluZm9mcmFt ZXM6IGN1cnJlbnQgY29kZQotCSAqIG9ubHkgdXBkYXRlcyB0aGVtIG9uIHRoZSBmdWxsIG1vZGUg c2V0IHBhdGggcGVyIGh3Ci0JICogcmVxdWlyZW1lbnRzLiAgU28gaGVyZSB3ZSBzaG91bGQgYmUg Y2hlY2tpbmcgZm9yIGFueQotCSAqIHJlcXVpcmVkIGNoYW5nZXMgYW5kIGZvcmNpbmcgYSBtb2Rl IHNldC4KLQkgKi8KIGZhaWw6CiAJcmV0dXJuIHJldDsKIH0KQEAgLTEyNTAwLDI5ICsxMjQ5MSwy MSBAQCBpbnRlbF9waXBlX2NvbmZpZ19jb21wYXJlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJ CQkJICAgICAgRFJNX01PREVfRkxBR19OVlNZTkMpOwogCX0KIAotCVBJUEVfQ09ORl9DSEVDS19J KHBpcGVfc3JjX3cpOwotCVBJUEVfQ09ORl9DSEVDS19JKHBpcGVfc3JjX2gpOwotCi0JLyoKLQkg KiBGSVhNRTogQklPUyBsaWtlcyB0byBzZXQgdXAgYSBjbG9uZWQgY29uZmlnIHdpdGggbHZkcytl eHRlcm5hbAotCSAqIHNjcmVlbi4gU2luY2Ugd2UgZG9uJ3QgeWV0IHJlLWNvbXB1dGUgdGhlIHBp cGUgY29uZmlnIHdoZW4gbW92aW5nCi0JICoganVzdCB0aGUgbHZkcyBwb3J0IGF3YXkgdG8gYW5v dGhlciBwaXBlIHRoZSBzdyB0cmFja2luZyB3b24ndCBtYXRjaC4KLQkgKgotCSAqIFByb3BlciBh dG9taWMgbW9kZXNldHMgd2l0aCByZWNvbXB1dGVkIGdsb2JhbCBzdGF0ZSB3aWxsIGZpeCB0aGlz LgotCSAqIFVudGlsIHRoZW4ganVzdCBkb24ndCBjaGVjayBnbWNoIHN0YXRlIGZvciBpbmhlcml0 ZWQgbW9kZXMuCi0JICovCiAJaWYgKCFQSVBFX0NPTkZfUVVJUksoUElQRV9DT05GSUdfUVVJUktf SU5IRVJJVEVEX01PREUpKSB7Ci0JCVBJUEVfQ09ORl9DSEVDS19JKGdtY2hfcGZpdC5jb250cm9s KTsKLQkJLyogcGZpdCByYXRpb3MgYXJlIGF1dG9jb21wdXRlZCBieSB0aGUgaHcgb24gZ2VuNCsg Ki8KLQkJaWYgKElOVEVMX0lORk8oZGV2KS0+Z2VuIDwgNCkKLQkJCVBJUEVfQ09ORl9DSEVDS19J KGdtY2hfcGZpdC5wZ21fcmF0aW9zKTsKLQkJUElQRV9DT05GX0NIRUNLX0koZ21jaF9wZml0Lmx2 ZHNfYm9yZGVyX2JpdHMpOwotCX0KKwkJUElQRV9DT05GX0NIRUNLX0kocGlwZV9zcmNfdyk7CisJ CVBJUEVfQ09ORl9DSEVDS19JKHBpcGVfc3JjX2gpOworCisJCVBJUEVfQ09ORl9DSEVDS19JKHBj aF9wZml0LmVuYWJsZWQpOworCQlpZiAoY3VycmVudF9jb25maWctPnBjaF9wZml0LmVuYWJsZWQp IHsKKwkJCVBJUEVfQ09ORl9DSEVDS19JKHBjaF9wZml0LnBvcyk7CisJCQlQSVBFX0NPTkZfQ0hF Q0tfSShwY2hfcGZpdC5zaXplKTsKIAotCVBJUEVfQ09ORl9DSEVDS19JKHBjaF9wZml0LmVuYWJs ZWQpOwotCWlmIChjdXJyZW50X2NvbmZpZy0+cGNoX3BmaXQuZW5hYmxlZCkgewotCQlQSVBFX0NP TkZfQ0hFQ0tfSShwY2hfcGZpdC5wb3MpOwotCQlQSVBFX0NPTkZfQ0hFQ0tfSShwY2hfcGZpdC5z aXplKTsKKwkJCVBJUEVfQ09ORl9DSEVDS19JKGdtY2hfcGZpdC5jb250cm9sKTsKKwkJCS8qIHBm aXQgcmF0aW9zIGFyZSBhdXRvY29tcHV0ZWQgYnkgdGhlIGh3IG9uIGdlbjQrICovCisJCQlpZiAo SU5URUxfSU5GTyhkZXYpLT5nZW4gPCA0KQorCQkJCVBJUEVfQ09ORl9DSEVDS19JKGdtY2hfcGZp dC5wZ21fcmF0aW9zKTsKKwkJCVBJUEVfQ09ORl9DSEVDS19JKGdtY2hfcGZpdC5sdmRzX2JvcmRl cl9iaXRzKTsKKwkJfQogCX0KIAogCVBJUEVfQ09ORl9DSEVDS19JKHNjYWxlcl9zdGF0ZS5zY2Fs ZXJfaWQpOwpAQCAtMTMwNTcsMjYgKzEzMDQwLDE4IEBAIGludGVsX21vZGVzZXRfY29tcHV0ZV9j b25maWcoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQogCQlyZXR1cm4gcmV0OwogCiAJ Zm9yX2VhY2hfY3J0Y19pbl9zdGF0ZShzdGF0ZSwgY3J0YywgY3J0Y19zdGF0ZSwgaSkgewotCQlp ZiAoIWNydGNfc3RhdGUtPmVuYWJsZSkgewotCQkJaWYgKG5lZWRzX21vZGVzZXQoY3J0Y19zdGF0 ZSkpCi0JCQkJYW55X21zID0gdHJ1ZTsKKwkJaWYgKCFuZWVkc19tb2Rlc2V0KGNydGNfc3RhdGUp KQogCQkJY29udGludWU7Ci0JCX0KIAotCQlpZiAoIW5lZWRzX21vZGVzZXQoY3J0Y19zdGF0ZSkp IHsKLQkJCXJldCA9IGRybV9hdG9taWNfYWRkX2FmZmVjdGVkX2Nvbm5lY3RvcnMoc3RhdGUsIGNy dGMpOwotCQkJaWYgKHJldCkKLQkJCQlyZXR1cm4gcmV0OwotCQl9CisJCWFueV9tcyA9IHRydWU7 CisJCWlmICghY3J0Y19zdGF0ZS0+ZW5hYmxlKQorCQkJY29udGludWU7CiAKIAkJcmV0ID0gaW50 ZWxfbW9kZXNldF9waXBlX2NvbmZpZyhjcnRjLAogCQkJCQl0b19pbnRlbF9jcnRjX3N0YXRlKGNy dGNfc3RhdGUpKTsKIAkJaWYgKHJldCkKIAkJCXJldHVybiByZXQ7CiAKLQkJaWYgKG5lZWRzX21v ZGVzZXQoY3J0Y19zdGF0ZSkpCi0JCQlhbnlfbXMgPSB0cnVlOwotCiAJCWludGVsX2R1bXBfcGlw ZV9jb25maWcodG9faW50ZWxfY3J0YyhjcnRjKSwKIAkJCQkgICAgICAgdG9faW50ZWxfY3J0Y19z dGF0ZShjcnRjX3N0YXRlKSwKIAkJCQkgICAgICAgIlttb2Rlc2V0XSIpOwpAQCAtMTMxNDcsNyAr MTMxMjIsMTAgQEAgc3RhdGljIGludCBfX2ludGVsX3NldF9tb2RlKHN0cnVjdCBkcm1fYXRvbWlj X3N0YXRlICpzdGF0ZSkKIAkJaWYgKG5lZWRzX21vZGVzZXQoY3J0Yy0+c3RhdGUpICYmIGNydGMt PnN0YXRlLT5hY3RpdmUpIHsKIAkJCXVwZGF0ZV9zY2FubGluZV9vZmZzZXQodG9faW50ZWxfY3J0 YyhjcnRjKSk7CiAJCQlkZXZfcHJpdi0+ZGlzcGxheS5jcnRjX2VuYWJsZShjcnRjKTsKLQkJfQor CQl9IGVsc2UgaWYgKHRvX2ludGVsX2NydGNfc3RhdGUoY3J0Y19zdGF0ZSktPnF1aXJrcyAmCisJ CQkgICBQSVBFX0NPTkZJR19RVUlSS19JTkhFUklURURfTU9ERSkKKwkJCS8qIGZvcmNlIGh3IHJl YWRvdXQgY2hlY2sgKi8KKwkJCWFueV9tcyA9IHRydWU7CiAKIAkJZHJtX2F0b21pY19oZWxwZXJf Y29tbWl0X3BsYW5lc19vbl9jcnRjKGNydGNfc3RhdGUpOwogCX0KQEAgLTEzNDMwLDggKzEzNDA4 LDYgQEAgc3RhdGljIGludCBpbnRlbF9jcnRjX3NldF9jb25maWcoc3RydWN0IGRybV9tb2RlX3Nl dCAqc2V0KQogCWlmIChyZXQpCiAJCWdvdG8gb3V0OwogCi0JaW50ZWxfdXBkYXRlX3BpcGVfc2l6 ZSh0b19pbnRlbF9jcnRjKHNldC0+Y3J0YykpOwotCiAJcmV0ID0gaW50ZWxfc2V0X21vZGVfY2hl Y2tlZChzdGF0ZSk7CiAJaWYgKHJldCkgewogCQlEUk1fREVCVUdfS01TKCJmYWlsZWQgdG8gc2V0 IG1vZGUgb24gW0NSVEM6JWRdLCBlcnIgPSAlZFxuIiwKQEAgLTEzNzE4LDEwICsxMzY5NCw2IEBA IGludGVsX2NvbW1pdF9wcmltYXJ5X3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCWlm ICghY3J0Yy0+c3RhdGUtPmFjdGl2ZSkKIAkJcmV0dXJuOwogCi0JaWYgKHN0YXRlLT52aXNpYmxl KQotCQkvKiBGSVhNRToga2lsbCB0aGlzIGZhc3Rib290IGhhY2sgKi8KLQkJaW50ZWxfdXBkYXRl X3BpcGVfc2l6ZShpbnRlbF9jcnRjKTsKLQogCWRldl9wcml2LT5kaXNwbGF5LnVwZGF0ZV9wcmlt YXJ5X3BsYW5lKGNydGMsIGZiLCBjcnRjLT54LCBjcnRjLT55KTsKIH0KIApAQCAtMTM3NDEsNiAr MTM3MTMsOCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9iZWdpbl9jcnRjX2NvbW1pdChzdHJ1Y3QgZHJt X2NydGMgKmNydGMsCiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKIAlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwogCXN0cnVj dCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKKwlzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2ludGVsX3N0YXRlID0KKwkJdG9faW50ZWxfY3J0Y19zdGF0 ZShvbGRfY3J0Y19zdGF0ZSk7CiAKIAlpZiAoIW5lZWRzX21vZGVzZXQoY3J0Yy0+c3RhdGUpKQog CQlpbnRlbF9wcmVfcGxhbmVfdXBkYXRlKGludGVsX2NydGMpOwpAQCAtMTM3NTYsNyArMTM3MzAs MTAgQEAgc3RhdGljIHZvaWQgaW50ZWxfYmVnaW5fY3J0Y19jb21taXQoc3RydWN0IGRybV9jcnRj ICpjcnRjLAogCQkJaW50ZWxfcGlwZV91cGRhdGVfc3RhcnQoaW50ZWxfY3J0YywKIAkJCQkJCSZp bnRlbF9jcnRjLT5hdG9taWMuc3RhcnRfdmJsX2NvdW50KTsKIAotCWlmICghbmVlZHNfbW9kZXNl dChjcnRjLT5zdGF0ZSkgJiYgSU5URUxfSU5GTyhkZXYpLT5nZW4gPj0gOSkKKwlpZiAoIW5lZWRz X21vZGVzZXQoY3J0Yy0+c3RhdGUpICYmIGNydGMtPnN0YXRlLT5hY3RpdmUgJiYKKwkgICAgb2xk X2ludGVsX3N0YXRlLT5xdWlya3MgJiBQSVBFX0NPTkZJR19RVUlSS19JTkhFUklURURfTU9ERSkK KwkJaW50ZWxfdXBkYXRlX2Zhc3Rib290KGludGVsX2NydGMsIG9sZF9pbnRlbF9zdGF0ZSk7CisJ ZWxzZSBpZiAoIW5lZWRzX21vZGVzZXQoY3J0Yy0+c3RhdGUpICYmIElOVEVMX0lORk8oZGV2KS0+ Z2VuID49IDkpCiAJCXNrbF9kZXRhY2hfc2NhbGVycyhpbnRlbF9jcnRjKTsKIH0KIApAQCAtMTUw OTYsNiArMTUwNzMsMTE0IEBAIGludGVsX2NoZWNrX3BsYW5lX21hcHBpbmcoc3RydWN0IGludGVs X2NydGMgKmNydGMpCiAJcmV0dXJuIHRydWU7CiB9CiAKK3N0YXRpYyBib29sCitpbnRlbF9jb21w YXJlX21fbih1bnNpZ25lZCBpbnQgbSwgdW5zaWduZWQgaW50IG4sCisJCSAgdW5zaWduZWQgaW50 IG0yLCB1bnNpZ25lZCBpbnQgbjIpCit7CisJaWYgKG0gPT0gbTIgJiYgbiA9PSBuMikKKwkJcmV0 dXJuIHRydWU7CisKKwlpZiAoIW0gfHwgIW4gfHwgIW0yIHx8ICFuMikKKwkJcmV0dXJuIGZhbHNl OworCisJaWYgKG0gPiBtMikgeworCQl3aGlsZSAobSA+IG0yKSB7CisJCQltID4+PSAxOworCQkJ biA+Pj0gMTsKKwkJfQorCX0gZWxzZSBpZiAobSA8IG0yKSB7CisJCXdoaWxlIChtIDwgbTIpIHsK KwkJCW0yID4+PSAxOworCQkJbjIgPj49IDE7CisJCX0KKwl9CisKKwlyZXR1cm4gbSA9PSBtMiAm JiBuID09IG4yOworfQorCitzdGF0aWMgYm9vbAoraW50ZWxfY29tcGFyZV9saW5rX21fbihjb25z dCBzdHJ1Y3QgaW50ZWxfbGlua19tX24gKm1fbiwKKwkJICAgICAgIGNvbnN0IHN0cnVjdCBpbnRl bF9saW5rX21fbiAqbTJfbjIpCit7CisJaWYgKG1fbi0+dHUgPT0gbTJfbjItPnR1ICYmCisJICAg IGludGVsX2NvbXBhcmVfbV9uKG1fbi0+Z21jaF9tLCBtX24tPmdtY2hfbiwKKwkJCSAgICAgIG0y X24yLT5nbWNoX20sIG0yX24yLT5nbWNoX24pICYmCisJICAgIGludGVsX2NvbXBhcmVfbV9uKG1f bi0+bGlua19tLCBtX24tPmxpbmtfbiwKKwkJCSAgICAgIG0yX24yLT5saW5rX20sIG0yX24yLT5s aW5rX24pKQorCQlyZXR1cm4gdHJ1ZTsKKworCXJldHVybiBmYWxzZTsKK30KKworc3RhdGljIHZv aWQgaW50ZWxfZmFzdGJvb3RfY2FsY19tb2Rlc2V0KHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAor CQkJCQlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqaHdfc3RhdGUsCisJCQkJCXN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZykKK3sKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0g Y3J0Yy0+YmFzZS5kZXY7CisJc3RydWN0IGludGVsX2NydGNfc3RhdGUgc3dfc3RhdGU7CisKKwlp ZiAobmVlZHNfbW9kZXNldCgmcGlwZV9jb25maWctPmJhc2UpKSB7CisJCURSTV9ERUJVR19LTVMo IlNraXBwaW5nIGZhc3Rib290IGNoZWNrcywgbW9kZXNldCBmb3JjZWRcbiIpOworCQlyZXR1cm47 CisJfQorCisJbWVtc2V0KCZzd19zdGF0ZSwgMCwgc2l6ZW9mKHN3X3N0YXRlKSk7CisJc3dfc3Rh dGUuYmFzZSA9IHBpcGVfY29uZmlnLT5iYXNlOworCXN3X3N0YXRlLnNjYWxlcl9zdGF0ZSA9IHBp cGVfY29uZmlnLT5zY2FsZXJfc3RhdGU7CisJc3dfc3RhdGUuc2hhcmVkX2RwbGwgPSBwaXBlX2Nv bmZpZy0+c2hhcmVkX2RwbGw7CisJc3dfc3RhdGUuZHBsbF9od19zdGF0ZSA9IHBpcGVfY29uZmln LT5kcGxsX2h3X3N0YXRlOworCXN3X3N0YXRlLmRkaV9wbGxfc2VsID0gcGlwZV9jb25maWctPmRk aV9wbGxfc2VsOworCWludGVsX21vZGVzZXRfcGlwZV9jb25maWcoJmNydGMtPmJhc2UsICZzd19z dGF0ZSk7CisJc3dfc3RhdGUucXVpcmtzID0gaHdfc3RhdGUtPnF1aXJrcyAmIFBJUEVfQ09ORklH X1FVSVJLX01PREVfU1lOQ19GTEFHUzsKKworCWlmIChpbnRlbF9jb21wYXJlX2xpbmtfbV9uKCZz d19zdGF0ZS5mZGlfbV9uLCAmaHdfc3RhdGUtPmZkaV9tX24pKQorCQlzd19zdGF0ZS5mZGlfbV9u ID0gaHdfc3RhdGUtPmZkaV9tX247CisKKwlpZiAoSU5URUxfSU5GTyhkZXYpLT5nZW4gPCA4KSB7 CisJCWlmIChpbnRlbF9jb21wYXJlX2xpbmtfbV9uKCZzd19zdGF0ZS5kcF9tX24sCisJCQkJCSAg ICZod19zdGF0ZS0+ZHBfbV9uKSkKKwkJCXN3X3N0YXRlLmRwX21fbiA9IGh3X3N0YXRlLT5kcF9t X247CisKKwkJaWYgKGludGVsX2NvbXBhcmVfbGlua19tX24oJnN3X3N0YXRlLmRwX20yX24yLAor CQkJCQkgICAmaHdfc3RhdGUtPmRwX20yX24yKSkKKwkJCXN3X3N0YXRlLmRwX20yX24yID0gaHdf c3RhdGUtPmRwX20yX24yOworCX0gZWxzZSB7CisJCWlmIChpbnRlbF9jb21wYXJlX2xpbmtfbV9u KCZzd19zdGF0ZS5kcF9tX24sCisJCQkJCSAgICZod19zdGF0ZS0+ZHBfbV9uKSkgeworCQkJc3df c3RhdGUuZHBfbV9uID0gaHdfc3RhdGUtPmRwX21fbjsKKwkJCWh3X3N0YXRlLT5kcF9tMl9uMiA9 IHN3X3N0YXRlLmRwX20yX24yOworCQl9IGVsc2UgaWYgKGludGVsX2NvbXBhcmVfbGlua19tX24o JnN3X3N0YXRlLmRwX20yX24yLAorCQkJCQkJICAmaHdfc3RhdGUtPmRwX21fbikpIHsKKwkJCXN3 X3N0YXRlLmRwX20yX24yID0gaHdfc3RhdGUtPmRwX21fbjsKKworCQkJaHdfc3RhdGUtPmRwX21f biA9IHN3X3N0YXRlLmRwX21fbjsKKwkJCWh3X3N0YXRlLT5kcF9tMl9uMiA9IHN3X3N0YXRlLmRw X20yX24yOworCQl9CisJfQorCisJLyogQ2hlY2sgaWYgd2UgbmVlZCB0byBmb3JjZSBhIG1vZGVz ZXQgKi8KKwlpZiAoIWludGVsX3BpcGVfY29uZmlnX2NvbXBhcmUoZGV2LCAmc3dfc3RhdGUsIGh3 X3N0YXRlLCB0cnVlKSkgeworCQlEUk1fSU5GTygiW0NSVEM6JWldIHN3IHN0YXRlIGluY29tcGF0 aWJsZSwgZm9yY2luZyBtb2Rlc2V0XG4iLAorCQkJIGNydGMtPmJhc2UuYmFzZS5pZCk7CisJCXBp cGVfY29uZmlnLT5iYXNlLm1vZGVfY2hhbmdlZCA9IHRydWU7CisJfSBlbHNlIHsKKwkJRFJNX0lO Rk8oIltDUlRDOiVpXSBzdyBzdGF0ZSBhbmQgaHcgc3RhdGUgZmFzdGJvb3QgY29tcGF0aWJsZVxu IiwKKwkJCSBjcnRjLT5iYXNlLmJhc2UuaWQpOworCisJCSpwaXBlX2NvbmZpZyA9IHN3X3N0YXRl OworCQlpbnRlbF9kdW1wX3BpcGVfY29uZmlnKGNydGMsIHBpcGVfY29uZmlnLAorCQkJCSAgICAg ICAiW25ldyBmYXN0Ym9vdCBzdGF0ZV0iKTsKKworCQkvKiBwcmV2ZW50IGEgbW9kZXNldCBieSBw YXRjaGluZyB1cCBtb2RlIHN0cnVjdCAqLworCisJCWh3X3N0YXRlLT5iYXNlLm1vZGUudHlwZSA9 IHBpcGVfY29uZmlnLT5iYXNlLm1vZGUudHlwZSA9CisJCWh3X3N0YXRlLT5iYXNlLmFkanVzdGVk X21vZGUudHlwZSA9IHBpcGVfY29uZmlnLT5iYXNlLmFkanVzdGVkX21vZGUudHlwZTsKKworCQkv KiBjbG9jayByZWFkb3V0IGNhbiBiZSBhcHByb3hpbWF0ZSwganVzdCBjb3B5IGl0LiAqLworCQlo d19zdGF0ZS0+YmFzZS5tb2RlLmNsb2NrID0gcGlwZV9jb25maWctPmJhc2UubW9kZS5jbG9jayA9 IHBpcGVfY29uZmlnLT5iYXNlLmFkanVzdGVkX21vZGUuY2xvY2s7CisJfQorfQorCiBzdGF0aWMg dm9pZCBpbnRlbF9zYW5pdGl6ZV9jcnRjKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAogCQkJCXN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKIAkJCQlib29sIGZvcmNlX3Jlc3Rv cmUpCkBAIC0xNTEzNSwzNyArMTUyMjAsMTEgQEAgc3RhdGljIHZvaWQgaW50ZWxfc2FuaXRpemVf Y3J0YyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKIAkJcGlwZV9jb25maWctPmJhc2UuYWN0aXZl ID0gISFlbmFibGU7CiAJfQogCi0JaWYgKGh3X3N0YXRlLT5xdWlya3MgJiBQSVBFX0NPTkZJR19R VUlSS19XUk9OR19QTEFORSkgewotCQlpZiAoZm9yY2VfcmVzdG9yZSB8fCBpOTE1LmZhc3Rib290 KQotCQkJcGlwZV9jb25maWctPmJhc2UubW9kZV9jaGFuZ2VkID0gdHJ1ZTsKLQkJZWxzZQotCQkJ cGlwZV9jb25maWctPmJhc2UuYWN0aXZlID0gZmFsc2U7Ci0JfQotCi0JLyogWFhYOiBUaGlzIGlz IG5lZWRzIHRvIGJlIG1vZGlmaWVkIGZvciBtYWtpbmcgZmFzdGJvb3QgcG9zc2libGUKLQkgKiBi eSBkZWZhdWx0IHdpdGhvdXQgcmVxdWlyaW5nIGEgbW9kZXNldC4KLQkgKi8KLQlpZiAoaHdfc3Rh dGUtPmJhc2UuYWN0aXZlICYmIHBpcGVfY29uZmlnLT5iYXNlLmFjdGl2ZSkgewotCQlzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSBzd19zdGF0ZTsKLQotCQltZW1zZXQoJnN3X3N0YXRlLCAwLCBzaXpl b2Yoc3dfc3RhdGUpKTsKLQkJc3dfc3RhdGUuYmFzZSA9IHBpcGVfY29uZmlnLT5iYXNlOwotCQlz d19zdGF0ZS5zY2FsZXJfc3RhdGUgPSBwaXBlX2NvbmZpZy0+c2NhbGVyX3N0YXRlOwotCQlzd19z dGF0ZS5zaGFyZWRfZHBsbCA9IHBpcGVfY29uZmlnLT5zaGFyZWRfZHBsbDsKLQkJc3dfc3RhdGUu ZHBsbF9od19zdGF0ZSA9IHBpcGVfY29uZmlnLT5kcGxsX2h3X3N0YXRlOwotCQlzd19zdGF0ZS5k ZGlfcGxsX3NlbCA9IHBpcGVfY29uZmlnLT5kZGlfcGxsX3NlbDsKLQotCQlpbnRlbF9tb2Rlc2V0 X3BpcGVfY29uZmlnKCZjcnRjLT5iYXNlLCAmc3dfc3RhdGUpOwotCi0JCS8qIENoZWNrIGlmIHdl IG5lZWQgdG8gZm9yY2UgYSBtb2Rlc2V0ICovCi0JCWlmICghaW50ZWxfcGlwZV9jb25maWdfY29t cGFyZShkZXYsICZzd19zdGF0ZSwgaHdfc3RhdGUsICFpOTE1LmZhc3Rib290KSkgewotCQkJRFJN X0RFQlVHX0tNUygic3cgYW5kIGh3IHN0YXRlIGRpZmZlciwgZm9yY2luZyBtb2Rlc2V0XG4iKTsK LQkJCXBpcGVfY29uZmlnLT5iYXNlLm1vZGVfY2hhbmdlZCA9IHRydWU7Ci0JCX0gZWxzZSB7Ci0J CQkqcGlwZV9jb25maWcgPSBzd19zdGF0ZTsKLQkJfQotCX0KKwlpZiAoaHdfc3RhdGUtPnF1aXJr cyAmIFBJUEVfQ09ORklHX1FVSVJLX1dST05HX1BMQU5FKQorCQlwaXBlX2NvbmZpZy0+YmFzZS5t b2RlX2NoYW5nZWQgPSB0cnVlOwogCisJZWxzZSBpZiAoaHdfc3RhdGUtPmJhc2UuYWN0aXZlICYm IHBpcGVfY29uZmlnLT5iYXNlLmFjdGl2ZSkKKwkJaW50ZWxfZmFzdGJvb3RfY2FsY19tb2Rlc2V0 KGNydGMsIGh3X3N0YXRlLCBwaXBlX2NvbmZpZyk7CiAKIAlpZiAoZGV2X3ByaXYtPnF1aXJrcyAm IFFVSVJLX1BJUEVBX0ZPUkNFICYmICFod19zdGF0ZS0+YmFzZS5hY3RpdmUgJiYKIAkgICAgY3J0 Yy0+cGlwZSA9PSBQSVBFX0EgJiYgIXBpcGVfY29uZmlnLT5iYXNlLmFjdGl2ZSkgewpAQCAtMTU1 ODQsNiArMTU2NDMsNyBAQCBpbnRlbF9tb2Rlc2V0X3NldHVwX2h3X3N0YXRlKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIGJvb2wgZm9yY2VfcmVzdG9yZSkKIAkJY3J0Y19zdGF0ZS0+cGxhbmVzX2No YW5nZWQgPSBmYWxzZTsKIAogCQlpZiAoY3J0Yy0+c3RhdGUtPmVuYWJsZSkgeworCQkJbWVtc2V0 KCZjcnRjLT5tb2RlLCAwLCBzaXplb2YoY3J0Yy0+bW9kZSkpOwogCQkJaW50ZWxfbW9kZV9mcm9t X3BpcGVfY29uZmlnKCZjcnRjLT5tb2RlLAogCQkJCXRvX2ludGVsX2NydGNfc3RhdGUoY3J0Yy0+ c3RhdGUpKTsKIAkJCWludGVsX21vZGVfZnJvbV9waXBlX2NvbmZpZygmY3J0Yy0+c3RhdGUtPmFk anVzdGVkX21vZGUsCkBAIC0xNTY3OCw5ICsxNTczOCwxMiBAQCB2b2lkIGludGVsX21vZGVzZXRf Z2VtX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9hdG9taWNfc3RhdGUg KnN0YQogCQlpbnQgajsKIAkJc3RydWN0IGRybV9wbGFuZSAqcHJpbWFyeSA9IGMtPnByaW1hcnk7 CiAKKwkJaWYgKCFjLT5zdGF0ZS0+YWN0aXZlKQorCQkJY29udGludWU7CisKIAkJb2JqID0gaW50 ZWxfZmJfb2JqKHByaW1hcnktPnN0YXRlLT5mYik7CiAJCWlmIChvYmogPT0gTlVMTCkKLQkJCWdv dG8gZGlzYWJsZTsKKwkJCWNvbnRpbnVlOwogCiAJCW11dGV4X2xvY2soJmRldi0+c3RydWN0X211 dGV4KTsKIAkJcmV0ID0gaW50ZWxfcGluX2FuZF9mZW5jZV9mYl9vYmoocHJpbWFyeSwgcHJpbWFy eS0+c3RhdGUtPmZiLApAQCAtMTU3MTUsNiArMTU3NzgsOCBAQCB2b2lkIGludGVsX21vZGVzZXRf Z2VtX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9hdG9taWNfc3RhdGUg KnN0YQogCQkgKi8KIAogZGlzYWJsZToKKwkJRFJNX0RFQlVHX0tNUygiW0NSVEM6JWldIE5vIGZi IG9yIGZvcmNlZCBpbmFjdGl2ZSwgZGlzYWJsaW5nLlxuIiwKKwkJCSAgICAgIGMtPmJhc2UuaWQp OwogCQljcnRjX3N0YXRlLT5hY3RpdmUgPSBjcnRjX3N0YXRlLT5lbmFibGUgPSBmYWxzZTsKIAog CQlyZXQgPSBkcm1fYXRvbWljX3NldF9tb2RlX2Zvcl9jcnRjKGNydGNfc3RhdGUsIE5VTEwpOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJkZXYuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2ZiZGV2LmMKaW5kZXggNmFjNDk5MGEwYzExLi4yYzQ5NGQ3ODY1 MmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZiZGV2LmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJkZXYuYwpAQCAtNDg2LDE1ICs0ODYsMTAgQEAg cmV0cnk6CiAJCQkgKiBjb25maWcsIG5vdCB0aGUgaW5wdXQgbW9kZSwgd2hpY2ggaXMgd2hhdCBj cnRjLT5tb2RlCiAJCQkgKiB1c3VhbGx5IGNvbnRhaW5zLiBCdXQgc2luY2Ugb3VyIGN1cnJlbnQg ZmFzdGJvb3QKIAkJCSAqIGNvZGUgcHV0cyBhIG1vZGUgZGVyaXZlZCBmcm9tIHRoZSBwb3N0LXBm aXQgdGltaW5ncwotCQkJICogaW50byBjcnRjLT5tb2RlIHRoaXMgd29ya3Mgb3V0IGNvcnJlY3Rs eS4gV2UgZG9uJ3QKLQkJCSAqIHVzZSBod21vZGUgYW55d2hlcmUgcmlnaHQgbm93LCBzbyB1c2Ug aXQgZm9yIHRoaXMKLQkJCSAqIHNpbmNlIHRoZSBmYiBoZWxwZXIgbGF5ZXIgd2FudHMgYSBwb2lu dGVyIHRvCi0JCQkgKiBzb21ldGhpbmcgd2Ugb3duLgorCQkJICogaW50byBjcnRjLT5tb2RlIHRo aXMgd29ya3Mgb3V0IGNvcnJlY3RseS4KIAkJCSAqLwogCQkJRFJNX0RFQlVHX0tNUygibG9va2lu ZyBmb3IgY3VycmVudCBtb2RlIG9uIGNvbm5lY3RvciAlc1xuIiwKIAkJCQkgICAgICBjb25uZWN0 b3ItPm5hbWUpOwotCQkJaW50ZWxfbW9kZV9mcm9tX3BpcGVfY29uZmlnKCZlbmNvZGVyLT5jcnRj LT5od21vZGUsCi0JCQkJCQkgICAgdG9faW50ZWxfY3J0YyhlbmNvZGVyLT5jcnRjKS0+Y29uZmln KTsKIAkJCW1vZGVzW2ldID0gJmVuY29kZXItPmNydGMtPmh3bW9kZTsKIAkJfQogCQljcnRjc1tp XSA9IG5ld19jcnRjOwpAQCAtNTg0LDkgKzU3OSw2IEBAIHN0YXRpYyBib29sIGludGVsX2ZiZGV2 X2luaXRfYmlvcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCXN0cnVjdCBpbnRlbF9jcnRjICpp bnRlbF9jcnRjOwogCXVuc2lnbmVkIGludCBtYXhfc2l6ZSA9IDA7CiAKLQlpZiAoIWk5MTUuZmFz dGJvb3QpCi0JCXJldHVybiBmYWxzZTsKLQogCS8qIEZpbmQgdGhlIGxhcmdlc3QgZmIgKi8KIAlm b3JfZWFjaF9jcnRjKGRldiwgY3J0YykgewogCQlzdHJ1Y3QgaW50ZWxfZnJhbWVidWZmZXIgKnBs YW5lX2ZiID0KLS0gCjIuMS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lu dGVsLWdmeAo=