From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Subject: [PATCH v3 06/11] drm/fb-helper: Prepare to move out commit code Date: Sat, 20 Apr 2019 12:45:51 +0200 Message-ID: <20190420104556.31127-7-noralf@tronnes.org> References: <20190420104556.31127-1-noralf@tronnes.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190420104556.31127-1-noralf@tronnes.org> 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 Cc: maxime.ripard@bootlin.com, daniel.vetter@ffwll.ch, intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org VGhpcyBtYWtlcyB0aGUgbmVjZXNzYXJ5IGNoYW5nZXMgc28gdGhlIGNvbW1pdCBjb2RlIGNhbiBi ZSBtb3ZlZCBvdXQgdG8KZHJtX2NsaWVudCBhcy1pcyBpbiB0aGUgbmV4dCBwYXRjaC4gSXQncyBz cGxpdCB1cCB0byBlYXNlIHJldmlldy4KClNpZ25lZC1vZmYtYnk6IE5vcmFsZiBUcsO4bm5lcyA8 bm9yYWxmQHRyb25uZXMub3JnPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmMg fCAxMjIgKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA4 MSBpbnNlcnRpb25zKCspLCA0MSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vZHJtX2ZiX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9mYl9oZWxwZXIuYwpp bmRleCAwNDFjYTc0NjFiODEuLmM2YWI1MDgxMDkwNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2RybV9mYl9oZWxwZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5j CkBAIC0zODgsOSArMzg4LDIwIEBAIGludCBkcm1fZmJfaGVscGVyX2RlYnVnX2xlYXZlKHN0cnVj dCBmYl9pbmZvICppbmZvKQogfQogRVhQT1JUX1NZTUJPTChkcm1fZmJfaGVscGVyX2RlYnVnX2xl YXZlKTsKIAotLyogQ2hlY2sgaWYgdGhlIHBsYW5lIGNhbiBodyByb3RhdGUgdG8gbWF0Y2ggcGFu ZWwgb3JpZW50YXRpb24gKi8KLXN0YXRpYyBib29sIGRybV9mYl9oZWxwZXJfcGFuZWxfcm90YXRp b24oc3RydWN0IGRybV9tb2RlX3NldCAqbW9kZXNldCwKLQkJCQkJIHVuc2lnbmVkIGludCAqcm90 YXRpb24pCisvKioKKyAqIGRybV9jbGllbnRfcGFuZWxfcm90YXRpb24oKSAtIENoZWNrIHBhbmVs IG9yaWVudGF0aW9uCisgKiBAbW9kZXNldDogRFJNIG1vZGVzZXQKKyAqIEByb3RhdGlvbjogUmV0 dXJuZWQgcm90YXRpb24gdmFsdWUKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGNoZWNrcyBpZiB0aGUg cHJpbWFyeSBwbGFuZSBpbiBAbW9kZXNldCBjYW4gaHcgcm90YXRlIHRvIG1hdGNoCisgKiB0aGUg cGFuZWwgb3JpZW50YXRpb24gb24gaXRzIGNvbm5lY3Rvci4KKyAqCisgKiBOb3RlOiBDdXJyZW50 bHkgb25seSAwIGFuZCAxODAgZGVncmVlcyBhcmUgc3VwcG9ydGVkLgorICoKKyAqIFJldHVybjoK KyAqIFRydWUgaWYgdGhlIHBsYW5lIGNhbiBkbyB0aGUgcm90YXRpb24sIGZhbHNlIG90aGVyd2lz ZS4KKyAqLworYm9vbCBkcm1fY2xpZW50X3BhbmVsX3JvdGF0aW9uKHN0cnVjdCBkcm1fbW9kZV9z ZXQgKm1vZGVzZXQsIHVuc2lnbmVkIGludCAqcm90YXRpb24pCiB7CiAJc3RydWN0IGRybV9jb25u ZWN0b3IgKmNvbm5lY3RvciA9IG1vZGVzZXQtPmNvbm5lY3RvcnNbMF07CiAJc3RydWN0IGRybV9w bGFuZSAqcGxhbmUgPSBtb2Rlc2V0LT5jcnRjLT5wcmltYXJ5OwpAQCAtNDMxLDEwICs0NDIsOSBA QCBzdGF0aWMgYm9vbCBkcm1fZmJfaGVscGVyX3BhbmVsX3JvdGF0aW9uKHN0cnVjdCBkcm1fbW9k ZV9zZXQgKm1vZGVzZXQsCiAJcmV0dXJuIHRydWU7CiB9CiAKLXN0YXRpYyBpbnQgcmVzdG9yZV9m YmRldl9tb2RlX2F0b21pYyhzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyLCBib29sIGFj dGl2ZSkKK3N0YXRpYyBpbnQgZHJtX2NsaWVudF9tb2Rlc2V0X2NvbW1pdF9hdG9taWMoc3RydWN0 IGRybV9jbGllbnRfZGV2ICpjbGllbnQsIGJvb2wgYWN0aXZlKQogewotCXN0cnVjdCBkcm1fY2xp ZW50X2RldiAqY2xpZW50ID0gJmZiX2hlbHBlci0+Y2xpZW50OwotCXN0cnVjdCBkcm1fZGV2aWNl ICpkZXYgPSBmYl9oZWxwZXItPmRldjsKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY2xpZW50 LT5kZXY7CiAJc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGU7CiAJc3RydWN0IGRy bV9wbGFuZSAqcGxhbmU7CiAJc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlOwpAQCAtNDc0 LDcgKzQ4NCw3IEBAIHN0YXRpYyBpbnQgcmVzdG9yZV9mYmRldl9tb2RlX2F0b21pYyhzdHJ1Y3Qg ZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyLCBib29sIGFjdGl2CiAJCXN0cnVjdCBkcm1fcGxhbmUg KnByaW1hcnkgPSBtb2RlX3NldC0+Y3J0Yy0+cHJpbWFyeTsKIAkJdW5zaWduZWQgaW50IHJvdGF0 aW9uOwogCi0JCWlmIChkcm1fZmJfaGVscGVyX3BhbmVsX3JvdGF0aW9uKG1vZGVfc2V0LCAmcm90 YXRpb24pKSB7CisJCWlmIChkcm1fY2xpZW50X3BhbmVsX3JvdGF0aW9uKG1vZGVfc2V0LCAmcm90 YXRpb24pKSB7CiAJCQkvKiBDYW5ub3QgZmFpbCBhcyB3ZSd2ZSBhbHJlYWR5IGdvdHRlbiB0aGUg cGxhbmUgc3RhdGUgYWJvdmUgKi8KIAkJCXBsYW5lX3N0YXRlID0gZHJtX2F0b21pY19nZXRfbmV3 X3BsYW5lX3N0YXRlKHN0YXRlLCBwcmltYXJ5KTsKIAkJCXBsYW5lX3N0YXRlLT5yb3RhdGlvbiA9 IHJvdGF0aW9uOwpAQCAtNTE2LDE1ICs1MjYsMTQgQEAgc3RhdGljIGludCByZXN0b3JlX2ZiZGV2 X21vZGVfYXRvbWljKHN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxwZXIsIGJvb2wgYWN0aXYK IAlnb3RvIHJldHJ5OwogfQogCi1zdGF0aWMgaW50IHJlc3RvcmVfZmJkZXZfbW9kZV9sZWdhY3ko c3RydWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlcikKK3N0YXRpYyBpbnQgZHJtX2NsaWVudF9t b2Rlc2V0X2NvbW1pdF9sZWdhY3koc3RydWN0IGRybV9jbGllbnRfZGV2ICpjbGllbnQpCiB7Ci0J c3RydWN0IGRybV9jbGllbnRfZGV2ICpjbGllbnQgPSAmZmJfaGVscGVyLT5jbGllbnQ7Ci0Jc3Ry dWN0IGRybV9kZXZpY2UgKmRldiA9IGZiX2hlbHBlci0+ZGV2OworCXN0cnVjdCBkcm1fZGV2aWNl ICpkZXYgPSBjbGllbnQtPmRldjsKIAlzdHJ1Y3QgZHJtX21vZGVfc2V0ICptb2RlX3NldDsKIAlz dHJ1Y3QgZHJtX3BsYW5lICpwbGFuZTsKIAlpbnQgcmV0ID0gMDsKIAotCWRybV9tb2Rlc2V0X2xv Y2tfYWxsKGZiX2hlbHBlci0+ZGV2KTsKKwlkcm1fbW9kZXNldF9sb2NrX2FsbChkZXYpOwogCWRy bV9mb3JfZWFjaF9wbGFuZShwbGFuZSwgZGV2KSB7CiAJCWlmIChwbGFuZS0+dHlwZSAhPSBEUk1f UExBTkVfVFlQRV9QUklNQVJZKQogCQkJZHJtX3BsYW5lX2ZvcmNlX2Rpc2FibGUocGxhbmUpOwpA QCAtNTUzLDM1ICs1NjIsNTMgQEAgc3RhdGljIGludCByZXN0b3JlX2ZiZGV2X21vZGVfbGVnYWN5 KHN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxwZXIpCiAJCQlnb3RvIG91dDsKIAl9CiBvdXQ6 Ci0JZHJtX21vZGVzZXRfdW5sb2NrX2FsbChmYl9oZWxwZXItPmRldik7CisJZHJtX21vZGVzZXRf dW5sb2NrX2FsbChkZXYpOwogCiAJcmV0dXJuIHJldDsKIH0KIAotc3RhdGljIGludCByZXN0b3Jl X2ZiZGV2X21vZGVfZm9yY2Uoc3RydWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlcikKKy8qKgor ICogZHJtX2NsaWVudF9tb2Rlc2V0X2NvbW1pdF9mb3JjZSgpIC0gRm9yY2UgY29tbWl0IENSVEMg Y29uZmlndXJhdGlvbgorICogQGNsaWVudDogRFJNIGNsaWVudAorICoKKyAqIENvbW1pdCBtb2Rl c2V0IGNvbmZpZ3VyYXRpb24gdG8gY3J0Y3Mgd2l0aG91dCBjaGVja2luZyBpZiB0aGVyZSBpcyBh IERSTSBtYXN0ZXIuCisgKgorICogUmV0dXJuczoKKyAqIFplcm8gb24gc3VjY2VzcyBvciBuZWdh dGl2ZSBlcnJvciBjb2RlIG9uIGZhaWx1cmUuCisgKi8KK2ludCBkcm1fY2xpZW50X21vZGVzZXRf Y29tbWl0X2ZvcmNlKHN0cnVjdCBkcm1fY2xpZW50X2RldiAqY2xpZW50KQogewotCXN0cnVjdCBk cm1fZGV2aWNlICpkZXYgPSBmYl9oZWxwZXItPmRldjsKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 ID0gY2xpZW50LT5kZXY7CiAJaW50IHJldDsKIAotCW11dGV4X2xvY2soJmZiX2hlbHBlci0+Y2xp ZW50Lm1vZGVzZXRfbXV0ZXgpOworCW11dGV4X2xvY2soJmNsaWVudC0+bW9kZXNldF9tdXRleCk7 CiAJaWYgKGRybV9kcnZfdXNlc19hdG9taWNfbW9kZXNldChkZXYpKQotCQlyZXQgPSByZXN0b3Jl X2ZiZGV2X21vZGVfYXRvbWljKGZiX2hlbHBlciwgdHJ1ZSk7CisJCXJldCA9IGRybV9jbGllbnRf bW9kZXNldF9jb21taXRfYXRvbWljKGNsaWVudCwgdHJ1ZSk7CiAJZWxzZQotCQlyZXQgPSByZXN0 b3JlX2ZiZGV2X21vZGVfbGVnYWN5KGZiX2hlbHBlcik7Ci0JbXV0ZXhfdW5sb2NrKCZmYl9oZWxw ZXItPmNsaWVudC5tb2Rlc2V0X211dGV4KTsKKwkJcmV0ID0gZHJtX2NsaWVudF9tb2Rlc2V0X2Nv bW1pdF9sZWdhY3koY2xpZW50KTsKKwltdXRleF91bmxvY2soJmNsaWVudC0+bW9kZXNldF9tdXRl eCk7CiAKIAlyZXR1cm4gcmV0OwogfQogCi1zdGF0aWMgaW50IHJlc3RvcmVfZmJkZXZfbW9kZShz dHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyKQorLyoqCisgKiBkcm1fY2xpZW50X21vZGVz ZXRfY29tbWl0KCkgLSBDb21taXQgQ1JUQyBjb25maWd1cmF0aW9uCisgKiBAY2xpZW50OiBEUk0g Y2xpZW50CisgKgorICogQ29tbWl0IG1vZGVzZXQgY29uZmlndXJhdGlvbiB0byBjcnRjcy4KKyAq CisgKiBSZXR1cm5zOgorICogWmVybyBvbiBzdWNjZXNzIG9yIG5lZ2F0aXZlIGVycm9yIGNvZGUg b24gZmFpbHVyZS4KKyAqLworaW50IGRybV9jbGllbnRfbW9kZXNldF9jb21taXQoc3RydWN0IGRy bV9jbGllbnRfZGV2ICpjbGllbnQpCiB7Ci0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGZiX2hl bHBlci0+ZGV2OworCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjbGllbnQtPmRldjsKIAlpbnQg cmV0OwogCiAJaWYgKCFkcm1fbWFzdGVyX2ludGVybmFsX2FjcXVpcmUoZGV2KSkKIAkJcmV0dXJu IC1FQlVTWTsKIAotCXJldCA9IHJlc3RvcmVfZmJkZXZfbW9kZV9mb3JjZShmYl9oZWxwZXIpOwor CXJldCA9IGRybV9jbGllbnRfbW9kZXNldF9jb21taXRfZm9yY2UoY2xpZW50KTsKIAogCWRybV9t YXN0ZXJfaW50ZXJuYWxfcmVsZWFzZShkZXYpOwogCkBAIC02MTEsNyArNjM4LDcgQEAgaW50IGRy bV9mYl9oZWxwZXJfcmVzdG9yZV9mYmRldl9tb2RlX3VubG9ja2VkKHN0cnVjdCBkcm1fZmJfaGVs cGVyICpmYl9oZWxwZXIpCiAJCXJldHVybiAwOwogCiAJbXV0ZXhfbG9jaygmZmJfaGVscGVyLT5s b2NrKTsKLQlyZXQgPSByZXN0b3JlX2ZiZGV2X21vZGUoZmJfaGVscGVyKTsKKwlyZXQgPSBkcm1f Y2xpZW50X21vZGVzZXRfY29tbWl0KCZmYl9oZWxwZXItPmNsaWVudCk7CiAKIAlkb19kZWxheWVk ID0gZmJfaGVscGVyLT5kZWxheWVkX2hvdHBsdWc7CiAJaWYgKGRvX2RlbGF5ZWQpCkBAIC02NDUs NyArNjcyLDcgQEAgc3RhdGljIGJvb2wgZHJtX2ZiX2hlbHBlcl9mb3JjZV9rZXJuZWxfbW9kZSh2 b2lkKQogCQkJY29udGludWU7CiAKIAkJbXV0ZXhfbG9jaygmaGVscGVyLT5sb2NrKTsKLQkJcmV0 ID0gcmVzdG9yZV9mYmRldl9tb2RlX2ZvcmNlKGhlbHBlcik7CisJCXJldCA9IGRybV9jbGllbnRf bW9kZXNldF9jb21taXRfZm9yY2UoJmhlbHBlci0+Y2xpZW50KTsKIAkJaWYgKHJldCkKIAkJCWVy cm9yID0gdHJ1ZTsKIAkJbXV0ZXhfdW5sb2NrKCZoZWxwZXItPmxvY2spOwpAQCAtNjc3LDEwICs3 MDQsOSBAQCBzdGF0aWMgc3RydWN0IHN5c3JxX2tleV9vcCBzeXNycV9kcm1fZmJfaGVscGVyX3Jl c3RvcmVfb3AgPSB7CiBzdGF0aWMgc3RydWN0IHN5c3JxX2tleV9vcCBzeXNycV9kcm1fZmJfaGVs cGVyX3Jlc3RvcmVfb3AgPSB7IH07CiAjZW5kaWYKIAotc3RhdGljIHZvaWQgZHBtc19sZWdhY3ko c3RydWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlciwgaW50IGRwbXNfbW9kZSkKK3N0YXRpYyB2 b2lkIGRybV9jbGllbnRfbW9kZXNldF9kcG1zX2xlZ2FjeShzdHJ1Y3QgZHJtX2NsaWVudF9kZXYg KmNsaWVudCwgaW50IGRwbXNfbW9kZSkKIHsKLQlzdHJ1Y3QgZHJtX2NsaWVudF9kZXYgKmNsaWVu dCA9ICZmYl9oZWxwZXItPmNsaWVudDsKLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZmJfaGVs cGVyLT5kZXY7CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNsaWVudC0+ZGV2OwogCXN0cnVj dCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3I7CiAJc3RydWN0IGRybV9tb2RlX3NldCAqbW9kZXNl dDsKIAlpbnQgajsKQEAgLTcwMCwyOCArNzI2LDQyIEBAIHN0YXRpYyB2b2lkIGRwbXNfbGVnYWN5 KHN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxwZXIsIGludCBkcG1zX21vZGUpCiAJZHJtX21v ZGVzZXRfdW5sb2NrX2FsbChkZXYpOwogfQogCi1zdGF0aWMgdm9pZCBkcm1fZmJfaGVscGVyX2Rw bXMoc3RydWN0IGZiX2luZm8gKmluZm8sIGludCBkcG1zX21vZGUpCisvKioKKyAqIGRybV9jbGll bnRfbW9kZXNldF9kcG1zKCkgLSBTZXQgRFBNUyBtb2RlCisgKiBAY2xpZW50OiBEUk0gY2xpZW50 CisgKiBAbW9kZTogRFBNUyBtb2RlCisgKgorICogTm90ZTogRm9yIGF0b21pYyBkcml2ZXJzIEBt b2RlIGlzIHJlZHVjZWQgdG8gb24vb2ZmLgorICoKKyAqIFJldHVybnM6CisgKiBaZXJvIG9uIHN1 Y2Nlc3Mgb3IgbmVnYXRpdmUgZXJyb3IgY29kZSBvbiBmYWlsdXJlLgorICovCitpbnQgZHJtX2Ns aWVudF9tb2Rlc2V0X2RwbXMoc3RydWN0IGRybV9jbGllbnRfZGV2ICpjbGllbnQsIGludCBtb2Rl KQogewotCXN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxwZXIgPSBpbmZvLT5wYXI7Ci0Jc3Ry dWN0IGRybV9jbGllbnRfZGV2ICpjbGllbnQgPSAmZmJfaGVscGVyLT5jbGllbnQ7Ci0Jc3RydWN0 IGRybV9kZXZpY2UgKmRldiA9IGZiX2hlbHBlci0+ZGV2OworCXN0cnVjdCBkcm1fZGV2aWNlICpk ZXYgPSBjbGllbnQtPmRldjsKKwlpbnQgcmV0ID0gMDsKIAotCS8qCi0JICogRm9yIGVhY2ggQ1JU QyBpbiB0aGlzIGZiLCB0dXJuIHRoZSBjb25uZWN0b3JzIG9uL29mZi4KLQkgKi8KLQltdXRleF9s b2NrKCZmYl9oZWxwZXItPmxvY2spOwogCWlmICghZHJtX21hc3Rlcl9pbnRlcm5hbF9hY3F1aXJl KGRldikpCi0JCWdvdG8gdW5sb2NrOworCQlyZXR1cm4gLUVCVVNZOwogCiAJbXV0ZXhfbG9jaygm Y2xpZW50LT5tb2Rlc2V0X211dGV4KTsKIAlpZiAoZHJtX2Rydl91c2VzX2F0b21pY19tb2Rlc2V0 KGRldikpCi0JCXJlc3RvcmVfZmJkZXZfbW9kZV9hdG9taWMoZmJfaGVscGVyLCBkcG1zX21vZGUg PT0gRFJNX01PREVfRFBNU19PTik7CisJCXJldCA9IGRybV9jbGllbnRfbW9kZXNldF9jb21taXRf YXRvbWljKGNsaWVudCwgbW9kZSA9PSBEUk1fTU9ERV9EUE1TX09OKTsKIAllbHNlCi0JCWRwbXNf bGVnYWN5KGZiX2hlbHBlciwgZHBtc19tb2RlKTsKKwkJZHJtX2NsaWVudF9tb2Rlc2V0X2RwbXNf bGVnYWN5KGNsaWVudCwgbW9kZSk7CiAJbXV0ZXhfdW5sb2NrKCZjbGllbnQtPm1vZGVzZXRfbXV0 ZXgpOwogCiAJZHJtX21hc3Rlcl9pbnRlcm5hbF9yZWxlYXNlKGRldik7Ci11bmxvY2s6CisKKwly ZXR1cm4gcmV0OworfQorCitzdGF0aWMgdm9pZCBkcm1fZmJfaGVscGVyX2RwbXMoc3RydWN0IGZi X2luZm8gKmluZm8sIGludCBkcG1zX21vZGUpCit7CisJc3RydWN0IGRybV9mYl9oZWxwZXIgKmZi X2hlbHBlciA9IGluZm8tPnBhcjsKKworCW11dGV4X2xvY2soJmZiX2hlbHBlci0+bG9jayk7CisJ ZHJtX2NsaWVudF9tb2Rlc2V0X2RwbXMoJmZiX2hlbHBlci0+Y2xpZW50LCBkcG1zX21vZGUpOwog CW11dGV4X3VubG9jaygmZmJfaGVscGVyLT5sb2NrKTsKIH0KIApAQCAtMTc5NSw3ICsxODM1LDcg QEAgc3RhdGljIGludCBwYW5fZGlzcGxheV9hdG9taWMoc3RydWN0IGZiX3Zhcl9zY3JlZW5pbmZv ICp2YXIsCiAKIAlwYW5fc2V0KGZiX2hlbHBlciwgdmFyLT54b2Zmc2V0LCB2YXItPnlvZmZzZXQp OwogCi0JcmV0ID0gcmVzdG9yZV9mYmRldl9tb2RlX2ZvcmNlKGZiX2hlbHBlcik7CisJcmV0ID0g ZHJtX2NsaWVudF9tb2Rlc2V0X2NvbW1pdF9mb3JjZSgmZmJfaGVscGVyLT5jbGllbnQpOwogCWlm ICghcmV0KSB7CiAJCWluZm8tPnZhci54b2Zmc2V0ID0gdmFyLT54b2Zmc2V0OwogCQlpbmZvLT52 YXIueW9mZnNldCA9IHZhci0+eW9mZnNldDsKQEAgLTIwMjEsNyArMjA2MSw3IEBAIHN0YXRpYyBp bnQgZHJtX2ZiX2hlbHBlcl9zaW5nbGVfZmJfcHJvYmUoc3RydWN0IGRybV9mYl9oZWxwZXIgKmZi X2hlbHBlciwKIAogCQkvKiBGaXJzdCB0aW1lOiBkaXNhYmxlIGFsbCBjcnRjJ3MuLiAqLwogCQlp ZiAoIWZiX2hlbHBlci0+ZGVmZXJyZWRfc2V0dXApCi0JCQlyZXN0b3JlX2ZiZGV2X21vZGUoZmJf aGVscGVyKTsKKwkJCWRybV9jbGllbnRfbW9kZXNldF9jb21taXQoY2xpZW50KTsKIAkJcmV0dXJu IC1FQUdBSU47CiAJfQogCkBAIC0yNzk0LDcgKzI4MzQsNyBAQCBzdGF0aWMgdm9pZCBkcm1fc2V0 dXBfY3J0Y3NfZmIoc3RydWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlcikKIAogCQltb2Rlc2V0 LT5mYiA9IGZiX2hlbHBlci0+ZmI7CiAKLQkJaWYgKGRybV9mYl9oZWxwZXJfcGFuZWxfcm90YXRp b24obW9kZXNldCwgJnJvdGF0aW9uKSkKKwkJaWYgKGRybV9jbGllbnRfcGFuZWxfcm90YXRpb24o bW9kZXNldCwgJnJvdGF0aW9uKSkKIAkJCS8qIFJvdGF0aW5nIGluIGhhcmR3YXJlLCBmYmNvbiBz aG91bGQgbm90IHJvdGF0ZSAqLwogCQkJc3dfcm90YXRpb25zIHw9IERSTV9NT0RFX1JPVEFURV8w OwogCQllbHNlCi0tIAoyLjIwLjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2RyaS1kZXZlbA==