From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gustavo Padovan Subject: [PATCH 05/29] drm/exynos: remove struct exynos_drm_overlay Date: Thu, 18 Dec 2014 11:58:31 -0200 Message-ID: <1418911135-5207-6-git-send-email-gustavo@padovan.org> References: <1418911135-5207-1-git-send-email-gustavo@padovan.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1418911135-5207-1-git-send-email-gustavo@padovan.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: linux-samsung-soc@vger.kernel.org Cc: Gustavo Padovan , dri-devel@lists.freedesktop.org List-Id: linux-samsung-soc@vger.kernel.org RnJvbTogR3VzdGF2byBQYWRvdmFuIDxndXN0YXZvLnBhZG92YW5AY29sbGFib3JhLmNvLnVrPgoK c3RydWN0IGV4eW5vc19kcm1fb3ZlcmxheSBoYXMgbm8gcHJhY3RpY2FsIGFkdmFudGFnZSBub3Ig c2VydmVzIGFzCmltcG9ydGFudCBwaWVjZSBvZiB0aGUgZXh5bm9zIEFQSSBkZXNpZ24uIFRoZSBv bmx5IHBsYWNlIGl0IHdhcyB1c2VkCndhcyBpbnNpZGUgdGhlIHN0cnVjdCBleHlub3NfcGxhbmUg d2hpY2ggd2FzIGp1c3QgY2F1c2luZyBhIGV4dHJhCmFjY2VzcyBvdmVyaGVhZC4gVXNlcnMgaGFk IHRvIGFjY2VzcyB0aGUgb3ZlcmxheSBmaXJzdCBhbmQganVzdCB0aGVuCmdldCB0aGUgcGxhbmUg aW5mb3JtYXRpb24gaXQgY29udGFpbnMuCgpUaGlzIHBhdGNoIG1lcmdlcyBzdHJ1Y3QgZXh5bm9z X2RybV9vdmVybGF5IGludG8gc3RydWN0IGV4eW5vc19wbGFuZS4KSXQgYWxzbyByZW5hbWVzIHN0 cnVjdCBleHlub3NfcGxhbmUgdG8gc3RydWN0IGV4eW5vc19kcm1fcGxhbmUuCgpUaGUgcmF0aW9u YWwgaXMgdG8gY3V0IG9uZSBzdGVwIHRvIGFjY2VzcyBwbGFuZSBpbmZvcm1hdGlvbi4KClNpZ25l ZC1vZmYtYnk6IEd1c3Rhdm8gUGFkb3ZhbiA8Z3VzdGF2by5wYWRvdmFuQGNvbGxhYm9yYS5jby51 az4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fY3J0Yy5oICB8ICAyICst CiBkcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZHJ2LmggICB8IDEwICsrKy0KIGRy aXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9maW1kLmMgIHwgNDQgKysrKysrKystLS0t LS0tLQogZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX3BsYW5lLmMgfCA4NSArKysr KysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5v c19kcm1fdmlkaS5jICB8IDM4ICsrKysrKystLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vZXh5bm9z L2V4eW5vc19taXhlci5jICAgICB8IDUwICsrKysrKysrKy0tLS0tLS0tLQogNiBmaWxlcyBjaGFu Z2VkLCAxMTIgaW5zZXJ0aW9ucygrKSwgMTE3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9jcnRjLmggYi9kcml2ZXJzL2dwdS9kcm0v ZXh5bm9zL2V4eW5vc19kcm1fY3J0Yy5oCmluZGV4IGUzNTNkMzUuLmRiZDQyMjcgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9jcnRjLmgKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2NydGMuaApAQCAtMjQsNyArMjQsNyBAQCB2b2lk IGV4eW5vc19kcm1fY3J0Y19maW5pc2hfcGFnZWZsaXAoc3RydWN0IGRybV9kZXZpY2UgKmRldiwg aW50IHBpcGUpOwogdm9pZCBleHlub3NfZHJtX2NydGNfY29tcGxldGVfc2Nhbm91dChzdHJ1Y3Qg ZHJtX2ZyYW1lYnVmZmVyICpmYik7CiAKIHZvaWQgZXh5bm9zX2RybV9jcnRjX3BsYW5lX21vZGVf c2V0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKLQkJCXN0cnVjdCBleHlub3NfZHJtX292ZXJsYXkg Km92ZXJsYXkpOworCQkJc3RydWN0IGV4eW5vc19kcm1fcGxhbmUgKnBsYW5lKTsKIHZvaWQgZXh5 bm9zX2RybV9jcnRjX3BsYW5lX2NvbW1pdChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsIGludCB6cG9z KTsKIHZvaWQgZXh5bm9zX2RybV9jcnRjX3BsYW5lX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNy dGMsIGludCB6cG9zKTsKIHZvaWQgZXh5bm9zX2RybV9jcnRjX3BsYW5lX2Rpc2FibGUoc3RydWN0 IGRybV9jcnRjICpjcnRjLCBpbnQgenBvcyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v ZXh5bm9zL2V4eW5vc19kcm1fZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19k cm1fZHJ2LmgKaW5kZXggOTg0ZGRiMi4uMTg3ZGRlNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2V4eW5vcy9leHlub3NfZHJtX2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3Mv ZXh5bm9zX2RybV9kcnYuaApAQCAtMjUsNiArMjUsNyBAQAogCiAjZGVmaW5lIHRvX2V4eW5vc19j cnRjKHgpCWNvbnRhaW5lcl9vZih4LCBzdHJ1Y3QgZXh5bm9zX2RybV9jcnRjLFwKIAkJCQlkcm1f Y3J0YykKKyNkZWZpbmUgdG9fZXh5bm9zX3BsYW5lKHgpCWNvbnRhaW5lcl9vZih4LCBzdHJ1Y3Qg ZXh5bm9zX2RybV9wbGFuZSwgYmFzZSkKIAogLyogVGhpcyBlbnVtZXJhdGVzIGRldmljZSB0eXBl LiAqLwogZW51bSBleHlub3NfZHJtX2RldmljZV90eXBlIHsKQEAgLTQ3LDYgKzQ4LDcgQEAgZW51 bSBleHlub3NfZHJtX291dHB1dF90eXBlIHsKIC8qCiAgKiBFeHlub3MgZHJtIGNvbW1vbiBvdmVy bGF5IHN0cnVjdHVyZS4KICAqCisgKiBAYmFzZTogcGxhbmUgb2JqZWN0CiAgKiBAZmJfeDogb2Zm c2V0IHggb24gYSBmcmFtZWJ1ZmZlciB0byBiZSBkaXNwbGF5ZWQuCiAgKgktIHRoZSB1bml0IGlz IHNjcmVlbiBjb29yZGluYXRlcy4KICAqIEBmYl95OiBvZmZzZXQgeSBvbiBhIGZyYW1lYnVmZmVy IHRvIGJlIGRpc3BsYXllZC4KQEAgLTc2LDExICs3OCwxNCBAQCBlbnVtIGV4eW5vc19kcm1fb3V0 cHV0X3R5cGUgewogICogQGxvY2FsX3BhdGg6IGluIGNhc2Ugb2YgbGNkIHR5cGUsIGxvY2FsIHBh dGggbW9kZSBvbiBvciBvZmYuCiAgKiBAdHJhbnNwYXJlbmN5OiB0cmFuc3BhcmVuY3kgb24gb3Ig b2ZmLgogICogQGFjdGl2YXRlZDogYWN0aXZhdGVkIG9yIG5vdC4KKyAqIEBlbmFibGVkOiBlbmFi bGVkIG9yIG5vdC4KICAqCiAgKiB0aGlzIHN0cnVjdHVyZSBpcyBjb21tb24gdG8gZXh5bm9zIFNv QyBhbmQgaXRzIGNvbnRlbnRzIHdvdWxkIGJlIGNvcGllZAogICogdG8gaGFyZHdhcmUgc3BlY2lm aWMgb3ZlcmxheSBpbmZvLgogICovCi1zdHJ1Y3QgZXh5bm9zX2RybV9vdmVybGF5IHsKKworc3Ry dWN0IGV4eW5vc19kcm1fcGxhbmUgeworCXN0cnVjdCBkcm1fcGxhbmUgYmFzZTsKIAl1bnNpZ25l ZCBpbnQgZmJfeDsKIAl1bnNpZ25lZCBpbnQgZmJfeTsKIAl1bnNpZ25lZCBpbnQgZmJfd2lkdGg7 CkBAIC0xMDcsNiArMTEyLDcgQEAgc3RydWN0IGV4eW5vc19kcm1fb3ZlcmxheSB7CiAJYm9vbCBs b2NhbF9wYXRoOjE7CiAJYm9vbCB0cmFuc3BhcmVuY3k6MTsKIAlib29sIGFjdGl2YXRlZDoxOwor CWJvb2wgZW5hYmxlZDoxOwogfTsKIAogLyoKQEAgLTE4OCw3ICsxOTQsNyBAQCBzdHJ1Y3QgZXh5 bm9zX2RybV9tYW5hZ2VyX29wcyB7CiAJdm9pZCAoKmRpc2FibGVfdmJsYW5rKShzdHJ1Y3QgZXh5 bm9zX2RybV9tYW5hZ2VyICptZ3IpOwogCXZvaWQgKCp3YWl0X2Zvcl92YmxhbmspKHN0cnVjdCBl eHlub3NfZHJtX21hbmFnZXIgKm1ncik7CiAJdm9pZCAoKndpbl9tb2RlX3NldCkoc3RydWN0IGV4 eW5vc19kcm1fbWFuYWdlciAqbWdyLAotCQkJCXN0cnVjdCBleHlub3NfZHJtX292ZXJsYXkgKm92 ZXJsYXkpOworCQkJCXN0cnVjdCBleHlub3NfZHJtX3BsYW5lICpwbGFuZSk7CiAJdm9pZCAoKndp bl9jb21taXQpKHN0cnVjdCBleHlub3NfZHJtX21hbmFnZXIgKm1nciwgaW50IHpwb3MpOwogCXZv aWQgKCp3aW5fZW5hYmxlKShzdHJ1Y3QgZXh5bm9zX2RybV9tYW5hZ2VyICptZ3IsIGludCB6cG9z KTsKIAl2b2lkICgqd2luX2Rpc2FibGUpKHN0cnVjdCBleHlub3NfZHJtX21hbmFnZXIgKm1nciwg aW50IHpwb3MpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJt X2ZpbWQuYyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9maW1kLmMKaW5kZXgg YjM3OTE4Mi4uMDhhNzk5NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlu b3NfZHJtX2ZpbWQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZmlt ZC5jCkBAIC01MTksNDQgKzUxOSw0NCBAQCBzdGF0aWMgdm9pZCBmaW1kX2Rpc2FibGVfdmJsYW5r KHN0cnVjdCBleHlub3NfZHJtX21hbmFnZXIgKm1ncikKIH0KIAogc3RhdGljIHZvaWQgZmltZF93 aW5fbW9kZV9zZXQoc3RydWN0IGV4eW5vc19kcm1fbWFuYWdlciAqbWdyLAotCQkJc3RydWN0IGV4 eW5vc19kcm1fb3ZlcmxheSAqb3ZlcmxheSkKKwkJCXN0cnVjdCBleHlub3NfZHJtX3BsYW5lICpw bGFuZSkKIHsKIAlzdHJ1Y3QgZmltZF9jb250ZXh0ICpjdHggPSBtZ3JfdG9fZmltZChtZ3IpOwog CXN0cnVjdCBmaW1kX3dpbl9kYXRhICp3aW5fZGF0YTsKIAlpbnQgd2luOwogCXVuc2lnbmVkIGxv bmcgb2Zmc2V0OwogCi0JaWYgKCFvdmVybGF5KSB7Ci0JCURSTV9FUlJPUigib3ZlcmxheSBpcyBO VUxMXG4iKTsKKwlpZiAoIXBsYW5lKSB7CisJCURSTV9FUlJPUigicGxhbmUgaXMgTlVMTFxuIik7 CiAJCXJldHVybjsKIAl9CiAKLQl3aW4gPSBvdmVybGF5LT56cG9zOworCXdpbiA9IHBsYW5lLT56 cG9zOwogCWlmICh3aW4gPT0gREVGQVVMVF9aUE9TKQogCQl3aW4gPSBjdHgtPmRlZmF1bHRfd2lu OwogCiAJaWYgKHdpbiA8IDAgfHwgd2luID49IFdJTkRPV1NfTlIpCiAJCXJldHVybjsKIAotCW9m ZnNldCA9IG92ZXJsYXktPmZiX3ggKiAob3ZlcmxheS0+YnBwID4+IDMpOwotCW9mZnNldCArPSBv dmVybGF5LT5mYl95ICogb3ZlcmxheS0+cGl0Y2g7CisJb2Zmc2V0ID0gcGxhbmUtPmZiX3ggKiAo cGxhbmUtPmJwcCA+PiAzKTsKKwlvZmZzZXQgKz0gcGxhbmUtPmZiX3kgKiBwbGFuZS0+cGl0Y2g7 CiAKLQlEUk1fREVCVUdfS01TKCJvZmZzZXQgPSAweCVseCwgcGl0Y2ggPSAleFxuIiwgb2Zmc2V0 LCBvdmVybGF5LT5waXRjaCk7CisJRFJNX0RFQlVHX0tNUygib2Zmc2V0ID0gMHglbHgsIHBpdGNo ID0gJXhcbiIsIG9mZnNldCwgcGxhbmUtPnBpdGNoKTsKIAogCXdpbl9kYXRhID0gJmN0eC0+d2lu X2RhdGFbd2luXTsKIAotCXdpbl9kYXRhLT5vZmZzZXRfeCA9IG92ZXJsYXktPmNydGNfeDsKLQl3 aW5fZGF0YS0+b2Zmc2V0X3kgPSBvdmVybGF5LT5jcnRjX3k7Ci0Jd2luX2RhdGEtPm92bF93aWR0 aCA9IG92ZXJsYXktPmNydGNfd2lkdGg7Ci0Jd2luX2RhdGEtPm92bF9oZWlnaHQgPSBvdmVybGF5 LT5jcnRjX2hlaWdodDsKLQl3aW5fZGF0YS0+ZmJfd2lkdGggPSBvdmVybGF5LT5mYl93aWR0aDsK LQl3aW5fZGF0YS0+ZmJfaGVpZ2h0ID0gb3ZlcmxheS0+ZmJfaGVpZ2h0OwotCXdpbl9kYXRhLT5k bWFfYWRkciA9IG92ZXJsYXktPmRtYV9hZGRyWzBdICsgb2Zmc2V0OwotCXdpbl9kYXRhLT5icHAg PSBvdmVybGF5LT5icHA7Ci0Jd2luX2RhdGEtPnBpeGVsX2Zvcm1hdCA9IG92ZXJsYXktPnBpeGVs X2Zvcm1hdDsKLQl3aW5fZGF0YS0+YnVmX29mZnNpemUgPSAob3ZlcmxheS0+ZmJfd2lkdGggLSBv dmVybGF5LT5jcnRjX3dpZHRoKSAqCi0JCQkJKG92ZXJsYXktPmJwcCA+PiAzKTsKLQl3aW5fZGF0 YS0+bGluZV9zaXplID0gb3ZlcmxheS0+Y3J0Y193aWR0aCAqIChvdmVybGF5LT5icHAgPj4gMyk7 CisJd2luX2RhdGEtPm9mZnNldF94ID0gcGxhbmUtPmNydGNfeDsKKwl3aW5fZGF0YS0+b2Zmc2V0 X3kgPSBwbGFuZS0+Y3J0Y195OworCXdpbl9kYXRhLT5vdmxfd2lkdGggPSBwbGFuZS0+Y3J0Y193 aWR0aDsKKwl3aW5fZGF0YS0+b3ZsX2hlaWdodCA9IHBsYW5lLT5jcnRjX2hlaWdodDsKKwl3aW5f ZGF0YS0+ZmJfd2lkdGggPSBwbGFuZS0+ZmJfd2lkdGg7CisJd2luX2RhdGEtPmZiX2hlaWdodCA9 IHBsYW5lLT5mYl9oZWlnaHQ7CisJd2luX2RhdGEtPmRtYV9hZGRyID0gcGxhbmUtPmRtYV9hZGRy WzBdICsgb2Zmc2V0OworCXdpbl9kYXRhLT5icHAgPSBwbGFuZS0+YnBwOworCXdpbl9kYXRhLT5w aXhlbF9mb3JtYXQgPSBwbGFuZS0+cGl4ZWxfZm9ybWF0OworCXdpbl9kYXRhLT5idWZfb2Zmc2l6 ZSA9IChwbGFuZS0+ZmJfd2lkdGggLSBwbGFuZS0+Y3J0Y193aWR0aCkgKgorCQkJCShwbGFuZS0+ YnBwID4+IDMpOworCXdpbl9kYXRhLT5saW5lX3NpemUgPSBwbGFuZS0+Y3J0Y193aWR0aCAqIChw bGFuZS0+YnBwID4+IDMpOwogCiAJRFJNX0RFQlVHX0tNUygib2Zmc2V0X3ggPSAlZCwgb2Zmc2V0 X3kgPSAlZFxuIiwKIAkJCXdpbl9kYXRhLT5vZmZzZXRfeCwgd2luX2RhdGEtPm9mZnNldF95KTsK QEAgLTU2NCw3ICs1NjQsNyBAQCBzdGF0aWMgdm9pZCBmaW1kX3dpbl9tb2RlX3NldChzdHJ1Y3Qg ZXh5bm9zX2RybV9tYW5hZ2VyICptZ3IsCiAJCQl3aW5fZGF0YS0+b3ZsX3dpZHRoLCB3aW5fZGF0 YS0+b3ZsX2hlaWdodCk7CiAJRFJNX0RFQlVHX0tNUygicGFkZHIgPSAweCVseFxuIiwgKHVuc2ln bmVkIGxvbmcpd2luX2RhdGEtPmRtYV9hZGRyKTsKIAlEUk1fREVCVUdfS01TKCJmYl93aWR0aCA9 ICVkLCBjcnRjX3dpZHRoID0gJWRcbiIsCi0JCQlvdmVybGF5LT5mYl93aWR0aCwgb3ZlcmxheS0+ Y3J0Y193aWR0aCk7CisJCQlwbGFuZS0+ZmJfd2lkdGgsIHBsYW5lLT5jcnRjX3dpZHRoKTsKIH0K IAogc3RhdGljIHZvaWQgZmltZF93aW5fc2V0X3BpeGZtdChzdHJ1Y3QgZmltZF9jb250ZXh0ICpj dHgsIHVuc2lnbmVkIGludCB3aW4pCkBAIC02MjQsOCArNjI0LDggQEAgc3RhdGljIHZvaWQgZmlt ZF93aW5fc2V0X3BpeGZtdChzdHJ1Y3QgZmltZF9jb250ZXh0ICpjdHgsIHVuc2lnbmVkIGludCB3 aW4pCiAJLyoKIAkgKiBJbiBjYXNlIG9mIGV4eW5vcywgc2V0dGluZyBkbWEtYnVyc3QgdG8gMTZX b3JkIGNhdXNlcyBwZXJtYW5lbnQKIAkgKiB0ZWFyaW5nIGZvciB2ZXJ5IHNtYWxsIGJ1ZmZlcnMs IGUuZy4gY3Vyc29yIGJ1ZmZlci4gQnVyc3QgTW9kZQotCSAqIHN3aXRjaGluZyB3aGljaCBpcyBi YXNlZCBvbiBvdmVybGF5IHNpemUgaXMgbm90IHJlY29tbWVuZGVkIGFzCi0JICogb3ZlcmxheSBz aXplIHZhcmllcyBhbG90IHRvd2FyZHMgdGhlIGVuZCBvZiB0aGUgc2NyZWVuIGFuZCByYXBpZAor CSAqIHN3aXRjaGluZyB3aGljaCBpcyBiYXNlZCBvbiBwbGFuZSBzaXplIGlzIG5vdCByZWNvbW1l bmRlZCBhcworCSAqIHBsYW5lIHNpemUgdmFyaWVzIGFsb3QgdG93YXJkcyB0aGUgZW5kIG9mIHRo ZSBzY3JlZW4gYW5kIHJhcGlkCiAJICogbW92ZW1lbnQgY2F1c2VzIHVuc3RhYmxlIERNQSB3aGlj aCByZXN1bHRzIGludG8gaW9tbXUgY3Jhc2gvdGVhci4KIAkgKi8KIApkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX3BsYW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0v ZXh5bm9zL2V4eW5vc19kcm1fcGxhbmUuYwppbmRleCA3ZDc2ODYxLi44NDNmNzQxIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fcGxhbmUuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fcGxhbmUuYwpAQCAtMTgsMTQgKzE4LDYgQEAK ICNpbmNsdWRlICJleHlub3NfZHJtX2dlbS5oIgogI2luY2x1ZGUgImV4eW5vc19kcm1fcGxhbmUu aCIKIAotI2RlZmluZSB0b19leHlub3NfcGxhbmUoeCkJY29udGFpbmVyX29mKHgsIHN0cnVjdCBl eHlub3NfcGxhbmUsIGJhc2UpCi0KLXN0cnVjdCBleHlub3NfcGxhbmUgewotCXN0cnVjdCBkcm1f cGxhbmUJCWJhc2U7Ci0Jc3RydWN0IGV4eW5vc19kcm1fb3ZlcmxheQlvdmVybGF5OwotCWJvb2wJ CQkJZW5hYmxlZDsKLX07Ci0KIHN0YXRpYyBjb25zdCB1aW50MzJfdCBmb3JtYXRzW10gPSB7CiAJ RFJNX0ZPUk1BVF9YUkdCODg4OCwKIAlEUk1fRk9STUFUX0FSR0I4ODg4LApAQCAtNzUsOSArNjcs OCBAQCBpbnQgZXh5bm9zX3BsYW5lX21vZGVfc2V0KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLCBz dHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJCQkgIHVpbnQzMl90IHNyY194LCB1aW50MzJfdCBzcmNf eSwKIAkJCSAgdWludDMyX3Qgc3JjX3csIHVpbnQzMl90IHNyY19oKQogewotCXN0cnVjdCBleHlu b3NfcGxhbmUgKmV4eW5vc19wbGFuZSA9IHRvX2V4eW5vc19wbGFuZShwbGFuZSk7CisJc3RydWN0 IGV4eW5vc19kcm1fcGxhbmUgKmV4eW5vc19wbGFuZSA9IHRvX2V4eW5vc19wbGFuZShwbGFuZSk7 CiAJc3RydWN0IGV4eW5vc19kcm1fbWFuYWdlciAqbWFuYWdlciA9IHRvX2V4eW5vc19jcnRjKGNy dGMpLT5tYW5hZ2VyOwotCXN0cnVjdCBleHlub3NfZHJtX292ZXJsYXkgKm92ZXJsYXkgPSAmZXh5 bm9zX3BsYW5lLT5vdmVybGF5OwogCXVuc2lnbmVkIGludCBhY3R1YWxfdzsKIAl1bnNpZ25lZCBp bnQgYWN0dWFsX2g7CiAJaW50IG5yOwpAQCAtOTIsMTAgKzgzLDEwIEBAIGludCBleHlub3NfcGxh bmVfbW9kZV9zZXQoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsIHN0cnVjdCBkcm1fY3J0YyAqY3J0 YywKIAkJCXJldHVybiAtRUZBVUxUOwogCQl9CiAKLQkJb3ZlcmxheS0+ZG1hX2FkZHJbaV0gPSBi dWZmZXItPmRtYV9hZGRyOworCQlleHlub3NfcGxhbmUtPmRtYV9hZGRyW2ldID0gYnVmZmVyLT5k bWFfYWRkcjsKIAogCQlEUk1fREVCVUdfS01TKCJidWZmZXI6ICVkLCBkbWFfYWRkciA9IDB4JWx4 XG4iLAotCQkJCWksICh1bnNpZ25lZCBsb25nKW92ZXJsYXktPmRtYV9hZGRyW2ldKTsKKwkJCQlp LCAodW5zaWduZWQgbG9uZylleHlub3NfcGxhbmUtPmRtYV9hZGRyW2ldKTsKIAl9CiAKIAlhY3R1 YWxfdyA9IGV4eW5vc19wbGFuZV9nZXRfc2l6ZShjcnRjX3gsIGNydGNfdywgY3J0Yy0+bW9kZS5o ZGlzcGxheSk7CkBAIC0xMTQsNTQgKzEwNSw1MiBAQCBpbnQgZXh5bm9zX3BsYW5lX21vZGVfc2V0 KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJfQogCiAJ Lyogc2V0IGRybSBmcmFtZWJ1ZmZlciBkYXRhLiAqLwotCW92ZXJsYXktPmZiX3ggPSBzcmNfeDsK LQlvdmVybGF5LT5mYl95ID0gc3JjX3k7Ci0Jb3ZlcmxheS0+ZmJfd2lkdGggPSBmYi0+d2lkdGg7 Ci0Jb3ZlcmxheS0+ZmJfaGVpZ2h0ID0gZmItPmhlaWdodDsKLQlvdmVybGF5LT5zcmNfd2lkdGgg PSBzcmNfdzsKLQlvdmVybGF5LT5zcmNfaGVpZ2h0ID0gc3JjX2g7Ci0Jb3ZlcmxheS0+YnBwID0g ZmItPmJpdHNfcGVyX3BpeGVsOwotCW92ZXJsYXktPnBpdGNoID0gZmItPnBpdGNoZXNbMF07Ci0J b3ZlcmxheS0+cGl4ZWxfZm9ybWF0ID0gZmItPnBpeGVsX2Zvcm1hdDsKLQotCS8qIHNldCBvdmVy bGF5IHJhbmdlIHRvIGJlIGRpc3BsYXllZC4gKi8KLQlvdmVybGF5LT5jcnRjX3ggPSBjcnRjX3g7 Ci0Jb3ZlcmxheS0+Y3J0Y195ID0gY3J0Y195OwotCW92ZXJsYXktPmNydGNfd2lkdGggPSBhY3R1 YWxfdzsKLQlvdmVybGF5LT5jcnRjX2hlaWdodCA9IGFjdHVhbF9oOworCWV4eW5vc19wbGFuZS0+ ZmJfeCA9IHNyY194OworCWV4eW5vc19wbGFuZS0+ZmJfeSA9IHNyY195OworCWV4eW5vc19wbGFu ZS0+ZmJfd2lkdGggPSBmYi0+d2lkdGg7CisJZXh5bm9zX3BsYW5lLT5mYl9oZWlnaHQgPSBmYi0+ aGVpZ2h0OworCWV4eW5vc19wbGFuZS0+c3JjX3dpZHRoID0gc3JjX3c7CisJZXh5bm9zX3BsYW5l LT5zcmNfaGVpZ2h0ID0gc3JjX2g7CisJZXh5bm9zX3BsYW5lLT5icHAgPSBmYi0+Yml0c19wZXJf cGl4ZWw7CisJZXh5bm9zX3BsYW5lLT5waXRjaCA9IGZiLT5waXRjaGVzWzBdOworCWV4eW5vc19w bGFuZS0+cGl4ZWxfZm9ybWF0ID0gZmItPnBpeGVsX2Zvcm1hdDsKKworCS8qIHNldCBwbGFuZSBy YW5nZSB0byBiZSBkaXNwbGF5ZWQuICovCisJZXh5bm9zX3BsYW5lLT5jcnRjX3ggPSBjcnRjX3g7 CisJZXh5bm9zX3BsYW5lLT5jcnRjX3kgPSBjcnRjX3k7CisJZXh5bm9zX3BsYW5lLT5jcnRjX3dp ZHRoID0gYWN0dWFsX3c7CisJZXh5bm9zX3BsYW5lLT5jcnRjX2hlaWdodCA9IGFjdHVhbF9oOwog CiAJLyogc2V0IGRybSBtb2RlIGRhdGEuICovCi0Jb3ZlcmxheS0+bW9kZV93aWR0aCA9IGNydGMt Pm1vZGUuaGRpc3BsYXk7Ci0Jb3ZlcmxheS0+bW9kZV9oZWlnaHQgPSBjcnRjLT5tb2RlLnZkaXNw bGF5OwotCW92ZXJsYXktPnJlZnJlc2ggPSBjcnRjLT5tb2RlLnZyZWZyZXNoOwotCW92ZXJsYXkt PnNjYW5fZmxhZyA9IGNydGMtPm1vZGUuZmxhZ3M7CisJZXh5bm9zX3BsYW5lLT5tb2RlX3dpZHRo ID0gY3J0Yy0+bW9kZS5oZGlzcGxheTsKKwlleHlub3NfcGxhbmUtPm1vZGVfaGVpZ2h0ID0gY3J0 Yy0+bW9kZS52ZGlzcGxheTsKKwlleHlub3NfcGxhbmUtPnJlZnJlc2ggPSBjcnRjLT5tb2RlLnZy ZWZyZXNoOworCWV4eW5vc19wbGFuZS0+c2Nhbl9mbGFnID0gY3J0Yy0+bW9kZS5mbGFnczsKIAot CURSTV9ERUJVR19LTVMoIm92ZXJsYXkgOiBvZmZzZXRfeC95KCVkLCVkKSwgd2lkdGgvaGVpZ2h0 KCVkLCVkKSIsCi0JCQlvdmVybGF5LT5jcnRjX3gsIG92ZXJsYXktPmNydGNfeSwKLQkJCW92ZXJs YXktPmNydGNfd2lkdGgsIG92ZXJsYXktPmNydGNfaGVpZ2h0KTsKKwlEUk1fREVCVUdfS01TKCJw bGFuZSA6IG9mZnNldF94L3koJWQsJWQpLCB3aWR0aC9oZWlnaHQoJWQsJWQpIiwKKwkJCWV4eW5v c19wbGFuZS0+Y3J0Y194LCBleHlub3NfcGxhbmUtPmNydGNfeSwKKwkJCWV4eW5vc19wbGFuZS0+ Y3J0Y193aWR0aCwgZXh5bm9zX3BsYW5lLT5jcnRjX2hlaWdodCk7CiAKIAlwbGFuZS0+Y3J0YyA9 IGNydGM7CiAKIAlpZiAobWFuYWdlci0+b3BzLT53aW5fbW9kZV9zZXQpCi0JCW1hbmFnZXItPm9w cy0+d2luX21vZGVfc2V0KG1hbmFnZXIsIG92ZXJsYXkpOworCQltYW5hZ2VyLT5vcHMtPndpbl9t b2RlX3NldChtYW5hZ2VyLCBleHlub3NfcGxhbmUpOwogCiAJcmV0dXJuIDA7CiB9CiAKIHZvaWQg ZXh5bm9zX3BsYW5lX2NvbW1pdChzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkKIHsKLQlzdHJ1Y3Qg ZXh5bm9zX3BsYW5lICpleHlub3NfcGxhbmUgPSB0b19leHlub3NfcGxhbmUocGxhbmUpOwotCXN0 cnVjdCBleHlub3NfZHJtX292ZXJsYXkgKm92ZXJsYXkgPSAmZXh5bm9zX3BsYW5lLT5vdmVybGF5 OworCXN0cnVjdCBleHlub3NfZHJtX3BsYW5lICpleHlub3NfcGxhbmUgPSB0b19leHlub3NfcGxh bmUocGxhbmUpOwogCXN0cnVjdCBleHlub3NfZHJtX21hbmFnZXIgKm1hbmFnZXIgPSB0b19leHlu b3NfY3J0YyhwbGFuZS0+Y3J0YyktPm1hbmFnZXI7CiAKIAlpZiAobWFuYWdlci0+b3BzLT53aW5f Y29tbWl0KQotCQltYW5hZ2VyLT5vcHMtPndpbl9jb21taXQobWFuYWdlciwgb3ZlcmxheS0+enBv cyk7CisJCW1hbmFnZXItPm9wcy0+d2luX2NvbW1pdChtYW5hZ2VyLCBleHlub3NfcGxhbmUtPnpw b3MpOwogfQogCiB2b2lkIGV4eW5vc19wbGFuZV9kcG1zKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5l LCBpbnQgbW9kZSkKIHsKLQlzdHJ1Y3QgZXh5bm9zX3BsYW5lICpleHlub3NfcGxhbmUgPSB0b19l eHlub3NfcGxhbmUocGxhbmUpOwotCXN0cnVjdCBleHlub3NfZHJtX292ZXJsYXkgKm92ZXJsYXkg PSAmZXh5bm9zX3BsYW5lLT5vdmVybGF5OworCXN0cnVjdCBleHlub3NfZHJtX3BsYW5lICpleHlu b3NfcGxhbmUgPSB0b19leHlub3NfcGxhbmUocGxhbmUpOwogCXN0cnVjdCBleHlub3NfZHJtX21h bmFnZXIgKm1hbmFnZXI7CiAKIAlpZiAobW9kZSA9PSBEUk1fTU9ERV9EUE1TX09OKSB7CkBAIC0x NzAsNyArMTU5LDcgQEAgdm9pZCBleHlub3NfcGxhbmVfZHBtcyhzdHJ1Y3QgZHJtX3BsYW5lICpw bGFuZSwgaW50IG1vZGUpCiAKIAkJbWFuYWdlciA9IHRvX2V4eW5vc19jcnRjKHBsYW5lLT5jcnRj KS0+bWFuYWdlcjsKIAkJaWYgKG1hbmFnZXItPm9wcy0+d2luX2VuYWJsZSkKLQkJCW1hbmFnZXIt Pm9wcy0+d2luX2VuYWJsZShtYW5hZ2VyLCBvdmVybGF5LT56cG9zKTsKKwkJCW1hbmFnZXItPm9w cy0+d2luX2VuYWJsZShtYW5hZ2VyLCBleHlub3NfcGxhbmUtPnpwb3MpOwogCiAJCWV4eW5vc19w bGFuZS0+ZW5hYmxlZCA9IHRydWU7CiAJfSBlbHNlIHsKQEAgLTE3OSw3ICsxNjgsNyBAQCB2b2lk IGV4eW5vc19wbGFuZV9kcG1zKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLCBpbnQgbW9kZSkKIAog CQltYW5hZ2VyID0gdG9fZXh5bm9zX2NydGMocGxhbmUtPmNydGMpLT5tYW5hZ2VyOwogCQlpZiAo bWFuYWdlci0+b3BzLT53aW5fZGlzYWJsZSkKLQkJCW1hbmFnZXItPm9wcy0+d2luX2Rpc2FibGUo bWFuYWdlciwgb3ZlcmxheS0+enBvcyk7CisJCQltYW5hZ2VyLT5vcHMtPndpbl9kaXNhYmxlKG1h bmFnZXIsIGV4eW5vc19wbGFuZS0+enBvcyk7CiAKIAkJZXh5bm9zX3BsYW5lLT5lbmFibGVkID0g ZmFsc2U7CiAJfQpAQCAtMjE1LDcgKzIwNCw3IEBAIHN0YXRpYyBpbnQgZXh5bm9zX2Rpc2FibGVf cGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpCiAKIHN0YXRpYyB2b2lkIGV4eW5vc19wbGFu ZV9kZXN0cm95KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lKQogewotCXN0cnVjdCBleHlub3NfcGxh bmUgKmV4eW5vc19wbGFuZSA9IHRvX2V4eW5vc19wbGFuZShwbGFuZSk7CisJc3RydWN0IGV4eW5v c19kcm1fcGxhbmUgKmV4eW5vc19wbGFuZSA9IHRvX2V4eW5vc19wbGFuZShwbGFuZSk7CiAKIAll eHlub3NfZGlzYWJsZV9wbGFuZShwbGFuZSk7CiAJZHJtX3BsYW5lX2NsZWFudXAocGxhbmUpOwpA QCAtMjI3LDExICsyMTYsMTEgQEAgc3RhdGljIGludCBleHlub3NfcGxhbmVfc2V0X3Byb3BlcnR5 KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCQkJCSAgICAgdWludDY0X3QgdmFsKQogewogCXN0 cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBwbGFuZS0+ZGV2OwotCXN0cnVjdCBleHlub3NfcGxhbmUg KmV4eW5vc19wbGFuZSA9IHRvX2V4eW5vc19wbGFuZShwbGFuZSk7CisJc3RydWN0IGV4eW5vc19k cm1fcGxhbmUgKmV4eW5vc19wbGFuZSA9IHRvX2V4eW5vc19wbGFuZShwbGFuZSk7CiAJc3RydWN0 IGV4eW5vc19kcm1fcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwogCiAJaWYg KHByb3BlcnR5ID09IGRldl9wcml2LT5wbGFuZV96cG9zX3Byb3BlcnR5KSB7Ci0JCWV4eW5vc19w bGFuZS0+b3ZlcmxheS56cG9zID0gdmFsOworCQlleHlub3NfcGxhbmUtPnpwb3MgPSB2YWw7CiAJ CXJldHVybiAwOwogCX0KIApAQCAtMjY4LDEwICsyNTcsMTAgQEAgc3RydWN0IGRybV9wbGFuZSAq ZXh5bm9zX3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCQkgICAgdW5zaWdu ZWQgbG9uZyBwb3NzaWJsZV9jcnRjcywKIAkJCQkgICAgZW51bSBkcm1fcGxhbmVfdHlwZSB0eXBl KQogewotCXN0cnVjdCBleHlub3NfcGxhbmUgKmV4eW5vc19wbGFuZTsKKwlzdHJ1Y3QgZXh5bm9z X2RybV9wbGFuZSAqZXh5bm9zX3BsYW5lOwogCWludCBlcnI7CiAKLQlleHlub3NfcGxhbmUgPSBr emFsbG9jKHNpemVvZihzdHJ1Y3QgZXh5bm9zX3BsYW5lKSwgR0ZQX0tFUk5FTCk7CisJZXh5bm9z X3BsYW5lID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGV4eW5vc19kcm1fcGxhbmUpLCBHRlBfS0VS TkVMKTsKIAlpZiAoIWV4eW5vc19wbGFuZSkKIAkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7CiAK QEAgLTI4NSw3ICsyNzQsNyBAQCBzdHJ1Y3QgZHJtX3BsYW5lICpleHlub3NfcGxhbmVfaW5pdChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCX0KIAogCWlmICh0eXBlID09IERSTV9QTEFORV9UWVBF X1BSSU1BUlkpCi0JCWV4eW5vc19wbGFuZS0+b3ZlcmxheS56cG9zID0gREVGQVVMVF9aUE9TOwor CQlleHlub3NfcGxhbmUtPnpwb3MgPSBERUZBVUxUX1pQT1M7CiAJZWxzZQogCQlleHlub3NfcGxh bmVfYXR0YWNoX3pwb3NfcHJvcGVydHkoJmV4eW5vc19wbGFuZS0+YmFzZSk7CiAKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV92aWRpLmMgYi9kcml2ZXJzL2dw dS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fdmlkaS5jCmluZGV4IDQ1ODk5ZmIuLmZmMTk0YmUgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV92aWRpLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX3ZpZGkuYwpAQCAtMTYyLDQzICsxNjIs NDMgQEAgc3RhdGljIHZvaWQgdmlkaV9kaXNhYmxlX3ZibGFuayhzdHJ1Y3QgZXh5bm9zX2RybV9t YW5hZ2VyICptZ3IpCiB9CiAKIHN0YXRpYyB2b2lkIHZpZGlfd2luX21vZGVfc2V0KHN0cnVjdCBl eHlub3NfZHJtX21hbmFnZXIgKm1nciwKLQkJCXN0cnVjdCBleHlub3NfZHJtX292ZXJsYXkgKm92 ZXJsYXkpCisJCQlzdHJ1Y3QgZXh5bm9zX2RybV9wbGFuZSAqcGxhbmUpCiB7CiAJc3RydWN0IHZp ZGlfY29udGV4dCAqY3R4ID0gbWFuYWdlcl90b192aWRpKG1ncik7CiAJc3RydWN0IHZpZGlfd2lu X2RhdGEgKndpbl9kYXRhOwogCWludCB3aW47CiAJdW5zaWduZWQgbG9uZyBvZmZzZXQ7CiAKLQlp ZiAoIW92ZXJsYXkpIHsKLQkJRFJNX0VSUk9SKCJvdmVybGF5IGlzIE5VTExcbiIpOworCWlmICgh cGxhbmUpIHsKKwkJRFJNX0VSUk9SKCJwbGFuZSBpcyBOVUxMXG4iKTsKIAkJcmV0dXJuOwogCX0K IAotCXdpbiA9IG92ZXJsYXktPnpwb3M7CisJd2luID0gcGxhbmUtPnpwb3M7CiAJaWYgKHdpbiA9 PSBERUZBVUxUX1pQT1MpCiAJCXdpbiA9IGN0eC0+ZGVmYXVsdF93aW47CiAKIAlpZiAod2luIDwg MCB8fCB3aW4gPj0gV0lORE9XU19OUikKIAkJcmV0dXJuOwogCi0Jb2Zmc2V0ID0gb3ZlcmxheS0+ ZmJfeCAqIChvdmVybGF5LT5icHAgPj4gMyk7Ci0Jb2Zmc2V0ICs9IG92ZXJsYXktPmZiX3kgKiBv dmVybGF5LT5waXRjaDsKKwlvZmZzZXQgPSBwbGFuZS0+ZmJfeCAqIChwbGFuZS0+YnBwID4+IDMp OworCW9mZnNldCArPSBwbGFuZS0+ZmJfeSAqIHBsYW5lLT5waXRjaDsKIAotCURSTV9ERUJVR19L TVMoIm9mZnNldCA9IDB4JWx4LCBwaXRjaCA9ICV4XG4iLCBvZmZzZXQsIG92ZXJsYXktPnBpdGNo KTsKKwlEUk1fREVCVUdfS01TKCJvZmZzZXQgPSAweCVseCwgcGl0Y2ggPSAleFxuIiwgb2Zmc2V0 LCBwbGFuZS0+cGl0Y2gpOwogCiAJd2luX2RhdGEgPSAmY3R4LT53aW5fZGF0YVt3aW5dOwogCi0J d2luX2RhdGEtPm9mZnNldF94ID0gb3ZlcmxheS0+Y3J0Y194OwotCXdpbl9kYXRhLT5vZmZzZXRf eSA9IG92ZXJsYXktPmNydGNfeTsKLQl3aW5fZGF0YS0+b3ZsX3dpZHRoID0gb3ZlcmxheS0+Y3J0 Y193aWR0aDsKLQl3aW5fZGF0YS0+b3ZsX2hlaWdodCA9IG92ZXJsYXktPmNydGNfaGVpZ2h0Owot CXdpbl9kYXRhLT5mYl93aWR0aCA9IG92ZXJsYXktPmZiX3dpZHRoOwotCXdpbl9kYXRhLT5mYl9o ZWlnaHQgPSBvdmVybGF5LT5mYl9oZWlnaHQ7Ci0Jd2luX2RhdGEtPmRtYV9hZGRyID0gb3Zlcmxh eS0+ZG1hX2FkZHJbMF0gKyBvZmZzZXQ7Ci0Jd2luX2RhdGEtPmJwcCA9IG92ZXJsYXktPmJwcDsK LQl3aW5fZGF0YS0+YnVmX29mZnNpemUgPSAob3ZlcmxheS0+ZmJfd2lkdGggLSBvdmVybGF5LT5j cnRjX3dpZHRoKSAqCi0JCQkJKG92ZXJsYXktPmJwcCA+PiAzKTsKLQl3aW5fZGF0YS0+bGluZV9z aXplID0gb3ZlcmxheS0+Y3J0Y193aWR0aCAqIChvdmVybGF5LT5icHAgPj4gMyk7CisJd2luX2Rh dGEtPm9mZnNldF94ID0gcGxhbmUtPmNydGNfeDsKKwl3aW5fZGF0YS0+b2Zmc2V0X3kgPSBwbGFu ZS0+Y3J0Y195OworCXdpbl9kYXRhLT5vdmxfd2lkdGggPSBwbGFuZS0+Y3J0Y193aWR0aDsKKwl3 aW5fZGF0YS0+b3ZsX2hlaWdodCA9IHBsYW5lLT5jcnRjX2hlaWdodDsKKwl3aW5fZGF0YS0+ZmJf d2lkdGggPSBwbGFuZS0+ZmJfd2lkdGg7CisJd2luX2RhdGEtPmZiX2hlaWdodCA9IHBsYW5lLT5m Yl9oZWlnaHQ7CisJd2luX2RhdGEtPmRtYV9hZGRyID0gcGxhbmUtPmRtYV9hZGRyWzBdICsgb2Zm c2V0OworCXdpbl9kYXRhLT5icHAgPSBwbGFuZS0+YnBwOworCXdpbl9kYXRhLT5idWZfb2Zmc2l6 ZSA9IChwbGFuZS0+ZmJfd2lkdGggLSBwbGFuZS0+Y3J0Y193aWR0aCkgKgorCQkJCShwbGFuZS0+ YnBwID4+IDMpOworCXdpbl9kYXRhLT5saW5lX3NpemUgPSBwbGFuZS0+Y3J0Y193aWR0aCAqIChw bGFuZS0+YnBwID4+IDMpOwogCiAJLyoKIAkgKiBzb21lIHBhcnRzIG9mIHdpbl9kYXRhIHNob3Vs ZCBiZSB0cmFuc2ZlcnJlZCB0byB1c2VyIHNpZGUKQEAgLTIxMSw3ICsyMTEsNyBAQCBzdGF0aWMg dm9pZCB2aWRpX3dpbl9tb2RlX3NldChzdHJ1Y3QgZXh5bm9zX2RybV9tYW5hZ2VyICptZ3IsCiAJ CQl3aW5fZGF0YS0+b3ZsX3dpZHRoLCB3aW5fZGF0YS0+b3ZsX2hlaWdodCk7CiAJRFJNX0RFQlVH X0tNUygicGFkZHIgPSAweCVseFxuIiwgKHVuc2lnbmVkIGxvbmcpd2luX2RhdGEtPmRtYV9hZGRy KTsKIAlEUk1fREVCVUdfS01TKCJmYl93aWR0aCA9ICVkLCBjcnRjX3dpZHRoID0gJWRcbiIsCi0J CQlvdmVybGF5LT5mYl93aWR0aCwgb3ZlcmxheS0+Y3J0Y193aWR0aCk7CisJCQlwbGFuZS0+ZmJf d2lkdGgsIHBsYW5lLT5jcnRjX3dpZHRoKTsKIH0KIAogc3RhdGljIHZvaWQgdmlkaV93aW5fY29t bWl0KHN0cnVjdCBleHlub3NfZHJtX21hbmFnZXIgKm1nciwgaW50IHpwb3MpCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19taXhlci5jIGIvZHJpdmVycy9ncHUvZHJt L2V4eW5vcy9leHlub3NfbWl4ZXIuYwppbmRleCA4MjBiNzYyLi5iNjQ2NzRhIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19taXhlci5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9leHlub3MvZXh5bm9zX21peGVyLmMKQEAgLTkyMiwyNCArOTIyLDI0IEBAIHN0YXRpYyB2 b2lkIG1peGVyX2Rpc2FibGVfdmJsYW5rKHN0cnVjdCBleHlub3NfZHJtX21hbmFnZXIgKm1ncikK IH0KIAogc3RhdGljIHZvaWQgbWl4ZXJfd2luX21vZGVfc2V0KHN0cnVjdCBleHlub3NfZHJtX21h bmFnZXIgKm1nciwKLQkJCXN0cnVjdCBleHlub3NfZHJtX292ZXJsYXkgKm92ZXJsYXkpCisJCQlz dHJ1Y3QgZXh5bm9zX2RybV9wbGFuZSAqcGxhbmUpCiB7CiAJc3RydWN0IG1peGVyX2NvbnRleHQg Km1peGVyX2N0eCA9IG1ncl90b19taXhlcihtZ3IpOwogCXN0cnVjdCBoZG1pX3dpbl9kYXRhICp3 aW5fZGF0YTsKIAlpbnQgd2luOwogCi0JaWYgKCFvdmVybGF5KSB7Ci0JCURSTV9FUlJPUigib3Zl cmxheSBpcyBOVUxMXG4iKTsKKwlpZiAoIXBsYW5lKSB7CisJCURSTV9FUlJPUigicGxhbmUgaXMg TlVMTFxuIik7CiAJCXJldHVybjsKIAl9CiAKIAlEUk1fREVCVUdfS01TKCJzZXQgWyVkXXhbJWRd IGF0ICglZCwlZCkgdG8gWyVkXXhbJWRdIGF0ICglZCwlZClcbiIsCi0JCQkJIG92ZXJsYXktPmZi X3dpZHRoLCBvdmVybGF5LT5mYl9oZWlnaHQsCi0JCQkJIG92ZXJsYXktPmZiX3gsIG92ZXJsYXkt PmZiX3ksCi0JCQkJIG92ZXJsYXktPmNydGNfd2lkdGgsIG92ZXJsYXktPmNydGNfaGVpZ2h0LAot CQkJCSBvdmVybGF5LT5jcnRjX3gsIG92ZXJsYXktPmNydGNfeSk7CisJCQkJIHBsYW5lLT5mYl93 aWR0aCwgcGxhbmUtPmZiX2hlaWdodCwKKwkJCQkgcGxhbmUtPmZiX3gsIHBsYW5lLT5mYl95LAor CQkJCSBwbGFuZS0+Y3J0Y193aWR0aCwgcGxhbmUtPmNydGNfaGVpZ2h0LAorCQkJCSBwbGFuZS0+ Y3J0Y194LCBwbGFuZS0+Y3J0Y195KTsKIAotCXdpbiA9IG92ZXJsYXktPnpwb3M7CisJd2luID0g cGxhbmUtPnpwb3M7CiAJaWYgKHdpbiA9PSBERUZBVUxUX1pQT1MpCiAJCXdpbiA9IE1JWEVSX0RF RkFVTFRfV0lOOwogCkBAIC05NTAsMjcgKzk1MCwyNyBAQCBzdGF0aWMgdm9pZCBtaXhlcl93aW5f bW9kZV9zZXQoc3RydWN0IGV4eW5vc19kcm1fbWFuYWdlciAqbWdyLAogCiAJd2luX2RhdGEgPSAm bWl4ZXJfY3R4LT53aW5fZGF0YVt3aW5dOwogCi0Jd2luX2RhdGEtPmRtYV9hZGRyID0gb3Zlcmxh eS0+ZG1hX2FkZHJbMF07Ci0Jd2luX2RhdGEtPmNocm9tYV9kbWFfYWRkciA9IG92ZXJsYXktPmRt YV9hZGRyWzFdOwotCXdpbl9kYXRhLT5waXhlbF9mb3JtYXQgPSBvdmVybGF5LT5waXhlbF9mb3Jt YXQ7Ci0Jd2luX2RhdGEtPmJwcCA9IG92ZXJsYXktPmJwcDsKKwl3aW5fZGF0YS0+ZG1hX2FkZHIg PSBwbGFuZS0+ZG1hX2FkZHJbMF07CisJd2luX2RhdGEtPmNocm9tYV9kbWFfYWRkciA9IHBsYW5l LT5kbWFfYWRkclsxXTsKKwl3aW5fZGF0YS0+cGl4ZWxfZm9ybWF0ID0gcGxhbmUtPnBpeGVsX2Zv cm1hdDsKKwl3aW5fZGF0YS0+YnBwID0gcGxhbmUtPmJwcDsKIAotCXdpbl9kYXRhLT5jcnRjX3gg PSBvdmVybGF5LT5jcnRjX3g7Ci0Jd2luX2RhdGEtPmNydGNfeSA9IG92ZXJsYXktPmNydGNfeTsK LQl3aW5fZGF0YS0+Y3J0Y193aWR0aCA9IG92ZXJsYXktPmNydGNfd2lkdGg7Ci0Jd2luX2RhdGEt PmNydGNfaGVpZ2h0ID0gb3ZlcmxheS0+Y3J0Y19oZWlnaHQ7CisJd2luX2RhdGEtPmNydGNfeCA9 IHBsYW5lLT5jcnRjX3g7CisJd2luX2RhdGEtPmNydGNfeSA9IHBsYW5lLT5jcnRjX3k7CisJd2lu X2RhdGEtPmNydGNfd2lkdGggPSBwbGFuZS0+Y3J0Y193aWR0aDsKKwl3aW5fZGF0YS0+Y3J0Y19o ZWlnaHQgPSBwbGFuZS0+Y3J0Y19oZWlnaHQ7CiAKLQl3aW5fZGF0YS0+ZmJfeCA9IG92ZXJsYXkt PmZiX3g7Ci0Jd2luX2RhdGEtPmZiX3kgPSBvdmVybGF5LT5mYl95OwotCXdpbl9kYXRhLT5mYl93 aWR0aCA9IG92ZXJsYXktPmZiX3dpZHRoOwotCXdpbl9kYXRhLT5mYl9oZWlnaHQgPSBvdmVybGF5 LT5mYl9oZWlnaHQ7Ci0Jd2luX2RhdGEtPnNyY193aWR0aCA9IG92ZXJsYXktPnNyY193aWR0aDsK LQl3aW5fZGF0YS0+c3JjX2hlaWdodCA9IG92ZXJsYXktPnNyY19oZWlnaHQ7CisJd2luX2RhdGEt PmZiX3ggPSBwbGFuZS0+ZmJfeDsKKwl3aW5fZGF0YS0+ZmJfeSA9IHBsYW5lLT5mYl95OworCXdp bl9kYXRhLT5mYl93aWR0aCA9IHBsYW5lLT5mYl93aWR0aDsKKwl3aW5fZGF0YS0+ZmJfaGVpZ2h0 ID0gcGxhbmUtPmZiX2hlaWdodDsKKwl3aW5fZGF0YS0+c3JjX3dpZHRoID0gcGxhbmUtPnNyY193 aWR0aDsKKwl3aW5fZGF0YS0+c3JjX2hlaWdodCA9IHBsYW5lLT5zcmNfaGVpZ2h0OwogCi0Jd2lu X2RhdGEtPm1vZGVfd2lkdGggPSBvdmVybGF5LT5tb2RlX3dpZHRoOwotCXdpbl9kYXRhLT5tb2Rl X2hlaWdodCA9IG92ZXJsYXktPm1vZGVfaGVpZ2h0OworCXdpbl9kYXRhLT5tb2RlX3dpZHRoID0g cGxhbmUtPm1vZGVfd2lkdGg7CisJd2luX2RhdGEtPm1vZGVfaGVpZ2h0ID0gcGxhbmUtPm1vZGVf aGVpZ2h0OwogCi0Jd2luX2RhdGEtPnNjYW5fZmxhZ3MgPSBvdmVybGF5LT5zY2FuX2ZsYWc7CisJ d2luX2RhdGEtPnNjYW5fZmxhZ3MgPSBwbGFuZS0+c2Nhbl9mbGFnOwogfQogCiBzdGF0aWMgdm9p ZCBtaXhlcl93aW5fY29tbWl0KHN0cnVjdCBleHlub3NfZHJtX21hbmFnZXIgKm1nciwgaW50IHpw b3MpCi0tIAoxLjkuMwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2 ZWwK