From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Christian=20K=C3=B6nig?= Subject: [PATCH 2/3] drm/radeon: add readonly flag to radeon_gart_set_page Date: Wed, 9 Jul 2014 20:15:43 +0200 Message-ID: <1404929744-8630-2-git-send-email-deathsimple@vodafone.de> References: <1404929744-8630-1-git-send-email-deathsimple@vodafone.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from pegasos-out.vodafone.de (pegasos-out.vodafone.de [80.84.1.38]) by gabe.freedesktop.org (Postfix) with ESMTP id 39B7D6E703 for ; Wed, 9 Jul 2014 11:15:59 -0700 (PDT) Received: from localhost (localhost.localdomain [127.0.0.1]) by pegasos-out.vodafone.de (Rohrpostix2 Daemon) with ESMTP id 154B2706626 for ; Wed, 9 Jul 2014 20:15:58 +0200 (CEST) Received: from pegasos-out.vodafone.de ([127.0.0.1]) by localhost (rohrpostix2.prod.vfnet.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id hUqP+1MhWa2Q for ; Wed, 9 Jul 2014 20:15:52 +0200 (CEST) Received: from smtp-05.vodafone.de (xsmail-dmz2.prod.vfnet.de [10.215.254.33]) by pegasos-out.vodafone.de (Rohrpostix2 Daemon) with ESMTP id 31237706623 for ; Wed, 9 Jul 2014 20:15:52 +0200 (CEST) Received: from smtp-05.vodafone.de ([127.0.0.1]) by localhost (xsmail-dmz2.prod.vfnet.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id BjOtOaL9Ry6J for ; Wed, 9 Jul 2014 20:15:45 +0200 (CEST) In-Reply-To: <1404929744-8630-1-git-send-email-deathsimple@vodafone.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgoKU2lnbmVk LW9mZi1ieTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgotLS0K IGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcjEwMC5jICAgICAgICB8IDIgKy0KIGRyaXZlcnMvZ3B1 L2RybS9yYWRlb24vcjMwMC5jICAgICAgICB8IDggKysrKysrLS0KIGRyaXZlcnMvZ3B1L2RybS9y YWRlb24vcmFkZW9uLmggICAgICB8IDggKysrKy0tLS0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24v cmFkZW9uX2FzaWMuaCB8IDggKysrKy0tLS0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9u X2dhcnQuYyB8IDQgKystLQogZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yczQwMC5jICAgICAgIHwg OSArKysrKysrLS0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcnM2MDAuYyAgICAgICB8IDggKysr KysrLS0KIDcgZmlsZXMgY2hhbmdlZCwgMzAgaW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yMTAwLmMgYi9kcml2ZXJzL2dw dS9kcm0vcmFkZW9uL3IxMDAuYwppbmRleCBlZDFjNTNlLi5iZmZiYjE0IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vcmFkZW9uL3IxMDAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9u L3IxMDAuYwpAQCAtNjgyLDcgKzY4Miw3IEBAIHZvaWQgcjEwMF9wY2lfZ2FydF9kaXNhYmxlKHN0 cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KQogfQogCiB2b2lkIHIxMDBfcGNpX2dhcnRfc2V0X3Bh Z2Uoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIHVuc2lnbmVkIGksCi0JCQkgICAgdWludDY0 X3QgYWRkcikKKwkJCSAgICB1aW50NjRfdCBhZGRyLCBib29sIHJlYWRvbmx5KQogewogCXUzMiAq Z3R0ID0gcmRldi0+Z2FydC5wdHI7CiAJZ3R0W2ldID0gY3B1X3RvX2xlMzIobG93ZXJfMzJfYml0 cyhhZGRyKSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3IzMDAuYyBiL2Ry aXZlcnMvZ3B1L2RybS9yYWRlb24vcjMwMC5jCmluZGV4IDhkMTRlNjYuLjJlYTNkMjkgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcjMwMC5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9yYWRlb24vcjMwMC5jCkBAIC03MywxMyArNzMsMTcgQEAgdm9pZCBydjM3MF9wY2llX2dhcnRf dGxiX2ZsdXNoKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KQogI2RlZmluZSBSMzAwX1BURV9S RUFEQUJMRSAgKDEgPDwgMykKIAogdm9pZCBydjM3MF9wY2llX2dhcnRfc2V0X3BhZ2Uoc3RydWN0 IHJhZGVvbl9kZXZpY2UgKnJkZXYsIHVuc2lnbmVkIGksCi0JCQkgICAgICB1aW50NjRfdCBhZGRy KQorCQkJICAgICAgdWludDY0X3QgYWRkciwgYm9vbCByZWFkb25seSkKIHsKIAl2b2lkIF9faW9t ZW0gKnB0ciA9IHJkZXYtPmdhcnQucHRyOwogCiAJYWRkciA9IChsb3dlcl8zMl9iaXRzKGFkZHIp ID4+IDgpIHwKIAkgICAgICAgKCh1cHBlcl8zMl9iaXRzKGFkZHIpICYgMHhmZikgPDwgMjQpIHwK LQkgICAgICAgUjMwMF9QVEVfV1JJVEVBQkxFIHwgUjMwMF9QVEVfUkVBREFCTEU7CisJICAgICAg IFIzMDBfUFRFX1JFQURBQkxFOworCisJaWYgKCFyZWFkb25seSkKKwkJYWRkciB8PSBSMzAwX1BU RV9XUklURUFCTEU7CisKIAkvKiBvbiB4ODYgd2Ugd2FudCB0aGlzIHRvIGJlIENQVSBlbmRpYW4s IG9uIHBvd2VycGMKIAkgKiBvbiBwb3dlcnBjIHdpdGhvdXQgSFcgc3dhcHBlcnMsIGl0J2xsIGdl dCBzd2FwcGVkIG9uIHdheQogCSAqIGludG8gVlJBTSAtIHNvIG5vIG5lZWQgZm9yIGNwdV90b19s ZTMyIG9uIFZSQU0gdGFibGVzICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9u L3JhZGVvbi5oIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb24uaAppbmRleCBjMTY2NTJh Li4yODNiNDk2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbi5oCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uLmgKQEAgLTg1NSw4ICs4NTUsOCBAQCBz dHJ1Y3QgcmFkZW9uX21lYyB7CiAjZGVmaW5lIFI2MDBfUFRFX0ZSQUdfMjU2S0IJKDYgPDwgNykK IAogLyogZmxhZ3MgdXNlZCBmb3IgR0FSVCBwYWdlIHRhYmxlIGVudHJpZXMgb24gUjYwMCsgKi8K LSNkZWZpbmUgUjYwMF9QVEVfR0FSVAkoIFI2MDBfUFRFX1ZBTElEIHwgUjYwMF9QVEVfU1lTVEVN IHwgUjYwMF9QVEVfU05PT1BFRCBcCi0JCQl8IFI2MDBfUFRFX1JFQURBQkxFIHwgUjYwMF9QVEVf V1JJVEVBQkxFKQorI2RlZmluZSBSNjAwX1BURV9HQVJUCSggUjYwMF9QVEVfVkFMSUQgfCBSNjAw X1BURV9TWVNURU0gfCBcCisJCQkgIFI2MDBfUFRFX1NOT09QRUQgfCBSNjAwX1BURV9SRUFEQUJM RSApCiAKIHN0cnVjdCByYWRlb25fdm1fcHQgewogCXN0cnVjdCByYWRlb25fYm8JCSpibzsKQEAg LTE3NzYsNyArMTc3Niw3IEBAIHN0cnVjdCByYWRlb25fYXNpYyB7CiAJc3RydWN0IHsKIAkJdm9p ZCAoKnRsYl9mbHVzaCkoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpOwogCQl2b2lkICgqc2V0 X3BhZ2UpKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCB1bnNpZ25lZCBpLAotCQkJCSB1aW50 NjRfdCBhZGRyKTsKKwkJCQkgdWludDY0X3QgYWRkciwgYm9vbCByZWFkb25seSk7CiAJfSBnYXJ0 OwogCXN0cnVjdCB7CiAJCWludCAoKmluaXQpKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KTsK QEAgLTI3MDMsNyArMjcwMyw3IEBAIHZvaWQgcmFkZW9uX3Jpbmdfd3JpdGUoc3RydWN0IHJhZGVv bl9yaW5nICpyaW5nLCB1aW50MzJfdCB2KTsKICNkZWZpbmUgcmFkZW9uX3ZnYV9zZXRfc3RhdGUo cmRldiwgc3RhdGUpIChyZGV2KS0+YXNpYy0+dmdhX3NldF9zdGF0ZSgocmRldiksIChzdGF0ZSkp CiAjZGVmaW5lIHJhZGVvbl9hc2ljX3Jlc2V0KHJkZXYpIChyZGV2KS0+YXNpYy0+YXNpY19yZXNl dCgocmRldikpCiAjZGVmaW5lIHJhZGVvbl9nYXJ0X3RsYl9mbHVzaChyZGV2KSAocmRldiktPmFz aWMtPmdhcnQudGxiX2ZsdXNoKChyZGV2KSkKLSNkZWZpbmUgcmFkZW9uX2dhcnRfc2V0X3BhZ2Uo cmRldiwgaSwgcCkgKHJkZXYpLT5hc2ljLT5nYXJ0LnNldF9wYWdlKChyZGV2KSwgKGkpLCAocCkp CisjZGVmaW5lIHJhZGVvbl9nYXJ0X3NldF9wYWdlKHJkZXYsIGksIHAsIHIpIChyZGV2KS0+YXNp Yy0+Z2FydC5zZXRfcGFnZSgocmRldiksIChpKSwgKHApLCAocikpCiAjZGVmaW5lIHJhZGVvbl9h c2ljX3ZtX2luaXQocmRldikgKHJkZXYpLT5hc2ljLT52bS5pbml0KChyZGV2KSkKICNkZWZpbmUg cmFkZW9uX2FzaWNfdm1fZmluaShyZGV2KSAocmRldiktPmFzaWMtPnZtLmZpbmkoKHJkZXYpKQog I2RlZmluZSByYWRlb25fYXNpY192bV9zZXRfcGFnZShyZGV2LCBpYiwgcGUsIGFkZHIsIGNvdW50 LCBpbmNyLCBmbGFncykgKChyZGV2KS0+YXNpYy0+dm0uc2V0X3BhZ2UoKHJkZXYpLCAoaWIpLCAo cGUpLCAoYWRkciksIChjb3VudCksIChpbmNyKSwgKGZsYWdzKSkpCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9hc2ljLmggYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9u L3JhZGVvbl9hc2ljLmgKaW5kZXggMDFlN2MwYS4uMWUwY2IwYzIgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2FzaWMuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL3JhZGVvbl9hc2ljLmgKQEAgLTY4LDcgKzY4LDcgQEAgaW50IHIxMDBfYXNpY19yZXNldChz dHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldik7CiB1MzIgcjEwMF9nZXRfdmJsYW5rX2NvdW50ZXIo c3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIGludCBjcnRjKTsKIHZvaWQgcjEwMF9wY2lfZ2Fy dF90bGJfZmx1c2goc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpOwogdm9pZCByMTAwX3BjaV9n YXJ0X3NldF9wYWdlKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCB1bnNpZ25lZCBpLAotCQkJ ICAgIHVpbnQ2NF90IGFkZHIpOworCQkJICAgIHVpbnQ2NF90IGFkZHIsIGJvb2wgcmVhZG9ubHkp Owogdm9pZCByMTAwX3Jpbmdfc3RhcnQoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIHN0cnVj dCByYWRlb25fcmluZyAqcmluZyk7CiBpbnQgcjEwMF9pcnFfc2V0KHN0cnVjdCByYWRlb25fZGV2 aWNlICpyZGV2KTsKIGludCByMTAwX2lycV9wcm9jZXNzKHN0cnVjdCByYWRlb25fZGV2aWNlICpy ZGV2KTsKQEAgLTE3Myw3ICsxNzMsNyBAQCBleHRlcm4gdm9pZCByMzAwX2ZlbmNlX3JpbmdfZW1p dChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwKIGV4dGVybiBpbnQgcjMwMF9jc19wYXJzZShz dHJ1Y3QgcmFkZW9uX2NzX3BhcnNlciAqcCk7CiBleHRlcm4gdm9pZCBydjM3MF9wY2llX2dhcnRf dGxiX2ZsdXNoKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KTsKIGV4dGVybiB2b2lkIHJ2Mzcw X3BjaWVfZ2FydF9zZXRfcGFnZShzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgdW5zaWduZWQg aSwKLQkJCQkgICAgIHVpbnQ2NF90IGFkZHIpOworCQkJCSAgICAgdWludDY0X3QgYWRkciwgYm9v bCByZWFkb25seSk7CiBleHRlcm4gdm9pZCBydjM3MF9zZXRfcGNpZV9sYW5lcyhzdHJ1Y3QgcmFk ZW9uX2RldmljZSAqcmRldiwgaW50IGxhbmVzKTsKIGV4dGVybiBpbnQgcnYzNzBfZ2V0X3BjaWVf bGFuZXMoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpOwogZXh0ZXJuIHZvaWQgcjMwMF9zZXRf cmVnX3NhZmUoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpOwpAQCAtMjA5LDcgKzIwOSw3IEBA IGV4dGVybiBpbnQgcnM0MDBfc3VzcGVuZChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldik7CiBl eHRlcm4gaW50IHJzNDAwX3Jlc3VtZShzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldik7CiB2b2lk IHJzNDAwX2dhcnRfdGxiX2ZsdXNoKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KTsKIHZvaWQg cnM0MDBfZ2FydF9zZXRfcGFnZShzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgdW5zaWduZWQg aSwKLQkJCSB1aW50NjRfdCBhZGRyKTsKKwkJCSB1aW50NjRfdCBhZGRyLCBib29sIHJlYWRvbmx5 KTsKIHVpbnQzMl90IHJzNDAwX21jX3JyZWcoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIHVp bnQzMl90IHJlZyk7CiB2b2lkIHJzNDAwX21jX3dyZWcoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJk ZXYsIHVpbnQzMl90IHJlZywgdWludDMyX3Qgdik7CiBpbnQgcnM0MDBfZ2FydF9pbml0KHN0cnVj dCByYWRlb25fZGV2aWNlICpyZGV2KTsKQEAgLTIzMyw3ICsyMzMsNyBAQCB2b2lkIHJzNjAwX2ly cV9kaXNhYmxlKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KTsKIHUzMiByczYwMF9nZXRfdmJs YW5rX2NvdW50ZXIoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIGludCBjcnRjKTsKIHZvaWQg cnM2MDBfZ2FydF90bGJfZmx1c2goc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpOwogdm9pZCBy czYwMF9nYXJ0X3NldF9wYWdlKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCB1bnNpZ25lZCBp LAotCQkJIHVpbnQ2NF90IGFkZHIpOworCQkJIHVpbnQ2NF90IGFkZHIsIGJvb2wgcmVhZG9ubHkp OwogdWludDMyX3QgcnM2MDBfbWNfcnJlZyhzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgdWlu dDMyX3QgcmVnKTsKIHZvaWQgcnM2MDBfbWNfd3JlZyhzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRl diwgdWludDMyX3QgcmVnLCB1aW50MzJfdCB2KTsKIHZvaWQgcnM2MDBfYmFuZHdpZHRoX3VwZGF0 ZShzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vcmFkZW9uL3JhZGVvbl9nYXJ0LmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9n YXJ0LmMKaW5kZXggYjdkM2U4NC4uM2I4MGVhYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L3JhZGVvbi9yYWRlb25fZ2FydC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9u X2dhcnQuYwpAQCAtMjQzLDcgKzI0Myw3IEBAIHZvaWQgcmFkZW9uX2dhcnRfdW5iaW5kKHN0cnVj dCByYWRlb25fZGV2aWNlICpyZGV2LCB1bnNpZ25lZCBvZmZzZXQsCiAJCQlwYWdlX2Jhc2UgPSBy ZGV2LT5nYXJ0LnBhZ2VzX2FkZHJbcF07CiAJCQlmb3IgKGogPSAwOyBqIDwgKFBBR0VfU0laRSAv IFJBREVPTl9HUFVfUEFHRV9TSVpFKTsgaisrLCB0KyspIHsKIAkJCQlpZiAocmRldi0+Z2FydC5w dHIpIHsKLQkJCQkJcmFkZW9uX2dhcnRfc2V0X3BhZ2UocmRldiwgdCwgcGFnZV9iYXNlKTsKKwkJ CQkJcmFkZW9uX2dhcnRfc2V0X3BhZ2UocmRldiwgdCwgcGFnZV9iYXNlLCBmYWxzZSk7CiAJCQkJ fQogCQkJCXBhZ2VfYmFzZSArPSBSQURFT05fR1BVX1BBR0VfU0laRTsKIAkJCX0KQEAgLTI4Nyw3 ICsyODcsNyBAQCBpbnQgcmFkZW9uX2dhcnRfYmluZChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRl diwgdW5zaWduZWQgb2Zmc2V0LAogCQlpZiAocmRldi0+Z2FydC5wdHIpIHsKIAkJCXBhZ2VfYmFz ZSA9IHJkZXYtPmdhcnQucGFnZXNfYWRkcltwXTsKIAkJCWZvciAoaiA9IDA7IGogPCAoUEFHRV9T SVpFIC8gUkFERU9OX0dQVV9QQUdFX1NJWkUpOyBqKyssIHQrKykgewotCQkJCXJhZGVvbl9nYXJ0 X3NldF9wYWdlKHJkZXYsIHQsIHBhZ2VfYmFzZSk7CisJCQkJcmFkZW9uX2dhcnRfc2V0X3BhZ2Uo cmRldiwgdCwgcGFnZV9iYXNlLCBmYWxzZSk7CiAJCQkJcGFnZV9iYXNlICs9IFJBREVPTl9HUFVf UEFHRV9TSVpFOwogCQkJfQogCQl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9u L3JzNDAwLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JzNDAwLmMKaW5kZXggNDUxOWY5Yy4u OWRmYjYxNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yczQwMC5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcnM0MDAuYwpAQCAtMjExLDE0ICsyMTEsMTkgQEAgdm9p ZCByczQwMF9nYXJ0X2Zpbmkoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpCiAjZGVmaW5lIFJT NDAwX1BURV9XUklURUFCTEUgKDEgPDwgMikKICNkZWZpbmUgUlM0MDBfUFRFX1JFQURBQkxFICAo MSA8PCAzKQogCi12b2lkIHJzNDAwX2dhcnRfc2V0X3BhZ2Uoc3RydWN0IHJhZGVvbl9kZXZpY2Ug KnJkZXYsIHVuc2lnbmVkIGksIHVpbnQ2NF90IGFkZHIpCit2b2lkIHJzNDAwX2dhcnRfc2V0X3Bh Z2Uoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIHVuc2lnbmVkIGksCisJCQkgdWludDY0X3Qg YWRkciwgYm9vbCByZWFkb25seSkKIHsKIAl1aW50MzJfdCBlbnRyeTsKIAl1MzIgKmd0dCA9IHJk ZXYtPmdhcnQucHRyOwogCiAJZW50cnkgPSAobG93ZXJfMzJfYml0cyhhZGRyKSAmIFBBR0VfTUFT SykgfAogCQkoKHVwcGVyXzMyX2JpdHMoYWRkcikgJiAweGZmKSA8PCA0KSB8Ci0JCVJTNDAwX1BU RV9XUklURUFCTEUgfCBSUzQwMF9QVEVfUkVBREFCTEU7CisJCVJTNDAwX1BURV9SRUFEQUJMRTsK KworCWlmICghcmVhZG9ubHkpCisJCWVudHJ5IHw9IFJTNDAwX1BURV9XUklURUFCTEU7CisKIAll bnRyeSA9IGNwdV90b19sZTMyKGVudHJ5KTsKIAlndHRbaV0gPSBlbnRyeTsKIH0KZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcnM2MDAuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRl b24vcnM2MDAuYwppbmRleCAyN2E1NmFkLi4wYmJiMWFiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vcmFkZW9uL3JzNjAwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yczYwMC5j CkBAIC02MjUsMTUgKzYyNSwxOSBAQCBzdGF0aWMgdm9pZCByczYwMF9nYXJ0X2Zpbmkoc3RydWN0 IHJhZGVvbl9kZXZpY2UgKnJkZXYpCiAJcmFkZW9uX2dhcnRfdGFibGVfdnJhbV9mcmVlKHJkZXYp OwogfQogCi12b2lkIHJzNjAwX2dhcnRfc2V0X3BhZ2Uoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJk ZXYsIHVuc2lnbmVkIGksIHVpbnQ2NF90IGFkZHIpCit2b2lkIHJzNjAwX2dhcnRfc2V0X3BhZ2Uo c3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIHVuc2lnbmVkIGksCisJCQkgdWludDY0X3QgYWRk ciwgYm9vbCByZWFkb25seSkKIHsKIAl2b2lkIF9faW9tZW0gKnB0ciA9ICh2b2lkICopcmRldi0+ Z2FydC5wdHI7CiAKIAlhZGRyID0gYWRkciAmIDB4RkZGRkZGRkZGRkZGRjAwMFVMTDsKIAlpZiAo YWRkciA9PSByZGV2LT5kdW1teV9wYWdlLmFkZHIpCiAJCWFkZHIgfD0gUjYwMF9QVEVfU1lTVEVN IHwgUjYwMF9QVEVfU05PT1BFRDsKLQllbHNlCisJZWxzZSB7CiAJCWFkZHIgfD0gUjYwMF9QVEVf R0FSVDsKKwkJaWYgKCFyZWFkb25seSkKKwkJCWFkZHIgfD0gUjYwMF9QVEVfV1JJVEVBQkxFOwor CX0KIAl3cml0ZXEoYWRkciwgcHRyICsgKGkgKiA4KSk7CiB9CiAKLS0gCjEuOS4xCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGlu ZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=