From: Karol Herbst Subject: [PATCH 1/3] therm: split return code and value in nvkm_get_temp Date: Sun, 3 Sep 2017 01:54:41 +0200 Message-ID: <20170902235443.8136-2-karolherbst@gmail.com> References: <20170902235443.8136-1-karolherbst@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170902235443.8136-1-karolherbst-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: nouveau-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Nouveau" To: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: nouveau.vger.kernel.org VGhlIGN1cnJlbnQgaHdtb24gY29kZSBkb2Vzbid0IGNoZWNrIGlmIHRoZSByZXR1cm5lZCB2YWx1 ZSB3YXMgYWN0dWFsbHkgYW4KZXJyb3IuCgpTaW5jZSBLZXBsZXIgdGVtcGVyYXR1cmUgc2Vuc29y cyBhcmUgYWJsZSB0byByZXBvcnQgbmVnYXRpdmUgdmFsdWVzLgpTaW5jZSBQYXNjYWwgKGFuZCBt YXliZSBlYXJsaWVyKSB3ZSBoYXZlIHNlbnNvcnMgd2l0aCBpbXByb3ZlZCBwcmVjaXNpb24uCgpB ZGp1c3QgdGhlIG52a21fZ2V0X3RlbXAgbWV0aG9kIHRvIGJlIGFibGUgdG8gZGVhbCB3aXRoIHRo b3NlIGNoYW5nZXMKYW5kIGxldCBod21vbiByZXR1cm4gYW4gZXJyb3IgcHJvcGVybHkuCgpTaWdu ZWQtb2ZmLWJ5OiBLYXJvbCBIZXJic3QgPGthcm9saGVyYnN0QGdtYWlsLmNvbT4KLS0tCiBkcm0v bm91dmVhdS9pbmNsdWRlL252a20vc3ViZGV2L3RoZXJtLmggfCAgMiArLQogZHJtL25vdXZlYXUv bm91dmVhdV9od21vbi5jICAgICAgICAgICAgIHwgMTUgKysrKysrKysrLS0tLS0tCiBkcm0vbm91 dmVhdS9udmttL3N1YmRldi90aGVybS9iYXNlLmMgICAgfCAxOSArKysrKysrKysrKysrKy0tLS0t CiBkcm0vbm91dmVhdS9udmttL3N1YmRldi90aGVybS9nODQuYyAgICAgfCAxMSArKysrKystLS0t LQogZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYvdGhlcm0vbnY0MC5jICAgIHwgIDkgKysrLS0tLS0t CiBkcm0vbm91dmVhdS9udmttL3N1YmRldi90aGVybS9udjUwLmMgICAgfCAgOSArKystLS0tLS0K IGRybS9ub3V2ZWF1L252a20vc3ViZGV2L3RoZXJtL3ByaXYuaCAgICB8ICA0ICsrLS0KIGRybS9u b3V2ZWF1L252a20vc3ViZGV2L3RoZXJtL3RlbXAuYyAgICB8IDE2ICsrKysrKysrKysrKy0tLS0K IDggZmlsZXMgY2hhbmdlZCwgNTAgaW5zZXJ0aW9ucygrKSwgMzUgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvZHJtL25vdXZlYXUvaW5jbHVkZS9udmttL3N1YmRldi90aGVybS5oIGIvZHJtL25v dXZlYXUvaW5jbHVkZS9udmttL3N1YmRldi90aGVybS5oCmluZGV4IDFiZmQ5M2I4Li4xOTIxNjlm MiAxMDA2NDQKLS0tIGEvZHJtL25vdXZlYXUvaW5jbHVkZS9udmttL3N1YmRldi90aGVybS5oCisr KyBiL2RybS9ub3V2ZWF1L2luY2x1ZGUvbnZrbS9zdWJkZXYvdGhlcm0uaApAQCAtODYsNyArODYs NyBAQCBzdHJ1Y3QgbnZrbV90aGVybSB7CiAJaW50ICgqYXR0cl9zZXQpKHN0cnVjdCBudmttX3Ro ZXJtICosIGVudW0gbnZrbV90aGVybV9hdHRyX3R5cGUsIGludCk7CiB9OwogCi1pbnQgbnZrbV90 aGVybV90ZW1wX2dldChzdHJ1Y3QgbnZrbV90aGVybSAqKTsKK2ludCBudmttX3RoZXJtX3RlbXBf Z2V0KHN0cnVjdCBudmttX3RoZXJtICosIGludCAqKTsKIGludCBudmttX3RoZXJtX2Zhbl9zZW5z ZShzdHJ1Y3QgbnZrbV90aGVybSAqKTsKIGludCBudmttX3RoZXJtX2NzdGF0ZShzdHJ1Y3QgbnZr bV90aGVybSAqLCBpbnQsIGludCk7CiAKZGlmZiAtLWdpdCBhL2RybS9ub3V2ZWF1L25vdXZlYXVf aHdtb24uYyBiL2RybS9ub3V2ZWF1L25vdXZlYXVfaHdtb24uYwppbmRleCA3Yzk2NTY0OC4uZjE5 MTRkOWEgMTAwNjQ0Ci0tLSBhL2RybS9ub3V2ZWF1L25vdXZlYXVfaHdtb24uYworKysgYi9kcm0v bm91dmVhdS9ub3V2ZWF1X2h3bW9uLmMKQEAgLTMyNiw4ICszMjYsOSBAQCBub3V2ZWF1X3RlbXBf aXNfdmlzaWJsZShjb25zdCB2b2lkICpkYXRhLCB1MzIgYXR0ciwgaW50IGNoYW5uZWwpCiB7CiAJ c3RydWN0IG5vdXZlYXVfZHJtICpkcm0gPSBub3V2ZWF1X2RybSgoc3RydWN0IGRybV9kZXZpY2Ug KilkYXRhKTsKIAlzdHJ1Y3QgbnZrbV90aGVybSAqdGhlcm0gPSBudnh4X3RoZXJtKCZkcm0tPmNs aWVudC5kZXZpY2UpOworCWludCB2YWw7CiAKLQlpZiAodGhlcm0gJiYgdGhlcm0tPmF0dHJfZ2V0 ICYmIG52a21fdGhlcm1fdGVtcF9nZXQodGhlcm0pIDwgMCkKKwlpZiAodGhlcm0gJiYgdGhlcm0t PmF0dHJfZ2V0ICYmIG52a21fdGhlcm1fdGVtcF9nZXQodGhlcm0sICZ2YWwpIDwgMCkKIAkJcmV0 dXJuIDA7CiAKIAlzd2l0Y2ggKGF0dHIpIHsKQEAgLTQyMSwxNSArNDIyLDE2IEBAIG5vdXZlYXVf dGVtcF9yZWFkKHN0cnVjdCBkZXZpY2UgKmRldiwgdTMyIGF0dHIsIGludCBjaGFubmVsLCBsb25n ICp2YWwpCiAJc3RydWN0IGRybV9kZXZpY2UgKmRybV9kZXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2 KTsKIAlzdHJ1Y3Qgbm91dmVhdV9kcm0gKmRybSA9IG5vdXZlYXVfZHJtKGRybV9kZXYpOwogCXN0 cnVjdCBudmttX3RoZXJtICp0aGVybSA9IG52eHhfdGhlcm0oJmRybS0+Y2xpZW50LmRldmljZSk7 Ci0JaW50IHJldDsKKwlpbnQgcmV0ID0gMDsKKwlpbnQgdGVtcDsKIAogCWlmICghdGhlcm0gfHwg IXRoZXJtLT5hdHRyX2dldCkKIAkJcmV0dXJuIC1FT1BOT1RTVVBQOwogCiAJc3dpdGNoIChhdHRy KSB7CiAJY2FzZSBod21vbl90ZW1wX2lucHV0OgotCQlyZXQgPSBudmttX3RoZXJtX3RlbXBfZ2V0 KHRoZXJtKTsKLQkJKnZhbCA9IHJldCA8IDAgPyByZXQgOiAocmV0ICogMTAwMCk7CisJCXJldCA9 IG52a21fdGhlcm1fdGVtcF9nZXQodGhlcm0sICZ0ZW1wKTsKKwkJKnZhbCA9IHRlbXAgKiAxMDAw OwogCQlicmVhazsKIAljYXNlIGh3bW9uX3RlbXBfbWF4OgogCQkqdmFsID0gdGhlcm0tPmF0dHJf Z2V0KHRoZXJtLCBOVktNX1RIRVJNX0FUVFJfVEhSU19ET1dOX0NMSykKQEAgLTQ1OSw3ICs0NjEs NyBAQCBub3V2ZWF1X3RlbXBfcmVhZChzdHJ1Y3QgZGV2aWNlICpkZXYsIHUzMiBhdHRyLCBpbnQg Y2hhbm5lbCwgbG9uZyAqdmFsKQogCQlyZXR1cm4gLUVPUE5PVFNVUFA7CiAJfQogCi0JcmV0dXJu IDA7CisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGludApAQCAtNzEzLDYgKzcxNSw3IEBAIG5v dXZlYXVfaHdtb25faW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCXN0cnVjdCBkZXZpY2Ug Kmh3bW9uX2RldjsKIAlpbnQgcmV0ID0gMDsKIAlpbnQgaSA9IDA7CisJaW50IHZhbDsKIAogCWh3 bW9uID0gZHJtLT5od21vbiA9IGt6YWxsb2Moc2l6ZW9mKCpod21vbiksIEdGUF9LRVJORUwpOwog CWlmICghaHdtb24pCkBAIC03MjAsNyArNzIzLDcgQEAgbm91dmVhdV9od21vbl9pbml0KHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpCiAJaHdtb24tPmRldiA9IGRldjsKIAogCWlmICh0aGVybSAmJiB0 aGVybS0+YXR0cl9nZXQgJiYgdGhlcm0tPmF0dHJfc2V0KSB7Ci0JCWlmIChudmttX3RoZXJtX3Rl bXBfZ2V0KHRoZXJtKSA+PSAwKQorCQlpZiAobnZrbV90aGVybV90ZW1wX2dldCh0aGVybSwgJnZh bCkgPj0gMCkKIAkJCXNwZWNpYWxfZ3JvdXBzW2krK10gPSAmdGVtcDFfYXV0b19wb2ludF9zZW5z b3JfZ3JvdXA7CiAJCWlmICh0aGVybS0+ZmFuX2dldCAmJiB0aGVybS0+ZmFuX2dldCh0aGVybSkg Pj0gMCkKIAkJCXNwZWNpYWxfZ3JvdXBzW2krK10gPSAmcHdtX2Zhbl9zZW5zb3JfZ3JvdXA7CmRp ZmYgLS1naXQgYS9kcm0vbm91dmVhdS9udmttL3N1YmRldi90aGVybS9iYXNlLmMgYi9kcm0vbm91 dmVhdS9udmttL3N1YmRldi90aGVybS9iYXNlLmMKaW5kZXggOTUyYTdjYjAuLjI3YTAzYzUwIDEw MDY0NAotLS0gYS9kcm0vbm91dmVhdS9udmttL3N1YmRldi90aGVybS9iYXNlLmMKKysrIGIvZHJt L25vdXZlYXUvbnZrbS9zdWJkZXYvdGhlcm0vYmFzZS5jCkBAIC0yNCwyMiArMjQsMjYgQEAKICNp bmNsdWRlICJwcml2LmgiCiAKIGludAotbnZrbV90aGVybV90ZW1wX2dldChzdHJ1Y3QgbnZrbV90 aGVybSAqdGhlcm0pCitudmttX3RoZXJtX3RlbXBfZ2V0KHN0cnVjdCBudmttX3RoZXJtICp0aGVy bSwgaW50ICp2YWwpCiB7CiAJaWYgKHRoZXJtLT5mdW5jLT50ZW1wX2dldCkKLQkJcmV0dXJuIHRo ZXJtLT5mdW5jLT50ZW1wX2dldCh0aGVybSk7CisJCXJldHVybiB0aGVybS0+ZnVuYy0+dGVtcF9n ZXQodGhlcm0sIHZhbCk7CiAJcmV0dXJuIC1FTk9ERVY7CiB9CiAKIHN0YXRpYyBpbnQKIG52a21f dGhlcm1fdXBkYXRlX3RyaXAoc3RydWN0IG52a21fdGhlcm0gKnRoZXJtKQogeworCWludCB0ZW1w LCByZXQ7CiAJc3RydWN0IG52Ymlvc190aGVybV90cmlwX3BvaW50ICp0cmlwID0gdGhlcm0tPmZh bi0+Ymlvcy50cmlwLAogCQkJCSAgICAgICAqY3VyX3RyaXAgPSBOVUxMLAogCQkJCSAgICAgICAq bGFzdF90cmlwID0gdGhlcm0tPmxhc3RfdHJpcDsKLQl1OCAgdGVtcCA9IHRoZXJtLT5mdW5jLT50 ZW1wX2dldCh0aGVybSk7CiAJdTE2IGR1dHksIGk7CiAKKwlyZXQgPSB0aGVybS0+ZnVuYy0+dGVt cF9nZXQodGhlcm0sICZ0ZW1wKTsKKwlpZiAocmV0IDwgMCkKKwkJcmV0dXJuIHJldDsKKwogCS8q IGxvb2sgZm9yIHRoZSB0cmlwIHBvaW50IGNvcnJlc3BvbmRpbmcgdG8gdGhlIGN1cnJlbnQgdGVt cGVyYXR1cmUgKi8KIAljdXJfdHJpcCA9IE5VTEw7CiAJZm9yIChpID0gMDsgaSA8IHRoZXJtLT5m YW4tPmJpb3MubnJfZmFuX3RyaXA7IGkrKykgewpAQCAtNjcsOSArNzEsMTMgQEAgc3RhdGljIGlu dAogbnZrbV90aGVybV9jb21wdXRlX2xpbmVhcl9kdXR5KHN0cnVjdCBudmttX3RoZXJtICp0aGVy bSwgdTggbGluZWFyX21pbl90ZW1wLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHU4 IGxpbmVhcl9tYXhfdGVtcCkKIHsKLQl1OCAgdGVtcCA9IHRoZXJtLT5mdW5jLT50ZW1wX2dldCh0 aGVybSk7CisJaW50IHRlbXAsIHJldDsKIAl1MTYgZHV0eTsKIAorCXJldCA9IHRoZXJtLT5mdW5j LT50ZW1wX2dldCh0aGVybSwgJnRlbXApOworCWlmIChyZXQgPCAwKQorCQlyZXR1cm4gcmV0Owor CiAJLyogaGFuZGxlIHRoZSBub24tbGluZWFyIHBhcnQgZmlyc3QgKi8KIAlpZiAodGVtcCA8IGxp bmVhcl9taW5fdGVtcCkKIAkJcmV0dXJuIHRoZXJtLT5mYW4tPmJpb3MubWluX2R1dHk7CkBAIC0x ODIsNiArMTkwLDcgQEAgbnZrbV90aGVybV9mYW5fbW9kZShzdHJ1Y3QgbnZrbV90aGVybSAqdGhl cm0sIGludCBtb2RlKQogewogCXN0cnVjdCBudmttX3N1YmRldiAqc3ViZGV2ID0gJnRoZXJtLT5z dWJkZXY7CiAJc3RydWN0IG52a21fZGV2aWNlICpkZXZpY2UgPSBzdWJkZXYtPmRldmljZTsKKwlp bnQgdmFsOwogCXN0YXRpYyBjb25zdCBjaGFyICpuYW1lW10gPSB7CiAJCSJkaXNhYmxlZCIsCiAJ CSJtYW51YWwiLApAQCAtMTk3LDcgKzIwNiw3IEBAIG52a21fdGhlcm1fZmFuX21vZGUoc3RydWN0 IG52a21fdGhlcm0gKnRoZXJtLCBpbnQgbW9kZSkKIAkvKiBkbyBub3QgYWxsb3cgYXV0b21hdGlj IGZhbiBtYW5hZ2VtZW50IGlmIHRoZSB0aGVybWFsIHNlbnNvciBpcwogCSAqIG5vdCBhdmFpbGFi bGUgKi8KIAlpZiAobW9kZSA9PSBOVktNX1RIRVJNX0NUUkxfQVVUTyAmJgotCSAgICB0aGVybS0+ ZnVuYy0+dGVtcF9nZXQodGhlcm0pIDwgMCkKKwkgICAgdGhlcm0tPmZ1bmMtPnRlbXBfZ2V0KHRo ZXJtLCAmdmFsKSA8IDApCiAJCXJldHVybiAtRUlOVkFMOwogCiAJaWYgKHRoZXJtLT5tb2RlID09 IG1vZGUpCmRpZmYgLS1naXQgYS9kcm0vbm91dmVhdS9udmttL3N1YmRldi90aGVybS9nODQuYyBi L2RybS9ub3V2ZWF1L252a20vc3ViZGV2L3RoZXJtL2c4NC5jCmluZGV4IDk2ZjhkYTQwLi4zYmIy ZDgyOSAxMDA2NDQKLS0tIGEvZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYvdGhlcm0vZzg0LmMKKysr IGIvZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYvdGhlcm0vZzg0LmMKQEAgLTI3LDE0ICsyNywxNSBA QAogI2luY2x1ZGUgPHN1YmRldi9mdXNlLmg+CiAKIGludAotZzg0X3RlbXBfZ2V0KHN0cnVjdCBu dmttX3RoZXJtICp0aGVybSkKK2c4NF90ZW1wX2dldChzdHJ1Y3QgbnZrbV90aGVybSAqdGhlcm0s IGludCAqdmFsKQogewogCXN0cnVjdCBudmttX2RldmljZSAqZGV2aWNlID0gdGhlcm0tPnN1YmRl di5kZXZpY2U7CiAKLQlpZiAobnZrbV9mdXNlX3JlYWQoZGV2aWNlLT5mdXNlLCAweDFhOCkgPT0g MSkKLQkJcmV0dXJuIG52a21fcmQzMihkZXZpY2UsIDB4MjA0MDApOwotCWVsc2UKKwlpZiAobnZr bV9mdXNlX3JlYWQoZGV2aWNlLT5mdXNlLCAweDFhOCkgIT0gMSkKIAkJcmV0dXJuIC1FTk9ERVY7 CisKKwkqdmFsID0gbnZrbV9yZDMyKGRldmljZSwgMHgyMDQwMCk7CisJcmV0dXJuIDA7CiB9CiAK IHZvaWQKQEAgLTExNSw3ICsxMTYsNyBAQCBnODRfdGhlcm1fdGhyZXNob2xkX2h5c3RfZW11bGF0 aW9uKHN0cnVjdCBudmttX3RoZXJtICp0aGVybSwKIAl9CiAKIAkvKiBmaXggdGhlIHN0YXRlIChp biBjYXNlIHNvbWVvbmUgcmVwcm9ncmFtbWVkIHRoZSBhbGFybXMpICovCi0JY3VyID0gdGhlcm0t PmZ1bmMtPnRlbXBfZ2V0KHRoZXJtKTsKKwl0aGVybS0+ZnVuYy0+dGVtcF9nZXQodGhlcm0sICZj dXIpOwogCWlmIChuZXdfc3RhdGUgPT0gTlZLTV9USEVSTV9USFJTX0xPV0VSICYmIGN1ciA+IHRo cnMtPnRlbXApCiAJCW5ld19zdGF0ZSA9IE5WS01fVEhFUk1fVEhSU19ISUdIRVI7CiAJZWxzZSBp ZiAobmV3X3N0YXRlID09IE5WS01fVEhFUk1fVEhSU19ISUdIRVIgJiYKZGlmZiAtLWdpdCBhL2Ry bS9ub3V2ZWF1L252a20vc3ViZGV2L3RoZXJtL252NDAuYyBiL2RybS9ub3V2ZWF1L252a20vc3Vi ZGV2L3RoZXJtL252NDAuYwppbmRleCAyYzkyZmZiNS4uY2ZkNWIyMTUgMTAwNjQ0Ci0tLSBhL2Ry bS9ub3V2ZWF1L252a20vc3ViZGV2L3RoZXJtL252NDAuYworKysgYi9kcm0vbm91dmVhdS9udmtt L3N1YmRldi90aGVybS9udjQwLmMKQEAgLTcwLDcgKzcwLDcgQEAgbnY0MF9zZW5zb3Jfc2V0dXAo c3RydWN0IG52a21fdGhlcm0gKnRoZXJtKQogfQogCiBzdGF0aWMgaW50Ci1udjQwX3RlbXBfZ2V0 KHN0cnVjdCBudmttX3RoZXJtICp0aGVybSkKK252NDBfdGVtcF9nZXQoc3RydWN0IG52a21fdGhl cm0gKnRoZXJtLCBpbnQgKnZhbCkKIHsKIAlzdHJ1Y3QgbnZrbV9kZXZpY2UgKmRldmljZSA9IHRo ZXJtLT5zdWJkZXYuZGV2aWNlOwogCXN0cnVjdCBudmJpb3NfdGhlcm1fc2Vuc29yICpzZW5zb3Ig PSAmdGhlcm0tPmJpb3Nfc2Vuc29yOwpAQCAtOTUsMTEgKzk1LDggQEAgbnY0MF90ZW1wX2dldChz dHJ1Y3QgbnZrbV90aGVybSAqdGhlcm0pCiAJY29yZV90ZW1wID0gY29yZV90ZW1wICsgc2Vuc29y LT5vZmZzZXRfbnVtIC8gc2Vuc29yLT5vZmZzZXRfZGVuOwogCWNvcmVfdGVtcCA9IGNvcmVfdGVt cCArIHNlbnNvci0+b2Zmc2V0X2NvbnN0YW50IC0gODsKIAotCS8qIHJlc2VydmUgbmVnYXRpdmUg dGVtcGVyYXR1cmVzIGZvciBlcnJvcnMgKi8KLQlpZiAoY29yZV90ZW1wIDwgMCkKLQkJY29yZV90 ZW1wID0gMDsKLQotCXJldHVybiBjb3JlX3RlbXA7CisJKnZhbCA9IGNvcmVfdGVtcDsKKwlyZXR1 cm4gMDsKIH0KIAogc3RhdGljIGludApkaWZmIC0tZ2l0IGEvZHJtL25vdXZlYXUvbnZrbS9zdWJk ZXYvdGhlcm0vbnY1MC5jIGIvZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYvdGhlcm0vbnY1MC5jCmlu ZGV4IDliNTdiNDMzLi42MmVjNDA2MyAxMDA2NDQKLS0tIGEvZHJtL25vdXZlYXUvbnZrbS9zdWJk ZXYvdGhlcm0vbnY1MC5jCisrKyBiL2RybS9ub3V2ZWF1L252a20vc3ViZGV2L3RoZXJtL252NTAu YwpAQCAtMTI2LDcgKzEyNiw3IEBAIG52NTBfc2Vuc29yX3NldHVwKHN0cnVjdCBudmttX3RoZXJt ICp0aGVybSkKIH0KIAogc3RhdGljIGludAotbnY1MF90ZW1wX2dldChzdHJ1Y3QgbnZrbV90aGVy bSAqdGhlcm0pCitudjUwX3RlbXBfZ2V0KHN0cnVjdCBudmttX3RoZXJtICp0aGVybSwgaW50ICp2 YWwpCiB7CiAJc3RydWN0IG52a21fZGV2aWNlICpkZXZpY2UgPSB0aGVybS0+c3ViZGV2LmRldmlj ZTsKIAlzdHJ1Y3QgbnZiaW9zX3RoZXJtX3NlbnNvciAqc2Vuc29yID0gJnRoZXJtLT5iaW9zX3Nl bnNvcjsKQEAgLTE0MywxMSArMTQzLDggQEAgbnY1MF90ZW1wX2dldChzdHJ1Y3QgbnZrbV90aGVy bSAqdGhlcm0pCiAJY29yZV90ZW1wID0gY29yZV90ZW1wICsgc2Vuc29yLT5vZmZzZXRfbnVtIC8g c2Vuc29yLT5vZmZzZXRfZGVuOwogCWNvcmVfdGVtcCA9IGNvcmVfdGVtcCArIHNlbnNvci0+b2Zm c2V0X2NvbnN0YW50IC0gODsKIAotCS8qIHJlc2VydmUgbmVnYXRpdmUgdGVtcGVyYXR1cmVzIGZv ciBlcnJvcnMgKi8KLQlpZiAoY29yZV90ZW1wIDwgMCkKLQkJY29yZV90ZW1wID0gMDsKLQotCXJl dHVybiBjb3JlX3RlbXA7CisJKnZhbCA9IGNvcmVfdGVtcDsKKwlyZXR1cm4gMDsKIH0KIAogc3Rh dGljIHZvaWQKZGlmZiAtLWdpdCBhL2RybS9ub3V2ZWF1L252a20vc3ViZGV2L3RoZXJtL3ByaXYu aCBiL2RybS9ub3V2ZWF1L252a20vc3ViZGV2L3RoZXJtL3ByaXYuaAppbmRleCAxZjQ2ZTM3MS4u YjMyNWVjNWYgMTAwNjQ0Ci0tLSBhL2RybS9ub3V2ZWF1L252a20vc3ViZGV2L3RoZXJtL3ByaXYu aAorKysgYi9kcm0vbm91dmVhdS9udmttL3N1YmRldi90aGVybS9wcml2LmgKQEAgLTkxLDcgKzkx LDcgQEAgc3RydWN0IG52a21fdGhlcm1fZnVuYyB7CiAJaW50ICgqcHdtX3NldCkoc3RydWN0IG52 a21fdGhlcm0gKiwgaW50IGxpbmUsIHUzMiwgdTMyKTsKIAlpbnQgKCpwd21fY2xvY2spKHN0cnVj dCBudmttX3RoZXJtICosIGludCBsaW5lKTsKIAotCWludCAoKnRlbXBfZ2V0KShzdHJ1Y3QgbnZr bV90aGVybSAqKTsKKwlpbnQgKCp0ZW1wX2dldCkoc3RydWN0IG52a21fdGhlcm0gKiwgaW50ICop OwogCiAJaW50ICgqZmFuX3NlbnNlKShzdHJ1Y3QgbnZrbV90aGVybSAqKTsKIApAQCAtMTA1LDcg KzEwNSw3IEBAIGludCAgbnY1MF9mYW5fcHdtX2dldChzdHJ1Y3QgbnZrbV90aGVybSAqLCBpbnQs IHUzMiAqLCB1MzIgKik7CiBpbnQgIG52NTBfZmFuX3B3bV9zZXQoc3RydWN0IG52a21fdGhlcm0g KiwgaW50LCB1MzIsIHUzMik7CiBpbnQgIG52NTBfZmFuX3B3bV9jbG9jayhzdHJ1Y3QgbnZrbV90 aGVybSAqLCBpbnQpOwogCi1pbnQgIGc4NF90ZW1wX2dldChzdHJ1Y3QgbnZrbV90aGVybSAqKTsK K2ludCAgZzg0X3RlbXBfZ2V0KHN0cnVjdCBudmttX3RoZXJtICosIGludCAqKTsKIHZvaWQgZzg0 X3NlbnNvcl9zZXR1cChzdHJ1Y3QgbnZrbV90aGVybSAqKTsKIHZvaWQgZzg0X3RoZXJtX2Zpbmko c3RydWN0IG52a21fdGhlcm0gKik7CiAKZGlmZiAtLWdpdCBhL2RybS9ub3V2ZWF1L252a20vc3Vi ZGV2L3RoZXJtL3RlbXAuYyBiL2RybS9ub3V2ZWF1L252a20vc3ViZGV2L3RoZXJtL3RlbXAuYwpp bmRleCBkZGIyYjJjNi4uNWVjMmRmYjMgMTAwNjQ0Ci0tLSBhL2RybS9ub3V2ZWF1L252a20vc3Vi ZGV2L3RoZXJtL3RlbXAuYworKysgYi9kcm0vbm91dmVhdS9udmttL3N1YmRldi90aGVybS90ZW1w LmMKQEAgLTg2LDcgKzg2LDEwIEBAIG52a21fdGhlcm1fc2Vuc29yX2V2ZW50KHN0cnVjdCBudmtt X3RoZXJtICp0aGVybSwgZW51bSBudmttX3RoZXJtX3RocnMgdGhycywKIAlzdGF0aWMgY29uc3Qg Y2hhciAqIGNvbnN0IHRocmVzaG9sZHNbXSA9IHsKIAkJImZhbmJvb3N0IiwgImRvd25jbG9jayIs ICJjcml0aWNhbCIsICJzaHV0ZG93biIKIAl9OwotCWludCB0ZW1wZXJhdHVyZSA9IHRoZXJtLT5m dW5jLT50ZW1wX2dldCh0aGVybSk7CisJaW50IHRlbXBlcmF0dXJlOworCisJaWYgKHRoZXJtLT5m dW5jLT50ZW1wX2dldCh0aGVybSwgJnRlbXBlcmF0dXJlKSA8IDApCisJCXJldHVybjsKIAogCWlm ICh0aHJzIDwgMCB8fCB0aHJzID4gMykKIAkJcmV0dXJuOwpAQCAtMTQwLDcgKzE0MywxMCBAQCBu dmttX3RoZXJtX3RocmVzaG9sZF9oeXN0X3BvbGxpbmcoc3RydWN0IG52a21fdGhlcm0gKnRoZXJt LAogewogCWVudW0gbnZrbV90aGVybV90aHJzX2RpcmVjdGlvbiBkaXJlY3Rpb247CiAJZW51bSBu dmttX3RoZXJtX3RocnNfc3RhdGUgcHJldl9zdGF0ZSwgbmV3X3N0YXRlOwotCWludCB0ZW1wID0g dGhlcm0tPmZ1bmMtPnRlbXBfZ2V0KHRoZXJtKTsKKwlpbnQgdGVtcDsKKworCWlmICh0aGVybS0+ ZnVuYy0+dGVtcF9nZXQodGhlcm0sICZ0ZW1wKSA8IDApCisJCXJldHVybjsKIAogCXByZXZfc3Rh dGUgPSBudmttX3RoZXJtX3NlbnNvcl9nZXRfdGhyZXNob2xkX3N0YXRlKHRoZXJtLCB0aHJzX25h bWUpOwogCkBAIC0xNjYsNiArMTcyLDcgQEAgYWxhcm1fdGltZXJfY2FsbGJhY2soc3RydWN0IG52 a21fYWxhcm0gKmFsYXJtKQogCXN0cnVjdCBudmJpb3NfdGhlcm1fc2Vuc29yICpzZW5zb3IgPSAm dGhlcm0tPmJpb3Nfc2Vuc29yOwogCXN0cnVjdCBudmttX3RpbWVyICp0bXIgPSB0aGVybS0+c3Vi ZGV2LmRldmljZS0+dGltZXI7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlpbnQgdmFsOwogCiAJ c3Bpbl9sb2NrX2lycXNhdmUoJnRoZXJtLT5zZW5zb3IuYWxhcm1fcHJvZ3JhbV9sb2NrLCBmbGFn cyk7CiAKQEAgLTE4NSw3ICsxOTIsNyBAQCBhbGFybV90aW1lcl9jYWxsYmFjayhzdHJ1Y3QgbnZr bV9hbGFybSAqYWxhcm0pCiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmdGhlcm0tPnNlbnNvci5h bGFybV9wcm9ncmFtX2xvY2ssIGZsYWdzKTsKIAogCS8qIHNjaGVkdWxlIHRoZSBuZXh0IHBvbGwg aW4gb25lIHNlY29uZCAqLwotCWlmICh0aGVybS0+ZnVuYy0+dGVtcF9nZXQodGhlcm0pID49IDAp CisJaWYgKHRoZXJtLT5mdW5jLT50ZW1wX2dldCh0aGVybSwgJnZhbCkgPj0gMCkKIAkJbnZrbV90 aW1lcl9hbGFybSh0bXIsIDEwMDAwMDAwMDBVTEwsIGFsYXJtKTsKIH0KIApAQCAtMjI3LDkgKzIz NCwxMCBAQCBudmttX3RoZXJtX3NlbnNvcl9maW5pKHN0cnVjdCBudmttX3RoZXJtICp0aGVybSwg Ym9vbCBzdXNwZW5kKQogdm9pZAogbnZrbV90aGVybV9zZW5zb3JfcHJlaW5pdChzdHJ1Y3QgbnZr bV90aGVybSAqdGhlcm0pCiB7CisJaW50IHZhbDsKIAljb25zdCBjaGFyICpzZW5zb3JfYXZhaWwg PSAieWVzIjsKIAotCWlmICh0aGVybS0+ZnVuYy0+dGVtcF9nZXQodGhlcm0pIDwgMCkKKwlpZiAo dGhlcm0tPmZ1bmMtPnRlbXBfZ2V0KHRoZXJtLCAmdmFsKSA8IDApCiAJCXNlbnNvcl9hdmFpbCA9 ICJubyI7CiAKIAludmttX2RlYnVnKCZ0aGVybS0+c3ViZGV2LCAiaW50ZXJuYWwgc2Vuc29yOiAl c1xuIiwgc2Vuc29yX2F2YWlsKTsKLS0gCjIuMTQuMQoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KTm91dmVhdSBtYWlsaW5nIGxpc3QKTm91dmVhdUBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9ub3V2ZWF1Cg==