From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Deucher Subject: [PATCH] drm/amdgpu: simplify Raven, Raven2, and Picasso handling Date: Thu, 13 Sep 2018 15:45:27 -0500 Message-ID: <20180913204527.17965-1-alexander.deucher@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Alex Deucher VHJlYXQgdGhlbSBhbGwgYXMgUmF2ZW4gcmF0aGVyIHRoYW4gYWRkaW5nIGEgbmV3IHBpY2Fzc28K YXNpYyB0eXBlLiAgVGhpcyBzaW1wbGlmaWVzIGEgbG90IG9mIGNvZGUgYW5kIGFsc28gaGFuZGxl cyB0aGUKY2FzZSBvZiBydjIgY2hpcHMgd2l0aCB0aGUgMHgxNWQ4IHBjaSBpZC4gIEl0IGFsc28g Zml4ZXMgZG1jdQpmdyBoYW5kbGluZyBmb3IgcGljYXNzby4KClNpZ25lZC1vZmYtYnk6IEFsZXgg RGV1Y2hlciA8YWxleGFuZGVyLmRldWNoZXJAYW1kLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfZGV2aWNlLmMgICAgICAgICB8IDEwICstLS0KIGRyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kcnYuYyAgICAgICAgICAgIHwgIDMgKy0KIGRyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9wc3AuYyAgICAgICAgICAgIHwgIDEgLQogZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3Vjb2RlLmMgICAgICAgICAgfCAgMSAtCiBkcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdmNuLmMgICAgICAgICAgICB8ICA3ICstLQog ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmMgICAgICAgICAgICAgfCAgNCAr LQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y5XzAuYyAgICAgICAgICAgICAgfCAz MiArKy0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ21jX3Y5XzAuYyAgICAg ICAgICAgICAgfCAgNCAtLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvbW1odWJfdjFfMC5j ICAgICAgICAgICAgfCAxMSArKy0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9wc3BfdjEw XzAuYyAgICAgICAgICAgICB8ICA1ICstCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zZG1h X3Y0XzAuYyAgICAgICAgICAgICB8IDExICstLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L3NvYzE1LmMgICAgICAgICAgICAgICAgIHwgNjYgKysrKysrKysrKy0tLS0tLS0tLS0tLQogZHJp dmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG0uYyAgfCAgOCArLS0K IGRyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL2h3bWdyLmMgICAgICAgIHwgIDEg LQogLi4uL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci9wcm9jZXNzcHB0YWJsZXMuYyAgfCAg OCArLS0KIGluY2x1ZGUvZHJtL2FtZF9hc2ljX3R5cGUuaCAgICAgICAgICAgICAgICAgICAgICAg IHwgIDEgLQogMTYgZmlsZXMgY2hhbmdlZCwgNjAgaW5zZXJ0aW9ucygrKSwgMTEzIGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kZXZp Y2UuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kZXZpY2UuYwppbmRleCA3 NjJkYzVmODg2Y2QuLjM1NGYwNTU3ZDY5NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1X2RldmljZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2FtZGdwdV9kZXZpY2UuYwpAQCAtOTEsNyArOTEsNiBAQCBzdGF0aWMgY29uc3QgY2hhciAqYW1k Z3B1X2FzaWNfbmFtZVtdID0gewogCSJWRUdBMTIiLAogCSJWRUdBMjAiLAogCSJSQVZFTiIsCi0J IlBJQ0FTU08iLAogCSJMQVNUIiwKIH07CiAKQEAgLTEzMzcsMTIgKzEzMzYsMTEgQEAgc3RhdGlj IGludCBhbWRncHVfZGV2aWNlX3BhcnNlX2dwdV9pbmZvX2Z3KHN0cnVjdCBhbWRncHVfZGV2aWNl ICphZGV2KQogCWNhc2UgQ0hJUF9SQVZFTjoKIAkJaWYgKGFkZXYtPnJldl9pZCA+PSA4KQogCQkJ Y2hpcF9uYW1lID0gInJhdmVuMiI7CisJCWVsc2UgaWYgKGFkZXYtPnBkZXYtPmRldmljZSA9PSAw eDE1ZDgpCisJCQljaGlwX25hbWUgPSAicGljYXNzbyI7CiAJCWVsc2UKIAkJCWNoaXBfbmFtZSA9 ICJyYXZlbiI7CiAJCWJyZWFrOwotCWNhc2UgQ0hJUF9QSUNBU1NPOgotCQljaGlwX25hbWUgPSAi cGljYXNzbyI7Ci0JCWJyZWFrOwogCX0KIAogCXNucHJpbnRmKGZ3X25hbWUsIHNpemVvZihmd19u YW1lKSwgImFtZGdwdS8lc19ncHVfaW5mby5iaW4iLCBjaGlwX25hbWUpOwpAQCAtMTQ2OCw4ICsx NDY2LDcgQEAgc3RhdGljIGludCBhbWRncHVfZGV2aWNlX2lwX2Vhcmx5X2luaXQoc3RydWN0IGFt ZGdwdV9kZXZpY2UgKmFkZXYpCiAJY2FzZSBDSElQX1ZFR0ExMjoKIAljYXNlIENISVBfVkVHQTIw OgogCWNhc2UgQ0hJUF9SQVZFTjoKLQljYXNlIENISVBfUElDQVNTTzoKLQkJaWYgKChhZGV2LT5h c2ljX3R5cGUgPT0gQ0hJUF9SQVZFTikgfHwgKGFkZXYtPmFzaWNfdHlwZSA9PSBDSElQX1BJQ0FT U08pKQorCQlpZiAoYWRldi0+YXNpY190eXBlID09IENISVBfUkFWRU4pCiAJCQlhZGV2LT5mYW1p bHkgPSBBTURHUFVfRkFNSUxZX1JWOwogCQllbHNlCiAJCQlhZGV2LT5mYW1pbHkgPSBBTURHUFVf RkFNSUxZX0FJOwpAQCAtMjE4Myw3ICsyMTgwLDYgQEAgYm9vbCBhbWRncHVfZGV2aWNlX2FzaWNf aGFzX2RjX3N1cHBvcnQoZW51bSBhbWRfYXNpY190eXBlIGFzaWNfdHlwZSkKIAljYXNlIENISVBf VkVHQTIwOgogI2lmIGRlZmluZWQoQ09ORklHX0RSTV9BTURfRENfRENOMV8wKQogCWNhc2UgQ0hJ UF9SQVZFTjoKLQljYXNlIENISVBfUElDQVNTTzoKICNlbmRpZgogCQlyZXR1cm4gYW1kZ3B1X2Rj ICE9IDA7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kcnYuYwppbmRl eCAzM2UxODU2ZmI4Y2MuLmZmMTBkZjRmNTBkMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2FtZGdwdV9kcnYuYwpAQCAtODc0LDggKzg3NCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGNp X2RldmljZV9pZCBwY2lpZGxpc3RbXSA9IHsKIAl7MHgxMDAyLCAweDY2QUYsIFBDSV9BTllfSUQs IFBDSV9BTllfSUQsIDAsIDAsIENISVBfVkVHQTIwfSwKIAkvKiBSYXZlbiAqLwogCXsweDEwMDIs IDB4MTVkZCwgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwgQ0hJUF9SQVZFTnxBTURfSVNf QVBVfSwKLQkvKiBQaWNhc3NvICovCi0JezB4MTAwMiwgMHgxNWQ4LCBQQ0lfQU5ZX0lELCBQQ0lf QU5ZX0lELCAwLCAwLCBDSElQX1BJQ0FTU098QU1EX0lTX0FQVX0sCisJezB4MTAwMiwgMHgxNWQ4 LCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCBDSElQX1JBVkVOfEFNRF9JU19BUFV9LAog CiAJezAsIDAsIDB9CiB9OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X3BzcC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3BzcC5jCmlu ZGV4IDYxMWMwNmQzNjAwYS4uYmQzOTdkMjkxNmZiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfcHNwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvYW1kZ3B1X3BzcC5jCkBAIC01Niw3ICs1Niw2IEBAIHN0YXRpYyBpbnQgcHNwX3N3X2luaXQo dm9pZCAqaGFuZGxlKQogCQlwc3BfdjNfMV9zZXRfcHNwX2Z1bmNzKHBzcCk7CiAJCWJyZWFrOwog CWNhc2UgQ0hJUF9SQVZFTjoKLQljYXNlIENISVBfUElDQVNTTzoKIAkJcHNwX3YxMF8wX3NldF9w c3BfZnVuY3MocHNwKTsKIAkJYnJlYWs7CiAJY2FzZSBDSElQX1ZFR0EyMDoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV91Y29kZS5jIGIvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3Vjb2RlLmMKaW5kZXggYWNiNGM2NmZlODliLi4xZmE4YmMz Mzc4NTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV91Y29k ZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV91Y29kZS5jCkBAIC0z MDMsNyArMzAzLDYgQEAgYW1kZ3B1X3Vjb2RlX2dldF9sb2FkX3R5cGUoc3RydWN0IGFtZGdwdV9k ZXZpY2UgKmFkZXYsIGludCBsb2FkX3R5cGUpCiAJCQlyZXR1cm4gQU1ER1BVX0ZXX0xPQURfU01V OwogCWNhc2UgQ0hJUF9WRUdBMTA6CiAJY2FzZSBDSElQX1JBVkVOOgotCWNhc2UgQ0hJUF9QSUNB U1NPOgogCWNhc2UgQ0hJUF9WRUdBMTI6CiAJY2FzZSBDSElQX1ZFR0EyMDoKIAkJaWYgKCFsb2Fk X3R5cGUpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdmNu LmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdmNuLmMKaW5kZXggYTc0NDk4 Y2U4N2ZmLi5hNzM2NzRmOWEwZjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdV92Y24uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf dmNuLmMKQEAgLTYzLDE0ICs2MywxMyBAQCBpbnQgYW1kZ3B1X3Zjbl9zd19pbml0KHN0cnVjdCBh bWRncHVfZGV2aWNlICphZGV2KQogCiAJc3dpdGNoIChhZGV2LT5hc2ljX3R5cGUpIHsKIAljYXNl IENISVBfUkFWRU46Ci0gICAgICAgIGlmIChhZGV2LT5yZXZfaWQgPj0gOCkKKwkJaWYgKGFkZXYt PnJldl9pZCA+PSA4KQogCQkJZndfbmFtZSA9IEZJUk1XQVJFX1JBVkVOMjsKKwkJZWxzZSBpZiAo YWRldi0+cGRldi0+ZGV2aWNlID09IDB4MTVkOCkKKwkJCWZ3X25hbWUgPSBGSVJNV0FSRV9QSUNB U1NPOwogCQllbHNlCiAJCQlmd19uYW1lID0gRklSTVdBUkVfUkFWRU47CiAJCWJyZWFrOwotCWNh c2UgQ0hJUF9QSUNBU1NPOgotCQlmd19uYW1lID0gRklSTVdBUkVfUElDQVNTTzsKLQkJYnJlYWs7 CiAJZGVmYXVsdDoKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfdm0uYwppbmRleCA3YTlmZmU5ZWI4YmIuLmE3ZjlhYWE0N2M0OSAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmMKQEAgLTI5ODEsNyArMjk4MSw3IEBAIGludCBh bWRncHVfdm1faW5pdChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgc3RydWN0IGFtZGdwdV92 bSAqdm0sCiAJCXZtLT51c2VfY3B1X2Zvcl91cGRhdGUgPSAhIShhZGV2LT52bV9tYW5hZ2VyLnZt X3VwZGF0ZV9tb2RlICYKIAkJCQkJCUFNREdQVV9WTV9VU0VfQ1BVX0ZPUl9DT01QVVRFKTsKIAot CQlpZiAoYWRldi0+YXNpY190eXBlID09IENISVBfUkFWRU4gfHwgYWRldi0+YXNpY190eXBlID09 IENISVBfUElDQVNTTykKKwkJaWYgKGFkZXYtPmFzaWNfdHlwZSA9PSBDSElQX1JBVkVOKQogCQkJ dm0tPnB0ZV9zdXBwb3J0X2F0cyA9IHRydWU7CiAJfSBlbHNlIHsKIAkJdm0tPnVzZV9jcHVfZm9y X3VwZGF0ZSA9ICEhKGFkZXYtPnZtX21hbmFnZXIudm1fdXBkYXRlX21vZGUgJgpAQCAtMzA3Myw3 ICszMDczLDcgQEAgaW50IGFtZGdwdV92bV9pbml0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2 LCBzdHJ1Y3QgYW1kZ3B1X3ZtICp2bSwKICAqLwogaW50IGFtZGdwdV92bV9tYWtlX2NvbXB1dGUo c3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHN0cnVjdCBhbWRncHVfdm0gKnZtLCB1bnNpZ25l ZCBpbnQgcGFzaWQpCiB7Ci0JYm9vbCBwdGVfc3VwcG9ydF9hdHMgPSAoYWRldi0+YXNpY190eXBl ID09IENISVBfUkFWRU4gfHwgYWRldi0+YXNpY190eXBlID09IENISVBfUElDQVNTTyk7CisJYm9v bCBwdGVfc3VwcG9ydF9hdHMgPSAoYWRldi0+YXNpY190eXBlID09IENISVBfUkFWRU4pOwogCWlu dCByOwogCiAJciA9IGFtZGdwdV9ib19yZXNlcnZlKHZtLT5yb290LmJhc2UuYm8sIHRydWUpOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y5XzAuYyBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dmeF92OV8wLmMKaW5kZXggNDk5MWFlMDBhNGNhLi43NWE5 MTY2MzAxOWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dmeF92OV8w LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y5XzAuYwpAQCAtMjc3LDcg KzI3Nyw2IEBAIHN0YXRpYyBjb25zdCB1MzIgR0ZYX1JMQ19TUk1fSU5ERVhfQ05UTF9EQVRBX09G RlNFVFNbXSA9CiAjZGVmaW5lIFZFR0ExMF9HQl9BRERSX0NPTkZJR19HT0xERU4gMHgyYTExNDA0 MgogI2RlZmluZSBWRUdBMTJfR0JfQUREUl9DT05GSUdfR09MREVOIDB4MjQxMDQwNDEKICNkZWZp bmUgUkFWRU5fR0JfQUREUl9DT05GSUdfR09MREVOIDB4MjQwMDAwNDIKLSNkZWZpbmUgUElDQVNT T19HQl9BRERSX0NPTkZJR19HT0xERU4gMHgyNDAwMDA0MgogI2RlZmluZSBSQVZFTjJfR0JfQURE Ul9DT05GSUdfR09MREVOIDB4MjYwMTMwNDEKIAogc3RhdGljIHZvaWQgZ2Z4X3Y5XzBfc2V0X3Jp bmdfZnVuY3Moc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpOwpAQCAtMzI5LDE0ICszMjgsNiBA QCBzdGF0aWMgdm9pZCBnZnhfdjlfMF9pbml0X2dvbGRlbl9yZWdpc3RlcnMoc3RydWN0IGFtZGdw dV9kZXZpY2UgKmFkZXYpCiAJCQkJCQkJZ29sZGVuX3NldHRpbmdzX2djXzlfMV9ydjEsCiAJCQkJ CQkJQVJSQVlfU0laRShnb2xkZW5fc2V0dGluZ3NfZ2NfOV8xX3J2MSkpOwogCQlicmVhazsKLQlj YXNlIENISVBfUElDQVNTTzoKLQkJc29jMTVfcHJvZ3JhbV9yZWdpc3Rlcl9zZXF1ZW5jZShhZGV2 LAotCQkJCQkJIGdvbGRlbl9zZXR0aW5nc19nY185XzEsCi0JCQkJCQkgQVJSQVlfU0laRShnb2xk ZW5fc2V0dGluZ3NfZ2NfOV8xKSk7Ci0JCXNvYzE1X3Byb2dyYW1fcmVnaXN0ZXJfc2VxdWVuY2Uo YWRldiwKLQkJCQkJCSBnb2xkZW5fc2V0dGluZ3NfZ2NfOV8xX3J2MSwKLQkJCQkJCSBBUlJBWV9T SVpFKGdvbGRlbl9zZXR0aW5nc19nY185XzFfcnYxKSk7Ci0JCWJyZWFrOwogCWRlZmF1bHQ6CiAJ CWJyZWFrOwogCX0KQEAgLTYxNywxMiArNjA4LDExIEBAIHN0YXRpYyBpbnQgZ2Z4X3Y5XzBfaW5p dF9taWNyb2NvZGUoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCiAJY2FzZSBDSElQX1JBVkVO OgogCQlpZiAoYWRldi0+cmV2X2lkID49IDgpCiAJCQljaGlwX25hbWUgPSAicmF2ZW4yIjsKKwkJ ZWxzZSBpZiAoYWRldi0+cGRldi0+ZGV2aWNlID09IDB4MTVkOCkKKwkJCWNoaXBfbmFtZSA9ICJw aWNhc3NvIjsKIAkJZWxzZQogCQkJY2hpcF9uYW1lID0gInJhdmVuIjsKIAkJYnJlYWs7Ci0JY2Fz ZSBDSElQX1BJQ0FTU086Ci0JCWNoaXBfbmFtZSA9ICJwaWNhc3NvIjsKLQkJYnJlYWs7CiAJZGVm YXVsdDoKIAkJQlVHKCk7CiAJfQpAQCAtMTA3Niw3ICsxMDY2LDcgQEAgc3RhdGljIGludCBnZnhf djlfMF9ybGNfaW5pdChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKIAkJYW1kZ3B1X2JvX3Vu cmVzZXJ2ZShhZGV2LT5nZngucmxjLmNsZWFyX3N0YXRlX29iaik7CiAJfQogCi0JaWYgKGFkZXYt PmFzaWNfdHlwZSA9PSBDSElQX1JBVkVOIHx8IGFkZXYtPmFzaWNfdHlwZSA9PSBDSElQX1BJQ0FT U08pIHsKKwlpZiAoYWRldi0+YXNpY190eXBlID09IENISVBfUkFWRU4pIHsKIAkJLyogVE9ETzog ZG91YmxlIGNoZWNrIHRoZSBjcF90YWJsZV9zaXplIGZvciBSViAqLwogCQlhZGV2LT5nZngucmxj LmNwX3RhYmxlX3NpemUgPSBBTElHTig5NiAqIDUgKiA0LCAyMDQ4KSArICg2NCAqIDEwMjQpOyAv KiBKVCArIEdEUyAqLwogCQlyID0gYW1kZ3B1X2JvX2NyZWF0ZV9yZXNlcnZlZChhZGV2LCBhZGV2 LT5nZngucmxjLmNwX3RhYmxlX3NpemUsCkBAIC0xMzI4LDE0ICsxMzE4LDYgQEAgc3RhdGljIGlu dCBnZnhfdjlfMF9ncHVfZWFybHlfaW5pdChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKIAkJ ZWxzZQogCQkJZ2JfYWRkcl9jb25maWcgPSBSQVZFTl9HQl9BRERSX0NPTkZJR19HT0xERU47CiAJ CWJyZWFrOwotCWNhc2UgQ0hJUF9QSUNBU1NPOgotCQlhZGV2LT5nZnguY29uZmlnLm1heF9od19j b250ZXh0cyA9IDg7Ci0JCWFkZXYtPmdmeC5jb25maWcuc2NfcHJpbV9maWZvX3NpemVfZnJvbnRl bmQgPSAweDIwOwotCQlhZGV2LT5nZnguY29uZmlnLnNjX3ByaW1fZmlmb19zaXplX2JhY2tlbmQg PSAweDEwMDsKLQkJYWRldi0+Z2Z4LmNvbmZpZy5zY19oaXpfdGlsZV9maWZvX3NpemUgPSAweDMw OwotCQlhZGV2LT5nZnguY29uZmlnLnNjX2Vhcmx5el90aWxlX2ZpZm9fc2l6ZSA9IDB4NEMwOwot CQlnYl9hZGRyX2NvbmZpZyA9IFBJQ0FTU09fR0JfQUREUl9DT05GSUdfR09MREVOOwotCQlicmVh azsKIAlkZWZhdWx0OgogCQlCVUcoKTsKIAkJYnJlYWs7CkBAIC0xNjE0LDcgKzE1OTYsNiBAQCBz dGF0aWMgaW50IGdmeF92OV8wX3N3X2luaXQodm9pZCAqaGFuZGxlKQogCWNhc2UgQ0hJUF9WRUdB MTI6CiAJY2FzZSBDSElQX1ZFR0EyMDoKIAljYXNlIENISVBfUkFWRU46Ci0JY2FzZSBDSElQX1BJ Q0FTU086CiAJCWFkZXYtPmdmeC5tZWMubnVtX21lYyA9IDI7CiAJCWJyZWFrOwogCWRlZmF1bHQ6 CkBAIC0xNzc2LDcgKzE3NTcsNyBAQCBzdGF0aWMgaW50IGdmeF92OV8wX3N3X2Zpbmkodm9pZCAq aGFuZGxlKQogCWFtZGdwdV9ib19mcmVlX2tlcm5lbCgmYWRldi0+Z2Z4LnJsYy5jbGVhcl9zdGF0 ZV9vYmosCiAJCQkJJmFkZXYtPmdmeC5ybGMuY2xlYXJfc3RhdGVfZ3B1X2FkZHIsCiAJCQkJKHZv aWQgKiopJmFkZXYtPmdmeC5ybGMuY3NfcHRyKTsKLQlpZiAoKGFkZXYtPmFzaWNfdHlwZSA9PSBD SElQX1JBVkVOKSB8fCAoYWRldi0+YXNpY190eXBlID09IENISVBfUElDQVNTTykpIHsKKwlpZiAo YWRldi0+YXNpY190eXBlID09IENISVBfUkFWRU4pIHsKIAkJYW1kZ3B1X2JvX2ZyZWVfa2VybmVs KCZhZGV2LT5nZngucmxjLmNwX3RhYmxlX29iaiwKIAkJCQkmYWRldi0+Z2Z4LnJsYy5jcF90YWJs ZV9ncHVfYWRkciwKIAkJCQkodm9pZCAqKikmYWRldi0+Z2Z4LnJsYy5jcF90YWJsZV9wdHIpOwpA QCAtMjQ0Miw3ICsyNDIzLDcgQEAgc3RhdGljIGludCBnZnhfdjlfMF9ybGNfcmVzdW1lKHN0cnVj dCBhbWRncHVfZGV2aWNlICphZGV2KQogCQkJcmV0dXJuIHI7CiAJfQogCi0JaWYgKGFkZXYtPmFz aWNfdHlwZSA9PSBDSElQX1JBVkVOIHx8IGFkZXYtPmFzaWNfdHlwZSA9PSBDSElQX1BJQ0FTU08p IHsKKwlpZiAoYWRldi0+YXNpY190eXBlID09IENISVBfUkFWRU4pIHsKIAkJaWYgKGFtZGdwdV9s YnB3ICE9IDApCiAJCQlnZnhfdjlfMF9lbmFibGVfbGJwdyhhZGV2LCB0cnVlKTsKIAkJZWxzZQpA QCAtMzg0Niw3ICszODI3LDYgQEAgc3RhdGljIGludCBnZnhfdjlfMF9zZXRfcG93ZXJnYXRpbmdf c3RhdGUodm9pZCAqaGFuZGxlLAogCiAJc3dpdGNoIChhZGV2LT5hc2ljX3R5cGUpIHsKIAljYXNl IENISVBfUkFWRU46Ci0JY2FzZSBDSElQX1BJQ0FTU086CiAJCWlmICghZW5hYmxlKSB7CiAJCQlh bWRncHVfZ2Z4X29mZl9jdHJsKGFkZXYsIGZhbHNlKTsKIAkJCWNhbmNlbF9kZWxheWVkX3dvcmtf c3luYygmYWRldi0+Z2Z4LmdmeF9vZmZfZGVsYXlfd29yayk7CkBAIC0zOTAxLDcgKzM4ODEsNiBA QCBzdGF0aWMgaW50IGdmeF92OV8wX3NldF9jbG9ja2dhdGluZ19zdGF0ZSh2b2lkICpoYW5kbGUs CiAJY2FzZSBDSElQX1ZFR0ExMjoKIAljYXNlIENISVBfVkVHQTIwOgogCWNhc2UgQ0hJUF9SQVZF TjoKLQljYXNlIENISVBfUElDQVNTTzoKIAkJZ2Z4X3Y5XzBfdXBkYXRlX2dmeF9jbG9ja19nYXRp bmcoYWRldiwKIAkJCQkJCSBzdGF0ZSA9PSBBTURfQ0dfU1RBVEVfR0FURSA/IHRydWUgOiBmYWxz ZSk7CiAJCWJyZWFrOwpAQCAtNDkxMSw3ICs0ODkwLDYgQEAgc3RhdGljIHZvaWQgZ2Z4X3Y5XzBf c2V0X3JsY19mdW5jcyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKIAljYXNlIENISVBfVkVH QTEyOgogCWNhc2UgQ0hJUF9WRUdBMjA6CiAJY2FzZSBDSElQX1JBVkVOOgotCWNhc2UgQ0hJUF9Q SUNBU1NPOgogCQlhZGV2LT5nZngucmxjLmZ1bmNzID0gJmdmeF92OV8wX3JsY19mdW5jczsKIAkJ YnJlYWs7CiAJZGVmYXVsdDoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2dtY192OV8wLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nbWNfdjlfMC5jCmluZGV4 IDBhZDE1ODZjMjkzZi4uYWFkM2M3YzVmYjNhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9nbWNfdjlfMC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dt Y192OV8wLmMKQEAgLTg0Niw3ICs4NDYsNiBAQCBzdGF0aWMgaW50IGdtY192OV8wX21jX2luaXQo c3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCiAJCQlhZGV2LT5nbWMuZ2FydF9zaXplID0gNTEy VUxMIDw8IDIwOwogCQkJYnJlYWs7CiAJCWNhc2UgQ0hJUF9SQVZFTjogICAvKiBEQ0UgU0cgc3Vw cG9ydCAqLwotCQljYXNlIENISVBfUElDQVNTTzogICAvKiBEQ0UgU0cgc3VwcG9ydCAqLwogCQkJ YWRldi0+Z21jLmdhcnRfc2l6ZSA9IDEwMjRVTEwgPDwgMjA7CiAJCQlicmVhazsKIAkJfQpAQCAt OTM1LDcgKzkzNCw2IEBAIHN0YXRpYyBpbnQgZ21jX3Y5XzBfc3dfaW5pdCh2b2lkICpoYW5kbGUp CiAJYWRldi0+Z21jLnZyYW1fdHlwZSA9IGFtZGdwdV9hdG9tZmlybXdhcmVfZ2V0X3ZyYW1fdHlw ZShhZGV2KTsKIAlzd2l0Y2ggKGFkZXYtPmFzaWNfdHlwZSkgewogCWNhc2UgQ0hJUF9SQVZFTjoK LQljYXNlIENISVBfUElDQVNTTzoKIAkJaWYgKGFkZXYtPnJldl9pZCA9PSAweDAgfHwgYWRldi0+ cmV2X2lkID09IDB4MSkgewogCQkJYW1kZ3B1X3ZtX2FkanVzdF9zaXplKGFkZXYsIDI1NiAqIDEw MjQsIDksIDMsIDQ4KTsKIAkJfSBlbHNlIHsKQEAgLTEwNjIsNyArMTA2MCw2IEBAIHN0YXRpYyB2 b2lkIGdtY192OV8wX2luaXRfZ29sZGVuX3JlZ2lzdGVycyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAq YWRldikKIAljYXNlIENISVBfVkVHQTEyOgogCQlicmVhazsKIAljYXNlIENISVBfUkFWRU46Ci0J Y2FzZSBDSElQX1BJQ0FTU086CiAJCXNvYzE1X3Byb2dyYW1fcmVnaXN0ZXJfc2VxdWVuY2UoYWRl diwKIAkJCQkJCWdvbGRlbl9zZXR0aW5nc19hdGh1Yl8xXzBfMCwKIAkJCQkJCUFSUkFZX1NJWkUo Z29sZGVuX3NldHRpbmdzX2F0aHViXzFfMF8wKSk7CkBAIC0xMDk3LDcgKzEwOTQsNiBAQCBzdGF0 aWMgaW50IGdtY192OV8wX2dhcnRfZW5hYmxlKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQog CiAJc3dpdGNoIChhZGV2LT5hc2ljX3R5cGUpIHsKIAljYXNlIENISVBfUkFWRU46Ci0JY2FzZSBD SElQX1BJQ0FTU086CiAJCW1taHViX3YxXzBfdXBkYXRlX3Bvd2VyX2dhdGluZyhhZGV2LCB0cnVl KTsKIAkJYnJlYWs7CiAJZGVmYXVsdDoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L21taHViX3YxXzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L21taHViX3Yx XzAuYwppbmRleCAyYTEyNmM2OTUwYzcuLjgwNjk4YjVmZmE0YSAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvbW1odWJfdjFfMC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L21taHViX3YxXzAuYwpAQCAtNDEyLDcgKzQxMiw3IEBAIHN0YXRpYyB2b2lkIG1t aHViX3YxXzBfdXBkYXRlX21lZGl1bV9ncmFpbl9jbG9ja19nYXRpbmcoc3RydWN0IGFtZGdwdV9k ZXZpY2UgKmFkCiAKIAlkZWYgID0gZGF0YSAgPSBSUkVHMzJfU09DMTUoTU1IVUIsIDAsIG1tQVRD X0wyX01JU0NfQ0cpOwogCi0JaWYgKGFkZXYtPmFzaWNfdHlwZSAhPSBDSElQX1JBVkVOICYmIGFk ZXYtPmFzaWNfdHlwZSAhPSBDSElQX1BJQ0FTU08pIHsKKwlpZiAoYWRldi0+YXNpY190eXBlICE9 IENISVBfUkFWRU4pIHsKIAkJZGVmMSA9IGRhdGExID0gUlJFRzMyX1NPQzE1KE1NSFVCLCAwLCBt bURBR0IwX0NOVExfTUlTQzIpOwogCQlkZWYyID0gZGF0YTIgPSBSUkVHMzJfU09DMTUoTU1IVUIs IDAsIG1tREFHQjFfQ05UTF9NSVNDMik7CiAJfSBlbHNlCkBAIC00MjgsNyArNDI4LDcgQEAgc3Rh dGljIHZvaWQgbW1odWJfdjFfMF91cGRhdGVfbWVkaXVtX2dyYWluX2Nsb2NrX2dhdGluZyhzdHJ1 Y3QgYW1kZ3B1X2RldmljZSAqYWQKIAkJICAgICAgICAgICBEQUdCMF9DTlRMX01JU0MyX19ESVNB QkxFX1RMQldSX0NHX01BU0sgfAogCQkgICAgICAgICAgIERBR0IwX0NOVExfTUlTQzJfX0RJU0FC TEVfVExCUkRfQ0dfTUFTSyk7CiAKLQkJaWYgKGFkZXYtPmFzaWNfdHlwZSAhPSBDSElQX1JBVkVO ICYmIGFkZXYtPmFzaWNfdHlwZSAhPSBDSElQX1BJQ0FTU08pCisJCWlmIChhZGV2LT5hc2ljX3R5 cGUgIT0gQ0hJUF9SQVZFTikKIAkJCWRhdGEyICY9IH4oREFHQjFfQ05UTF9NSVNDMl9fRElTQUJM RV9XUlJFUV9DR19NQVNLIHwKIAkJCSAgICAgICAgICAgREFHQjFfQ05UTF9NSVNDMl9fRElTQUJM RV9XUlJFVF9DR19NQVNLIHwKIAkJCSAgICAgICAgICAgREFHQjFfQ05UTF9NSVNDMl9fRElTQUJM RV9SRFJFUV9DR19NQVNLIHwKQEAgLTQ0NSw3ICs0NDUsNyBAQCBzdGF0aWMgdm9pZCBtbWh1Yl92 MV8wX3VwZGF0ZV9tZWRpdW1fZ3JhaW5fY2xvY2tfZ2F0aW5nKHN0cnVjdCBhbWRncHVfZGV2aWNl ICphZAogCQkJICBEQUdCMF9DTlRMX01JU0MyX19ESVNBQkxFX1RMQldSX0NHX01BU0sgfAogCQkJ ICBEQUdCMF9DTlRMX01JU0MyX19ESVNBQkxFX1RMQlJEX0NHX01BU0spOwogCi0JCWlmIChhZGV2 LT5hc2ljX3R5cGUgIT0gQ0hJUF9SQVZFTiAmJiBhZGV2LT5hc2ljX3R5cGUgIT0gQ0hJUF9QSUNB U1NPKQorCQlpZiAoYWRldi0+YXNpY190eXBlICE9IENISVBfUkFWRU4pCiAJCQlkYXRhMiB8PSAo REFHQjFfQ05UTF9NSVNDMl9fRElTQUJMRV9XUlJFUV9DR19NQVNLIHwKIAkJCSAgICAgICAgICBE QUdCMV9DTlRMX01JU0MyX19ESVNBQkxFX1dSUkVUX0NHX01BU0sgfAogCQkJICAgICAgICAgIERB R0IxX0NOVExfTUlTQzJfX0RJU0FCTEVfUkRSRVFfQ0dfTUFTSyB8CkBAIC00NTgsMTMgKzQ1OCwx MyBAQCBzdGF0aWMgdm9pZCBtbWh1Yl92MV8wX3VwZGF0ZV9tZWRpdW1fZ3JhaW5fY2xvY2tfZ2F0 aW5nKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZAogCQlXUkVHMzJfU09DMTUoTU1IVUIsIDAsIG1t QVRDX0wyX01JU0NfQ0csIGRhdGEpOwogCiAJaWYgKGRlZjEgIT0gZGF0YTEpIHsKLQkJaWYgKGFk ZXYtPmFzaWNfdHlwZSAhPSBDSElQX1JBVkVOICYmIGFkZXYtPmFzaWNfdHlwZSAhPSBDSElQX1BJ Q0FTU08pCisJCWlmIChhZGV2LT5hc2ljX3R5cGUgIT0gQ0hJUF9SQVZFTikKIAkJCVdSRUczMl9T T0MxNShNTUhVQiwgMCwgbW1EQUdCMF9DTlRMX01JU0MyLCBkYXRhMSk7CiAJCWVsc2UKIAkJCVdS RUczMl9TT0MxNShNTUhVQiwgMCwgbW1EQUdCMF9DTlRMX01JU0MyX1JWLCBkYXRhMSk7CiAJfQog Ci0JaWYgKGFkZXYtPmFzaWNfdHlwZSAhPSBDSElQX1JBVkVOICYmIGFkZXYtPmFzaWNfdHlwZSAh PSBDSElQX1BJQ0FTU08gJiYgZGVmMiAhPSBkYXRhMikKKwlpZiAoYWRldi0+YXNpY190eXBlICE9 IENISVBfUkFWRU4gJiYgZGVmMiAhPSBkYXRhMikKIAkJV1JFRzMyX1NPQzE1KE1NSFVCLCAwLCBt bURBR0IxX0NOVExfTUlTQzIsIGRhdGEyKTsKIH0KIApAQCAtNTI4LDcgKzUyOCw2IEBAIGludCBt bWh1Yl92MV8wX3NldF9jbG9ja2dhdGluZyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKIAlj YXNlIENISVBfVkVHQTEyOgogCWNhc2UgQ0hJUF9WRUdBMjA6CiAJY2FzZSBDSElQX1JBVkVOOgot CWNhc2UgQ0hJUF9QSUNBU1NPOgogCQltbWh1Yl92MV8wX3VwZGF0ZV9tZWRpdW1fZ3JhaW5fY2xv Y2tfZ2F0aW5nKGFkZXYsCiAJCQkJc3RhdGUgPT0gQU1EX0NHX1NUQVRFX0dBVEUgPyB0cnVlIDog ZmFsc2UpOwogCQlhdGh1Yl91cGRhdGVfbWVkaXVtX2dyYWluX2Nsb2NrX2dhdGluZyhhZGV2LApk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvcHNwX3YxMF8wLmMgYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9wc3BfdjEwXzAuYwppbmRleCAyY2ZkMWJiNTU5ZGQuLjI5 NWMyMjA1NDg1YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvcHNwX3Yx MF8wLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvcHNwX3YxMF8wLmMKQEAgLTEy MSwxMiArMTIxLDExIEBAIHN0YXRpYyBpbnQgcHNwX3YxMF8wX2luaXRfbWljcm9jb2RlKHN0cnVj dCBwc3BfY29udGV4dCAqcHNwKQogCWNhc2UgQ0hJUF9SQVZFTjoKIAkJaWYgKGFkZXYtPnJldl9p ZCA+PSAweDgpCiAJCQljaGlwX25hbWUgPSAicmF2ZW4yIjsKKwkJZWxzZSBpZiAoYWRldi0+cGRl di0+ZGV2aWNlID09IDB4MTVkOCkKKwkJCWNoaXBfbmFtZSA9ICJwaWNhc3NvIjsKIAkJZWxzZQog CQkJY2hpcF9uYW1lID0gInJhdmVuIjsKIAkJYnJlYWs7Ci0JY2FzZSBDSElQX1BJQ0FTU086Ci0J CWNoaXBfbmFtZSA9ICJwaWNhc3NvIjsKLQkJYnJlYWs7CiAJZGVmYXVsdDogQlVHKCk7CiAJfQog CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zZG1hX3Y0XzAuYyBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NkbWFfdjRfMC5jCmluZGV4IDc1YmUwYjllZDJjMC4u MmVhMWYwZDhmNWJlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zZG1h X3Y0XzAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zZG1hX3Y0XzAuYwpAQCAt MjI5LDcgKzIyOSw2IEBAIHN0YXRpYyB2b2lkIHNkbWFfdjRfMF9pbml0X2dvbGRlbl9yZWdpc3Rl cnMoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCiAJCQkJCQlBUlJBWV9TSVpFKGdvbGRlbl9z ZXR0aW5nc19zZG1hMV80XzIpKTsKIAkJYnJlYWs7CiAJY2FzZSBDSElQX1JBVkVOOgotCWNhc2Ug Q0hJUF9QSUNBU1NPOgogCQlzb2MxNV9wcm9ncmFtX3JlZ2lzdGVyX3NlcXVlbmNlKGFkZXYsCiAJ CQkJCQlnb2xkZW5fc2V0dGluZ3Nfc2RtYV80XzEsCiAJCQkJCQlBUlJBWV9TSVpFKGdvbGRlbl9z ZXR0aW5nc19zZG1hXzRfMSkpOwpAQCAtMjgzLDEyICsyODIsMTEgQEAgc3RhdGljIGludCBzZG1h X3Y0XzBfaW5pdF9taWNyb2NvZGUoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCiAJY2FzZSBD SElQX1JBVkVOOgogCQlpZiAoYWRldi0+cmV2X2lkID49IDgpCiAJCQljaGlwX25hbWUgPSAicmF2 ZW4yIjsKKwkJZWxzZSBpZiAoYWRldi0+cGRldi0+ZGV2aWNlID09IDB4MTVkOCkKKwkJCWNoaXBf bmFtZSA9ICJwaWNhc3NvIjsKIAkJZWxzZQogCQkJY2hpcF9uYW1lID0gInJhdmVuIjsKIAkJYnJl YWs7Ci0JY2FzZSBDSElQX1BJQ0FTU086Ci0JCWNoaXBfbmFtZSA9ICJwaWNhc3NvIjsKLQkJYnJl YWs7CiAJZGVmYXVsdDoKIAkJQlVHKCk7CiAJfQpAQCAtODY5LDcgKzg2Nyw2IEBAIHN0YXRpYyB2 b2lkIHNkbWFfdjRfMF9pbml0X3BnKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQogCiAJc3dp dGNoIChhZGV2LT5hc2ljX3R5cGUpIHsKIAljYXNlIENISVBfUkFWRU46Ci0JY2FzZSBDSElQX1BJ Q0FTU086CiAJCXNkbWFfdjRfMV9pbml0X3Bvd2VyX2dhdGluZyhhZGV2KTsKIAkJc2RtYV92NF8x X3VwZGF0ZV9wb3dlcl9nYXRpbmcoYWRldiwgdHJ1ZSk7CiAJCWJyZWFrOwpAQCAtMTI3Nyw3ICsx Mjc0LDcgQEAgc3RhdGljIGludCBzZG1hX3Y0XzBfZWFybHlfaW5pdCh2b2lkICpoYW5kbGUpCiB7 CiAJc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSAoc3RydWN0IGFtZGdwdV9kZXZpY2UgKilo YW5kbGU7CiAKLQlpZiAoYWRldi0+YXNpY190eXBlID09IENISVBfUkFWRU4gfHwgYWRldi0+YXNp Y190eXBlID09IENISVBfUElDQVNTTykKKwlpZiAoYWRldi0+YXNpY190eXBlID09IENISVBfUkFW RU4pCiAJCWFkZXYtPnNkbWEubnVtX2luc3RhbmNlcyA9IDE7CiAJZWxzZQogCQlhZGV2LT5zZG1h Lm51bV9pbnN0YW5jZXMgPSAyOwpAQCAtMTYyMCw3ICsxNjE3LDYgQEAgc3RhdGljIGludCBzZG1h X3Y0XzBfc2V0X2Nsb2NrZ2F0aW5nX3N0YXRlKHZvaWQgKmhhbmRsZSwKIAljYXNlIENISVBfVkVH QTEyOgogCWNhc2UgQ0hJUF9WRUdBMjA6CiAJY2FzZSBDSElQX1JBVkVOOgotCWNhc2UgQ0hJUF9Q SUNBU1NPOgogCQlzZG1hX3Y0XzBfdXBkYXRlX21lZGl1bV9ncmFpbl9jbG9ja19nYXRpbmcoYWRl diwKIAkJCQlzdGF0ZSA9PSBBTURfQ0dfU1RBVEVfR0FURSA/IHRydWUgOiBmYWxzZSk7CiAJCXNk bWFfdjRfMF91cGRhdGVfbWVkaXVtX2dyYWluX2xpZ2h0X3NsZWVwKGFkZXYsCkBAIC0xNjM5LDcg KzE2MzUsNiBAQCBzdGF0aWMgaW50IHNkbWFfdjRfMF9zZXRfcG93ZXJnYXRpbmdfc3RhdGUodm9p ZCAqaGFuZGxlLAogCiAJc3dpdGNoIChhZGV2LT5hc2ljX3R5cGUpIHsKIAljYXNlIENISVBfUkFW RU46Ci0JY2FzZSBDSElQX1BJQ0FTU086CiAJCXNkbWFfdjRfMV91cGRhdGVfcG93ZXJfZ2F0aW5n KGFkZXYsCiAJCQkJc3RhdGUgPT0gQU1EX1BHX1NUQVRFX0dBVEUgPyB0cnVlIDogZmFsc2UpOwog CQlicmVhazsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NvYzE1LmMg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zb2MxNS5jCmluZGV4IGY5MzBlMDkwNzFkNC4u YzRkYWYxZjkzNDg2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zb2Mx NS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NvYzE1LmMKQEAgLTQ5MSw3ICs0 OTEsNiBAQCBpbnQgc29jMTVfc2V0X2lwX2Jsb2NrcyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRl dikKIAljYXNlIENISVBfVkVHQTEwOgogCWNhc2UgQ0hJUF9WRUdBMTI6CiAJY2FzZSBDSElQX1JB VkVOOgotCWNhc2UgQ0hJUF9QSUNBU1NPOgogCQl2ZWdhMTBfcmVnX2Jhc2VfaW5pdChhZGV2KTsK IAkJYnJlYWs7CiAJY2FzZSBDSElQX1ZFR0EyMDoKQEAgLTU0Niw3ICs1NDUsNiBAQCBpbnQgc29j MTVfc2V0X2lwX2Jsb2NrcyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKIAkJYW1kZ3B1X2Rl dmljZV9pcF9ibG9ja19hZGQoYWRldiwgJnZjZV92NF8wX2lwX2Jsb2NrKTsKIAkJYnJlYWs7CiAJ Y2FzZSBDSElQX1JBVkVOOgotCWNhc2UgQ0hJUF9QSUNBU1NPOgogCQlhbWRncHVfZGV2aWNlX2lw X2Jsb2NrX2FkZChhZGV2LCAmdmVnYTEwX2NvbW1vbl9pcF9ibG9jayk7CiAJCWFtZGdwdV9kZXZp Y2VfaXBfYmxvY2tfYWRkKGFkZXYsICZnbWNfdjlfMF9pcF9ibG9jayk7CiAJCWFtZGdwdV9kZXZp Y2VfaXBfYmxvY2tfYWRkKGFkZXYsICZ2ZWdhMTBfaWhfaXBfYmxvY2spOwpAQCAtNjk4LDYgKzY5 NiwxMyBAQCBzdGF0aWMgaW50IHNvYzE1X2NvbW1vbl9lYXJseV9pbml0KHZvaWQgKmhhbmRsZSkK IAkJYnJlYWs7CiAJY2FzZSBDSElQX1JBVkVOOgogCQlpZiAoYWRldi0+cmV2X2lkID49IDB4OCkK KwkJCWFkZXYtPmV4dGVybmFsX3Jldl9pZCA9IGFkZXYtPnJldl9pZCArIDB4ODE7CisJCWVsc2Ug aWYgKGFkZXYtPnBkZXYtPmRldmljZSA9PSAweDE1ZDgpCisJCQlhZGV2LT5leHRlcm5hbF9yZXZf aWQgPSBhZGV2LT5yZXZfaWQgKyAweDQxOworCQllbHNlCisJCQlhZGV2LT5leHRlcm5hbF9yZXZf aWQgPSAweDE7CisKKwkJaWYgKGFkZXYtPnJldl9pZCA+PSAweDgpIHsKIAkJCWFkZXYtPmNnX2Zs YWdzID0gQU1EX0NHX1NVUFBPUlRfR0ZYX01HQ0cgfAogCQkJCUFNRF9DR19TVVBQT1JUX0dGWF9N R0xTIHwKIAkJCQlBTURfQ0dfU1VQUE9SVF9HRlhfQ1BfTFMgfApAQCAtNzEzLDcgKzcxOCwyNyBA QCBzdGF0aWMgaW50IHNvYzE1X2NvbW1vbl9lYXJseV9pbml0KHZvaWQgKmhhbmRsZSkKIAkJCQlB TURfQ0dfU1VQUE9SVF9TRE1BX01HQ0cgfAogCQkJCUFNRF9DR19TVVBQT1JUX1NETUFfTFMgfAog CQkJCUFNRF9DR19TVVBQT1JUX1ZDTl9NR0NHOwotCQllbHNlCisKKwkJCWFkZXYtPnBnX2ZsYWdz ID0gQU1EX1BHX1NVUFBPUlRfU0RNQSB8IEFNRF9QR19TVVBQT1JUX1ZDTjsKKwkJfSBlbHNlIGlm IChhZGV2LT5wZGV2LT5kZXZpY2UgPT0gMHgxNWQ4KSB7CisJCQlhZGV2LT5jZ19mbGFncyA9IEFN RF9DR19TVVBQT1JUX0dGWF9NR0xTIHwKKwkJCQlBTURfQ0dfU1VQUE9SVF9HRlhfQ1BfTFMgfAor CQkJCUFNRF9DR19TVVBQT1JUX0dGWF8zRF9DR0NHIHwKKwkJCQlBTURfQ0dfU1VQUE9SVF9HRlhf M0RfQ0dMUyB8CisJCQkJQU1EX0NHX1NVUFBPUlRfR0ZYX0NHQ0cgfAorCQkJCUFNRF9DR19TVVBQ T1JUX0dGWF9DR0xTIHwKKwkJCQlBTURfQ0dfU1VQUE9SVF9CSUZfTFMgfAorCQkJCUFNRF9DR19T VVBQT1JUX0hEUF9MUyB8CisJCQkJQU1EX0NHX1NVUFBPUlRfUk9NX01HQ0cgfAorCQkJCUFNRF9D R19TVVBQT1JUX01DX01HQ0cgfAorCQkJCUFNRF9DR19TVVBQT1JUX01DX0xTIHwKKwkJCQlBTURf Q0dfU1VQUE9SVF9TRE1BX01HQ0cgfAorCQkJCUFNRF9DR19TVVBQT1JUX1NETUFfTFM7CisKKwkJ CWFkZXYtPnBnX2ZsYWdzID0gQU1EX1BHX1NVUFBPUlRfU0RNQSB8CisJCQkJQU1EX1BHX1NVUFBP UlRfTU1IVUIgfAorCQkJCUFNRF9QR19TVVBQT1JUX1ZDTjsKKwkJfSBlbHNlIHsKIAkJCWFkZXYt PmNnX2ZsYWdzID0gQU1EX0NHX1NVUFBPUlRfR0ZYX01HQ0cgfAogCQkJCUFNRF9DR19TVVBQT1JU X0dGWF9NR0xTIHwKIAkJCQlBTURfQ0dfU1VQUE9SVF9HRlhfUkxDX0xTIHwKQEAgLTczNSw0MyAr NzYwLDEzIEBAIHN0YXRpYyBpbnQgc29jMTVfY29tbW9uX2Vhcmx5X2luaXQodm9pZCAqaGFuZGxl KQogCQkJCUFNRF9DR19TVVBQT1JUX1NETUFfTFMgfAogCQkJCUFNRF9DR19TVVBQT1JUX1ZDTl9N R0NHOwogCi0JCWFkZXYtPnBnX2ZsYWdzID0gQU1EX1BHX1NVUFBPUlRfU0RNQSB8IEFNRF9QR19T VVBQT1JUX1ZDTjsKLQotCQlpZiAoYWRldi0+cG93ZXJwbGF5LnBwX2ZlYXR1cmUgJiBQUF9HRlhP RkZfTUFTSykKLQkJCWFkZXYtPnBnX2ZsYWdzIHw9IEFNRF9QR19TVVBQT1JUX0dGWF9QRyB8Ci0J CQkJQU1EX1BHX1NVUFBPUlRfQ1AgfAotCQkJCUFNRF9QR19TVVBQT1JUX1JMQ19TTVVfSFM7Ci0K LQkJaWYgKGFkZXYtPnJldl9pZCA+PSAweDgpCi0JCQlhZGV2LT5leHRlcm5hbF9yZXZfaWQgPSBh ZGV2LT5yZXZfaWQgKyAweDgxOwotCQllbHNlCi0JCQlhZGV2LT5leHRlcm5hbF9yZXZfaWQgPSAw eDE7Ci0JCWJyZWFrOwotCWNhc2UgQ0hJUF9QSUNBU1NPOgotCQlhZGV2LT5jZ19mbGFncyA9IEFN RF9DR19TVVBQT1JUX0dGWF9NR0xTIHwKLQkJCUFNRF9DR19TVVBQT1JUX0dGWF9DUF9MUyB8Ci0J CQlBTURfQ0dfU1VQUE9SVF9HRlhfM0RfQ0dDRyB8Ci0JCQlBTURfQ0dfU1VQUE9SVF9HRlhfM0Rf Q0dMUyB8Ci0JCQlBTURfQ0dfU1VQUE9SVF9HRlhfQ0dDRyB8Ci0JCQlBTURfQ0dfU1VQUE9SVF9H RlhfQ0dMUyB8Ci0JCQlBTURfQ0dfU1VQUE9SVF9CSUZfTFMgfAotCQkJQU1EX0NHX1NVUFBPUlRf SERQX0xTIHwKLQkJCUFNRF9DR19TVVBQT1JUX1JPTV9NR0NHIHwKLQkJCUFNRF9DR19TVVBQT1JU X01DX01HQ0cgfAotCQkJQU1EX0NHX1NVUFBPUlRfTUNfTFMgfAotCQkJQU1EX0NHX1NVUFBPUlRf U0RNQV9NR0NHIHwKLQkJCUFNRF9DR19TVVBQT1JUX1NETUFfTFM7Ci0KLQkJYWRldi0+cGdfZmxh Z3MgPSBBTURfUEdfU1VQUE9SVF9TRE1BIHwKLQkJCQkJCUFNRF9QR19TVVBQT1JUX01NSFVCIHwK LQkJCQkJCUFNRF9QR19TVVBQT1JUX1ZDTjsKKwkJCWFkZXYtPnBnX2ZsYWdzID0gQU1EX1BHX1NV UFBPUlRfU0RNQSB8IEFNRF9QR19TVVBQT1JUX1ZDTjsKKwkJfQogCiAJCWlmIChhZGV2LT5wb3dl cnBsYXkucHBfZmVhdHVyZSAmIFBQX0dGWE9GRl9NQVNLKQogCQkJYWRldi0+cGdfZmxhZ3MgfD0g QU1EX1BHX1NVUFBPUlRfR0ZYX1BHIHwKIAkJCQlBTURfUEdfU1VQUE9SVF9DUCB8CiAJCQkJQU1E X1BHX1NVUFBPUlRfUkxDX1NNVV9IUzsKLQotCQlhZGV2LT5leHRlcm5hbF9yZXZfaWQgPSBhZGV2 LT5yZXZfaWQgKyAweDQxOwogCQlicmVhazsKIAlkZWZhdWx0OgogCQkvKiBGSVhNRTogbm90IHN1 cHBvcnRlZCB5ZXQgKi8KQEAgLTk3Myw3ICs5NjgsNiBAQCBzdGF0aWMgaW50IHNvYzE1X2NvbW1v bl9zZXRfY2xvY2tnYXRpbmdfc3RhdGUodm9pZCAqaGFuZGxlLAogCQkJCXN0YXRlID09IEFNRF9D R19TVEFURV9HQVRFID8gdHJ1ZSA6IGZhbHNlKTsKIAkJYnJlYWs7CiAJY2FzZSBDSElQX1JBVkVO OgotCWNhc2UgQ0hJUF9QSUNBU1NPOgogCQlhZGV2LT5uYmlvX2Z1bmNzLT51cGRhdGVfbWVkaXVt X2dyYWluX2Nsb2NrX2dhdGluZyhhZGV2LAogCQkJCXN0YXRlID09IEFNRF9DR19TVEFURV9HQVRF ID8gdHJ1ZSA6IGZhbHNlKTsKIAkJYWRldi0+bmJpb19mdW5jcy0+dXBkYXRlX21lZGl1bV9ncmFp bl9saWdodF9zbGVlcChhZGV2LApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNw bGF5L2FtZGdwdV9kbS9hbWRncHVfZG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9h bWRncHVfZG0vYW1kZ3B1X2RtLmMKaW5kZXggNDNjOWZmMmQ0OWZiLi5mMGFlMTE4MDJlOWEgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2Rt LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG0u YwpAQCAtMTIxMyw4ICsxMjEzLDcgQEAgc3RhdGljIGludCBkY2UxMTBfcmVnaXN0ZXJfaXJxX2hh bmRsZXJzKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQogCWlmIChhZGV2LT5hc2ljX3R5cGUg PT0gQ0hJUF9WRUdBMTAgfHwKIAkgICAgYWRldi0+YXNpY190eXBlID09IENISVBfVkVHQTEyIHx8 CiAJICAgIGFkZXYtPmFzaWNfdHlwZSA9PSBDSElQX1ZFR0EyMCB8fAotCSAgICBhZGV2LT5hc2lj X3R5cGUgPT0gQ0hJUF9SQVZFTiAgfHwKLQkgICAgYWRldi0+YXNpY190eXBlID09IENISVBfUElD QVNTTykKKwkgICAgYWRldi0+YXNpY190eXBlID09IENISVBfUkFWRU4pCiAJCWNsaWVudF9pZCA9 IFNPQzE1X0lIX0NMSUVOVElEX0RDRTsKIAogCWludF9wYXJhbXMucmVxdWVzdGVkX3BvbGFyaXR5 ID0gSU5URVJSVVBUX1BPTEFSSVRZX0RFRkFVTFQ7CkBAIC0xNjMzLDcgKzE2MzIsNiBAQCBzdGF0 aWMgaW50IGFtZGdwdV9kbV9pbml0aWFsaXplX2RybV9kZXZpY2Uoc3RydWN0IGFtZGdwdV9kZXZp Y2UgKmFkZXYpCiAJCWJyZWFrOwogI2lmIGRlZmluZWQoQ09ORklHX0RSTV9BTURfRENfRENOMV8w KQogCWNhc2UgQ0hJUF9SQVZFTjoKLQljYXNlIENISVBfUElDQVNTTzoKIAkJaWYgKGRjbjEwX3Jl Z2lzdGVyX2lycV9oYW5kbGVycyhkbS0+YWRldikpIHsKIAkJCURSTV9FUlJPUigiRE06IEZhaWxl ZCB0byBpbml0aWFsaXplIElSUVxuIik7CiAJCQlnb3RvIGZhaWw7CkBAIC0xODY0LDcgKzE4NjIs NiBAQCBzdGF0aWMgaW50IGRtX2Vhcmx5X2luaXQodm9pZCAqaGFuZGxlKQogCQlicmVhazsKICNp ZiBkZWZpbmVkKENPTkZJR19EUk1fQU1EX0RDX0RDTjFfMCkKIAljYXNlIENISVBfUkFWRU46Ci0J Y2FzZSBDSElQX1BJQ0FTU086CiAJCWFkZXYtPm1vZGVfaW5mby5udW1fY3J0YyA9IDQ7CiAJCWFk ZXYtPm1vZGVfaW5mby5udW1faHBkID0gNDsKIAkJYWRldi0+bW9kZV9pbmZvLm51bV9kaWcgPSA0 OwpAQCAtMjExMyw4ICsyMTEwLDcgQEAgc3RhdGljIGludCBmaWxsX3BsYW5lX2F0dHJpYnV0ZXNf ZnJvbV9mYihzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKIAlpZiAoYWRldi0+YXNpY190eXBl ID09IENISVBfVkVHQTEwIHx8CiAJICAgIGFkZXYtPmFzaWNfdHlwZSA9PSBDSElQX1ZFR0ExMiB8 fAogCSAgICBhZGV2LT5hc2ljX3R5cGUgPT0gQ0hJUF9WRUdBMjAgfHwKLQkgICAgYWRldi0+YXNp Y190eXBlID09IENISVBfUkFWRU4gIHx8Ci0JICAgIGFkZXYtPmFzaWNfdHlwZSA9PSBDSElQX1BJ Q0FTU08pIHsKKwkgICAgYWRldi0+YXNpY190eXBlID09IENISVBfUkFWRU4pIHsKIAkJLyogRmls bCBHRlg5IHBhcmFtcyAqLwogCQlwbGFuZV9zdGF0ZS0+dGlsaW5nX2luZm8uZ2Z4OS5udW1fcGlw ZXMgPQogCQkJYWRldi0+Z2Z4LmNvbmZpZy5nYl9hZGRyX2NvbmZpZ19maWVsZHMubnVtX3BpcGVz OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3IvaHdtZ3Iu YyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL2h3bWdyLmMKaW5kZXggYTQ1 NTc4ZTY1MDRhLi43NTAwYTNlNjFkYmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv cG93ZXJwbGF5L2h3bWdyL2h3bWdyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBs YXkvaHdtZ3IvaHdtZ3IuYwpAQCAtMTcxLDcgKzE3MSw2IEBAIGludCBod21ncl9lYXJseV9pbml0 KHN0cnVjdCBwcF9od21nciAqaHdtZ3IpCiAJY2FzZSBBTURHUFVfRkFNSUxZX1JWOgogCQlzd2l0 Y2ggKGh3bWdyLT5jaGlwX2lkKSB7CiAJCWNhc2UgQ0hJUF9SQVZFTjoKLQkJY2FzZSBDSElQX1BJ Q0FTU086CiAJCQlod21nci0+b2RfZW5hYmxlZCA9IGZhbHNlOwogCQkJaHdtZ3ItPnNtdW1ncl9m dW5jcyA9ICZzbXUxMF9zbXVfZnVuY3M7CiAJCQlzbXUxMF9pbml0X2Z1bmN0aW9uX3BvaW50ZXJz KGh3bWdyKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdy L3Byb2Nlc3NwcHRhYmxlcy5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3Iv cHJvY2Vzc3BwdGFibGVzLmMKaW5kZXggZjZmZTljZTc5M2FkLi43N2MxNDY3MTg2NmMgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL3Byb2Nlc3NwcHRhYmxl cy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL3Byb2Nlc3NwcHRh Ymxlcy5jCkBAIC04MzIsNyArODMyLDcgQEAgc3RhdGljIGNvbnN0IEFUT01fUFBMSUJfUE9XRVJQ TEFZVEFCTEUgKmdldF9wb3dlcnBsYXlfdGFibGUoCiAJdWludDE2X3Qgc2l6ZTsKIAogCWlmICgh dGFibGVfYWRkcikgewotCQlpZiAoaHdtZ3ItPmNoaXBfaWQgPT0gQ0hJUF9SQVZFTiB8fCBod21n ci0+Y2hpcF9pZCA9PSBDSElQX1BJQ0FTU08pIHsKKwkJaWYgKGh3bWdyLT5jaGlwX2lkID09IENI SVBfUkFWRU4pIHsKIAkJCXRhYmxlX2FkZHIgPSAmc29mdF9kdW1teV9wcF90YWJsZVswXTsKIAkJ CWh3bWdyLT5zb2Z0X3BwX3RhYmxlID0gJnNvZnRfZHVtbXlfcHBfdGFibGVbMF07CiAJCQlod21n ci0+c29mdF9wcF90YWJsZV9zaXplID0gc2l6ZW9mKHNvZnRfZHVtbXlfcHBfdGFibGUpOwpAQCAt MTA1NSw3ICsxMDU1LDcgQEAgc3RhdGljIGludCBpbml0X292ZXJkcml2ZV9saW1pdHMoc3RydWN0 IHBwX2h3bWdyICpod21nciwKIAlod21nci0+cGxhdGZvcm1fZGVzY3JpcHRvci5tYXhPdmVyZHJp dmVWRERDID0gMDsKIAlod21nci0+cGxhdGZvcm1fZGVzY3JpcHRvci5vdmVyZHJpdmVWRERDU3Rl cCA9IDA7CiAKLQlpZiAoaHdtZ3ItPmNoaXBfaWQgPT0gQ0hJUF9SQVZFTiB8fCBod21nci0+Y2hp cF9pZCA9PSBDSElQX1BJQ0FTU08pCisJaWYgKGh3bWdyLT5jaGlwX2lkID09IENISVBfUkFWRU4p CiAJCXJldHVybiAwOwogCiAJLyogV2UgYXNzdW1lIGhlcmUgdGhhdCBmd19pbmZvIGlzIHVuY2hh bmdlZCBpZiB0aGlzIGNhbGwgZmFpbHMuKi8KQEAgLTE1OTUsNyArMTU5NSw3IEBAIHN0YXRpYyBp bnQgcHBfdGFibGVzX2luaXRpYWxpemUoc3RydWN0IHBwX2h3bWdyICpod21ncikKIAlpbnQgcmVz dWx0OwogCWNvbnN0IEFUT01fUFBMSUJfUE9XRVJQTEFZVEFCTEUgKnBvd2VycGxheV90YWJsZTsK IAotCWlmIChod21nci0+Y2hpcF9pZCA9PSBDSElQX1JBVkVOIHx8IGh3bWdyLT5jaGlwX2lkID09 IENISVBfUElDQVNTTykKKwlpZiAoaHdtZ3ItPmNoaXBfaWQgPT0gQ0hJUF9SQVZFTikKIAkJcmV0 dXJuIDA7CiAKIAlod21nci0+bmVlZF9wcF90YWJsZV91cGxvYWQgPSB0cnVlOwpAQCAtMTY0NCw3 ICsxNjQ0LDcgQEAgc3RhdGljIGludCBwcF90YWJsZXNfaW5pdGlhbGl6ZShzdHJ1Y3QgcHBfaHdt Z3IgKmh3bWdyKQogCiBzdGF0aWMgaW50IHBwX3RhYmxlc191bmluaXRpYWxpemUoc3RydWN0IHBw X2h3bWdyICpod21ncikKIHsKLQlpZiAoaHdtZ3ItPmNoaXBfaWQgPT0gQ0hJUF9SQVZFTiB8fCBo d21nci0+Y2hpcF9pZCA9PSBDSElQX1BJQ0FTU08pCisJaWYgKGh3bWdyLT5jaGlwX2lkID09IENI SVBfUkFWRU4pCiAJCXJldHVybiAwOwogCiAJa2ZyZWUoaHdtZ3ItPmR5bl9zdGF0ZS52ZGRjX2Rl cGVuZGVuY3lfb25fc2Nsayk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9hbWRfYXNpY190eXBl LmggYi9pbmNsdWRlL2RybS9hbWRfYXNpY190eXBlLmgKaW5kZXggNTY0NGZjNjc5ZDZmLi5kZDYz ZDA4Y2M1NGUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2FtZF9hc2ljX3R5cGUuaAorKysgYi9p bmNsdWRlL2RybS9hbWRfYXNpY190eXBlLmgKQEAgLTQ5LDcgKzQ5LDYgQEAgZW51bSBhbWRfYXNp Y190eXBlIHsKIAlDSElQX1ZFR0ExMiwKIAlDSElQX1ZFR0EyMCwKIAlDSElQX1JBVkVOLAotCUNI SVBfUElDQVNTTywKIAlDSElQX0xBU1QsCiB9OwogCi0tIAoyLjEzLjYKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFt ZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=