From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: [PATCH] drm: Convert all helpers to drm_connector_list_iter Date: Thu, 15 Dec 2016 16:58:43 +0100 Message-ID: <20161215155843.13408-1-daniel.vetter@ffwll.ch> References: <20161213230814.19598-7-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20161213230814.19598-7-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: DRI Development Cc: Daniel Vetter , Intel Graphics Development , Harry Wentland List-Id: dri-devel@lists.freedesktop.org TW9zdGx5IG5vdGhpbmcgc3BlY2lhbCAoZXhjZXB0IG1ha2luZyBzdXJlIHRoYXQgcmVhbGx5IGFs bCBlcnJvciBwYXRocwphbmQgZnJpZW5kcyBjYWxsIGl0ZXJfcHV0KS4KCnYyOiBEb24ndCBmb3Jn ZXQgdGhlIHJhdyBjb25uZWN0b3JfbGlzdCB3YWxraW5nIGluCmRybV9oZWxwZXJfbW92ZV9wYW5l bF9jb25uZWN0b3JzX3RvX2hlYWQuIFRoYXQgb25lIHVuZm9ydHVuYXRlbHkgY2FuJ3QKYmUgY29u dmVydGVkIHRvIHRoZSBpdGVyYXRvciBoZWxwZXJzLCBidXQgc2luY2UgaXQncyBqdXN0IHNvbWUg bGlzdApzcGxpY2luZyBiZXN0IHRvIGp1c3Qgd3JhcCB0aGUgZW50aXJlIHRoaW5nIHVwIGluIG9u ZSBjcml0aWNhbApzZWN0aW9uLgoKdjM6IEJhaWwgb3V0IGFmdGVyIGl0ZXJfcHV0IChIYXJyeSku CgpDYzogSGFycnkgV2VudGxhbmQgPGhhcnJ5LndlbnRsYW5kQGFtZC5jb20+ClJldmlld2VkLWJ5 OiBIYXJyeSBXZW50bGFuZCA8aGFycnkud2VudGxhbmRAYW1kLmNvbT4KU2lnbmVkLW9mZi1ieTog RGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KLS0tCiBkcml2ZXJzL2dwdS9k cm0vZHJtX2F0b21pY19oZWxwZXIuYyAgfCAzOSArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0t CiBkcml2ZXJzL2dwdS9kcm0vZHJtX2NydGNfaGVscGVyLmMgICAgfCA0OSArKysrKysrKysrKysr KysrKysrKysrKysrKysrLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmMg ICAgICB8IDEyICsrKysrKy0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlc2V0X2hlbHBlci5j IHwgIDIgKysKIGRyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmVfaGVscGVyLmMgICB8ICA1ICsrKy0K IGRyaXZlcnMvZ3B1L2RybS9kcm1fcHJvYmVfaGVscGVyLmMgICB8IDE4ICsrKysrKysrLS0tLS0K IDYgZmlsZXMgY2hhbmdlZCwgOTIgaW5zZXJ0aW9ucygrKSwgMzMgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMgYi9kcml2ZXJzL2dw dS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwppbmRleCAyMzc2N2RmNzI2MTUuLmUyZTE1YTk5MDNh OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKQEAgLTk0LDkgKzk0LDEwIEBAIHN0 YXRpYyBpbnQgaGFuZGxlX2NvbmZsaWN0aW5nX2VuY29kZXJzKHN0cnVjdCBkcm1fYXRvbWljX3N0 YXRlICpzdGF0ZSwKIHsKIAlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZTsK IAlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yOworCXN0cnVjdCBkcm1fY29ubmVjdG9y X2xpc3RfaXRlciBjb25uX2l0ZXI7CiAJc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyOwogCXVu c2lnbmVkIGVuY29kZXJfbWFzayA9IDA7Ci0JaW50IGksIHJldDsKKwlpbnQgaSwgcmV0ID0gMDsK IAogCS8qCiAJICogRmlyc3QgbG9vcCwgZmluZCBhbGwgbmV3bHkgYXNzaWduZWQgZW5jb2RlcnMg ZnJvbSB0aGUgY29ubmVjdG9ycwpAQCAtMTQ0LDcgKzE0NSw4IEBAIHN0YXRpYyBpbnQgaGFuZGxl X2NvbmZsaWN0aW5nX2VuY29kZXJzKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKIAkg KiBhbmQgdGhlIGNydGMgaXMgZGlzYWJsZWQgaWYgbm8gZW5jb2RlciBpcyBsZWZ0LiBUaGlzIHBy ZXNlcnZlcwogCSAqIGNvbXBhdGliaWxpdHkgd2l0aCB0aGUgbGVnYWN5IHNldF9jb25maWcgYmVo YXZpb3IuCiAJICovCi0JZHJtX2Zvcl9lYWNoX2Nvbm5lY3Rvcihjb25uZWN0b3IsIHN0YXRlLT5k ZXYpIHsKKwlkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9nZXQoc3RhdGUtPmRldiwgJmNvbm5faXRl cik7CisJZHJtX2Zvcl9lYWNoX2Nvbm5lY3Rvcl9pdGVyKGNvbm5lY3RvciwgJmNvbm5faXRlcikg ewogCQlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGU7CiAKIAkJaWYgKGRybV9hdG9t aWNfZ2V0X2V4aXN0aW5nX2Nvbm5lY3Rvcl9zdGF0ZShzdGF0ZSwgY29ubmVjdG9yKSkKQEAgLTE2 MCwxMiArMTYyLDE1IEBAIHN0YXRpYyBpbnQgaGFuZGxlX2NvbmZsaWN0aW5nX2VuY29kZXJzKHN0 cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKIAkJCQkJIGNvbm5lY3Rvci0+c3RhdGUtPmNy dGMtPmJhc2UuaWQsCiAJCQkJCSBjb25uZWN0b3ItPnN0YXRlLT5jcnRjLT5uYW1lLAogCQkJCQkg Y29ubmVjdG9yLT5iYXNlLmlkLCBjb25uZWN0b3ItPm5hbWUpOwotCQkJcmV0dXJuIC1FSU5WQUw7 CisJCQlyZXQgPSAtRUlOVkFMOworCQkJZ290byBvdXQ7CiAJCX0KIAogCQljb25uX3N0YXRlID0g ZHJtX2F0b21pY19nZXRfY29ubmVjdG9yX3N0YXRlKHN0YXRlLCBjb25uZWN0b3IpOwotCQlpZiAo SVNfRVJSKGNvbm5fc3RhdGUpKQotCQkJcmV0dXJuIFBUUl9FUlIoY29ubl9zdGF0ZSk7CisJCWlm IChJU19FUlIoY29ubl9zdGF0ZSkpIHsKKwkJCXJldCA9IFBUUl9FUlIoY29ubl9zdGF0ZSk7CisJ CQlnb3RvIG91dDsKKwkJfQogCiAJCURSTV9ERUJVR19BVE9NSUMoIltFTkNPREVSOiVkOiVzXSBp biB1c2Ugb24gW0NSVEM6JWQ6JXNdLCBkaXNhYmxpbmcgW0NPTk5FQ1RPUjolZDolc11cbiIsCiAJ CQkJIGVuY29kZXItPmJhc2UuaWQsIGVuY29kZXItPm5hbWUsCkBAIC0xNzYsMTkgKzE4MSwyMSBA QCBzdGF0aWMgaW50IGhhbmRsZV9jb25mbGljdGluZ19lbmNvZGVycyhzdHJ1Y3QgZHJtX2F0b21p Y19zdGF0ZSAqc3RhdGUsCiAKIAkJcmV0ID0gZHJtX2F0b21pY19zZXRfY3J0Y19mb3JfY29ubmVj dG9yKGNvbm5fc3RhdGUsIE5VTEwpOwogCQlpZiAocmV0KQotCQkJcmV0dXJuIHJldDsKKwkJCWdv dG8gb3V0OwogCiAJCWlmICghY3J0Y19zdGF0ZS0+Y29ubmVjdG9yX21hc2spIHsKIAkJCXJldCA9 IGRybV9hdG9taWNfc2V0X21vZGVfcHJvcF9mb3JfY3J0YyhjcnRjX3N0YXRlLAogCQkJCQkJCQlO VUxMKTsKIAkJCWlmIChyZXQgPCAwKQotCQkJCXJldHVybiByZXQ7CisJCQkJZ290byBvdXQ7CiAK IAkJCWNydGNfc3RhdGUtPmFjdGl2ZSA9IGZhbHNlOwogCQl9CiAJfQorb3V0OgorCWRybV9jb25u ZWN0b3JfbGlzdF9pdGVyX3B1dCgmY29ubl9pdGVyKTsKIAotCXJldHVybiAwOworCXJldHVybiBy ZXQ7CiB9CiAKIHN0YXRpYyB2b2lkCkBAIC0yNDQyLDYgKzI0NDksNyBAQCBpbnQgZHJtX2F0b21p Y19oZWxwZXJfZGlzYWJsZV9hbGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIHsKIAlzdHJ1Y3Qg ZHJtX2F0b21pY19zdGF0ZSAqc3RhdGU7CiAJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm47CisJ c3RydWN0IGRybV9jb25uZWN0b3JfbGlzdF9pdGVyIGNvbm5faXRlcjsKIAlpbnQgZXJyOwogCiAJ c3RhdGUgPSBkcm1fYXRvbWljX3N0YXRlX2FsbG9jKGRldik7CkBAIC0yNDUwLDcgKzI0NTgsOCBA QCBpbnQgZHJtX2F0b21pY19oZWxwZXJfZGlzYWJsZV9hbGwoc3RydWN0IGRybV9kZXZpY2UgKmRl diwKIAogCXN0YXRlLT5hY3F1aXJlX2N0eCA9IGN0eDsKIAotCWRybV9mb3JfZWFjaF9jb25uZWN0 b3IoY29ubiwgZGV2KSB7CisJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfZ2V0KGRldiwgJmNvbm5f aXRlcik7CisJZHJtX2Zvcl9lYWNoX2Nvbm5lY3Rvcl9pdGVyKGNvbm4sICZjb25uX2l0ZXIpIHsK IAkJc3RydWN0IGRybV9jcnRjICpjcnRjID0gY29ubi0+c3RhdGUtPmNydGM7CiAJCXN0cnVjdCBk cm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZTsKIApAQCAtMjQ2OCw2ICsyNDc3LDcgQEAgaW50IGRy bV9hdG9taWNfaGVscGVyX2Rpc2FibGVfYWxsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAKIAll cnIgPSBkcm1fYXRvbWljX2NvbW1pdChzdGF0ZSk7CiBmcmVlOgorCWRybV9jb25uZWN0b3JfbGlz dF9pdGVyX3B1dCgmY29ubl9pdGVyKTsKIAlkcm1fYXRvbWljX3N0YXRlX3B1dChzdGF0ZSk7CiAJ cmV0dXJuIGVycjsKIH0KQEAgLTI4NDAsNiArMjg1MCw3IEBAIGludCBkcm1fYXRvbWljX2hlbHBl cl9jb25uZWN0b3JfZHBtcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogCXN0cnVj dCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZTsKIAlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7CiAJ c3RydWN0IGRybV9jb25uZWN0b3IgKnRtcF9jb25uZWN0b3I7CisJc3RydWN0IGRybV9jb25uZWN0 b3JfbGlzdF9pdGVyIGNvbm5faXRlcjsKIAlpbnQgcmV0OwogCWJvb2wgYWN0aXZlID0gZmFsc2U7 CiAJaW50IG9sZF9tb2RlID0gY29ubmVjdG9yLT5kcG1zOwpAQCAtMjg2Nyw3ICsyODc4LDggQEAg aW50IGRybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9kcG1zKHN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3IsCiAKIAlXQVJOX09OKCFkcm1fbW9kZXNldF9pc19sb2NrZWQoJmNvbmZpZy0+ Y29ubmVjdGlvbl9tdXRleCkpOwogCi0JZHJtX2Zvcl9lYWNoX2Nvbm5lY3Rvcih0bXBfY29ubmVj dG9yLCBjb25uZWN0b3ItPmRldikgeworCWRybV9jb25uZWN0b3JfbGlzdF9pdGVyX2dldChjb25u ZWN0b3ItPmRldiwgJmNvbm5faXRlcik7CisJZHJtX2Zvcl9lYWNoX2Nvbm5lY3Rvcl9pdGVyKHRt cF9jb25uZWN0b3IsICZjb25uX2l0ZXIpIHsKIAkJaWYgKHRtcF9jb25uZWN0b3ItPnN0YXRlLT5j cnRjICE9IGNydGMpCiAJCQljb250aW51ZTsKIApAQCAtMjg3Niw2ICsyODg4LDcgQEAgaW50IGRy bV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9kcG1zKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25u ZWN0b3IsCiAJCQlicmVhazsKIAkJfQogCX0KKwlkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9wdXQo JmNvbm5faXRlcik7CiAJY3J0Y19zdGF0ZS0+YWN0aXZlID0gYWN0aXZlOwogCiAJcmV0ID0gZHJt X2F0b21pY19jb21taXQoc3RhdGUpOwpAQCAtMzI1Myw2ICszMjY2LDcgQEAgZHJtX2F0b21pY19o ZWxwZXJfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiB7CiAJc3RydWN0 IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlOwogCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uOwor CXN0cnVjdCBkcm1fY29ubmVjdG9yX2xpc3RfaXRlciBjb25uX2l0ZXI7CiAJc3RydWN0IGRybV9w bGFuZSAqcGxhbmU7CiAJc3RydWN0IGRybV9jcnRjICpjcnRjOwogCWludCBlcnIgPSAwOwpAQCAt MzI4MywxNSArMzI5NywxOCBAQCBkcm1fYXRvbWljX2hlbHBlcl9kdXBsaWNhdGVfc3RhdGUoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwKIAkJfQogCX0KIAotCWRybV9mb3JfZWFjaF9jb25uZWN0b3Io Y29ubiwgZGV2KSB7CisJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfZ2V0KGRldiwgJmNvbm5faXRl cik7CisJZHJtX2Zvcl9lYWNoX2Nvbm5lY3Rvcl9pdGVyKGNvbm4sICZjb25uX2l0ZXIpIHsKIAkJ c3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGU7CiAKIAkJY29ubl9zdGF0ZSA9 IGRybV9hdG9taWNfZ2V0X2Nvbm5lY3Rvcl9zdGF0ZShzdGF0ZSwgY29ubik7CiAJCWlmIChJU19F UlIoY29ubl9zdGF0ZSkpIHsKIAkJCWVyciA9IFBUUl9FUlIoY29ubl9zdGF0ZSk7CisJCQlkcm1f Y29ubmVjdG9yX2xpc3RfaXRlcl9wdXQoJmNvbm5faXRlcik7CiAJCQlnb3RvIGZyZWU7CiAJCX0K IAl9CisJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfcHV0KCZjb25uX2l0ZXIpOwogCiAJLyogY2xl YXIgdGhlIGFjcXVpcmUgY29udGV4dCBzbyB0aGF0IGl0IGlzbid0IGFjY2lkZW50YWxseSByZXVz ZWQgKi8KIAlzdGF0ZS0+YWNxdWlyZV9jdHggPSBOVUxMOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2RybV9jcnRjX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjX2hlbHBl ci5jCmluZGV4IDlkMDA3ZjVmOTczMi4uYWQxNTQzMjVhMGZkIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vZHJtX2NydGNfaGVscGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRj X2hlbHBlci5jCkBAIC04OCw2ICs4OCw3IEBACiBib29sIGRybV9oZWxwZXJfZW5jb2Rlcl9pbl91 c2Uoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQogewogCXN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3I7CisJc3RydWN0IGRybV9jb25uZWN0b3JfbGlzdF9pdGVyIGNvbm5faXRlcjsK IAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZW5jb2Rlci0+ZGV2OwogCiAJLyoKQEAgLTk5LDkg KzEwMCwxNSBAQCBib29sIGRybV9oZWxwZXJfZW5jb2Rlcl9pbl91c2Uoc3RydWN0IGRybV9lbmNv ZGVyICplbmNvZGVyKQogCQlXQVJOX09OKCFkcm1fbW9kZXNldF9pc19sb2NrZWQoJmRldi0+bW9k ZV9jb25maWcuY29ubmVjdGlvbl9tdXRleCkpOwogCX0KIAotCWRybV9mb3JfZWFjaF9jb25uZWN0 b3IoY29ubmVjdG9yLCBkZXYpCi0JCWlmIChjb25uZWN0b3ItPmVuY29kZXIgPT0gZW5jb2RlcikK KworCWRybV9jb25uZWN0b3JfbGlzdF9pdGVyX2dldChkZXYsICZjb25uX2l0ZXIpOworCWRybV9m b3JfZWFjaF9jb25uZWN0b3JfaXRlcihjb25uZWN0b3IsICZjb25uX2l0ZXIpIHsKKwkJaWYgKGNv bm5lY3Rvci0+ZW5jb2RlciA9PSBlbmNvZGVyKSB7CisJCQlkcm1fY29ubmVjdG9yX2xpc3RfaXRl cl9wdXQoJmNvbm5faXRlcik7CiAJCQlyZXR1cm4gdHJ1ZTsKKwkJfQorCX0KKwlkcm1fY29ubmVj dG9yX2xpc3RfaXRlcl9wdXQoJmNvbm5faXRlcik7CiAJcmV0dXJuIGZhbHNlOwogfQogRVhQT1JU X1NZTUJPTChkcm1faGVscGVyX2VuY29kZXJfaW5fdXNlKTsKQEAgLTQzNiwxMCArNDQzLDEzIEBA IGRybV9jcnRjX2hlbHBlcl9kaXNhYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIAogCS8qIERl Y291cGxlIGFsbCBlbmNvZGVycyBhbmQgdGhlaXIgYXR0YWNoZWQgY29ubmVjdG9ycyBmcm9tIHRo aXMgY3J0YyAqLwogCWRybV9mb3JfZWFjaF9lbmNvZGVyKGVuY29kZXIsIGRldikgeworCQlzdHJ1 Y3QgZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXIgY29ubl9pdGVyOworCiAJCWlmIChlbmNvZGVyLT5j cnRjICE9IGNydGMpCiAJCQljb250aW51ZTsKIAotCQlkcm1fZm9yX2VhY2hfY29ubmVjdG9yKGNv bm5lY3RvciwgZGV2KSB7CisJCWRybV9jb25uZWN0b3JfbGlzdF9pdGVyX2dldChkZXYsICZjb25u X2l0ZXIpOworCQlkcm1fZm9yX2VhY2hfY29ubmVjdG9yX2l0ZXIoY29ubmVjdG9yLCAmY29ubl9p dGVyKSB7CiAJCQlpZiAoY29ubmVjdG9yLT5lbmNvZGVyICE9IGVuY29kZXIpCiAJCQkJY29udGlu dWU7CiAKQEAgLTQ1Niw2ICs0NjYsNyBAQCBkcm1fY3J0Y19oZWxwZXJfZGlzYWJsZShzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMpCiAJCQkvKiB3ZSBrZWVwIGEgcmVmZXJlbmNlIHdoaWxlIHRoZSBlbmNv ZGVyIGlzIGJvdW5kICovCiAJCQlkcm1fY29ubmVjdG9yX3VucmVmZXJlbmNlKGNvbm5lY3Rvcik7 CiAJCX0KKwkJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfcHV0KCZjb25uX2l0ZXIpOwogCX0KIAog CV9fZHJtX2hlbHBlcl9kaXNhYmxlX3VudXNlZF9mdW5jdGlvbnMoZGV2KTsKQEAgLTUwNyw2ICs1 MTgsNyBAQCBpbnQgZHJtX2NydGNfaGVscGVyX3NldF9jb25maWcoc3RydWN0IGRybV9tb2RlX3Nl dCAqc2V0KQogCWJvb2wgbW9kZV9jaGFuZ2VkID0gZmFsc2U7IC8qIGlmIHRydWUgZG8gYSBmdWxs IG1vZGUgc2V0ICovCiAJYm9vbCBmYl9jaGFuZ2VkID0gZmFsc2U7IC8qIGlmIHRydWUgYW5kICFt b2RlX2NoYW5nZWQganVzdCBkbyBhIGZsaXAgKi8KIAlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yOworCXN0cnVjdCBkcm1fY29ubmVjdG9yX2xpc3RfaXRlciBjb25uX2l0ZXI7CiAJaW50 IGNvdW50ID0gMCwgcm8sIGZhaWwgPSAwOwogCWNvbnN0IHN0cnVjdCBkcm1fY3J0Y19oZWxwZXJf ZnVuY3MgKmNydGNfZnVuY3M7CiAJc3RydWN0IGRybV9tb2RlX3NldCBzYXZlX3NldDsKQEAgLTU3 MSw5ICs1ODMsMTAgQEAgaW50IGRybV9jcnRjX2hlbHBlcl9zZXRfY29uZmlnKHN0cnVjdCBkcm1f bW9kZV9zZXQgKnNldCkKIAl9CiAKIAljb3VudCA9IDA7Ci0JZHJtX2Zvcl9lYWNoX2Nvbm5lY3Rv cihjb25uZWN0b3IsIGRldikgeworCWRybV9jb25uZWN0b3JfbGlzdF9pdGVyX2dldChkZXYsICZj b25uX2l0ZXIpOworCWRybV9mb3JfZWFjaF9jb25uZWN0b3JfaXRlcihjb25uZWN0b3IsICZjb25u X2l0ZXIpCiAJCXNhdmVfY29ubmVjdG9yX2VuY29kZXJzW2NvdW50KytdID0gY29ubmVjdG9yLT5l bmNvZGVyOwotCX0KKwlkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9wdXQoJmNvbm5faXRlcik7CiAK IAlzYXZlX3NldC5jcnRjID0gc2V0LT5jcnRjOwogCXNhdmVfc2V0Lm1vZGUgPSAmc2V0LT5jcnRj LT5tb2RlOwpAQCAtNjE1LDcgKzYyOCw4IEBAIGludCBkcm1fY3J0Y19oZWxwZXJfc2V0X2NvbmZp ZyhzdHJ1Y3QgZHJtX21vZGVfc2V0ICpzZXQpCiAKIAkvKiBhKSB0cmF2ZXJzZSBwYXNzZWQgaW4g Y29ubmVjdG9yIGxpc3QgYW5kIGdldCBlbmNvZGVycyBmb3IgdGhlbSAqLwogCWNvdW50ID0gMDsK LQlkcm1fZm9yX2VhY2hfY29ubmVjdG9yKGNvbm5lY3RvciwgZGV2KSB7CisJZHJtX2Nvbm5lY3Rv cl9saXN0X2l0ZXJfZ2V0KGRldiwgJmNvbm5faXRlcik7CisJZHJtX2Zvcl9lYWNoX2Nvbm5lY3Rv cl9pdGVyKGNvbm5lY3RvciwgJmNvbm5faXRlcikgewogCQljb25zdCBzdHJ1Y3QgZHJtX2Nvbm5l Y3Rvcl9oZWxwZXJfZnVuY3MgKmNvbm5lY3Rvcl9mdW5jcyA9CiAJCQljb25uZWN0b3ItPmhlbHBl cl9wcml2YXRlOwogCQluZXdfZW5jb2RlciA9IGNvbm5lY3Rvci0+ZW5jb2RlcjsKQEAgLTY0OCw2 ICs2NjIsNyBAQCBpbnQgZHJtX2NydGNfaGVscGVyX3NldF9jb25maWcoc3RydWN0IGRybV9tb2Rl X3NldCAqc2V0KQogCQkJY29ubmVjdG9yLT5lbmNvZGVyID0gbmV3X2VuY29kZXI7CiAJCX0KIAl9 CisJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfcHV0KCZjb25uX2l0ZXIpOwogCiAJaWYgKGZhaWwp IHsKIAkJcmV0ID0gLUVJTlZBTDsKQEAgLTY1NSw3ICs2NzAsOCBAQCBpbnQgZHJtX2NydGNfaGVs cGVyX3NldF9jb25maWcoc3RydWN0IGRybV9tb2RlX3NldCAqc2V0KQogCX0KIAogCWNvdW50ID0g MDsKLQlkcm1fZm9yX2VhY2hfY29ubmVjdG9yKGNvbm5lY3RvciwgZGV2KSB7CisJZHJtX2Nvbm5l Y3Rvcl9saXN0X2l0ZXJfZ2V0KGRldiwgJmNvbm5faXRlcik7CisJZHJtX2Zvcl9lYWNoX2Nvbm5l Y3Rvcl9pdGVyKGNvbm5lY3RvciwgJmNvbm5faXRlcikgewogCQlpZiAoIWNvbm5lY3Rvci0+ZW5j b2RlcikKIAkJCWNvbnRpbnVlOwogCkBAIC02NzMsNiArNjg5LDcgQEAgaW50IGRybV9jcnRjX2hl bHBlcl9zZXRfY29uZmlnKHN0cnVjdCBkcm1fbW9kZV9zZXQgKnNldCkKIAkJaWYgKG5ld19jcnRj ICYmCiAJCSAgICAhZHJtX2VuY29kZXJfY3J0Y19vayhjb25uZWN0b3ItPmVuY29kZXIsIG5ld19j cnRjKSkgewogCQkJcmV0ID0gLUVJTlZBTDsKKwkJCWRybV9jb25uZWN0b3JfbGlzdF9pdGVyX3B1 dCgmY29ubl9pdGVyKTsKIAkJCWdvdG8gZmFpbDsKIAkJfQogCQlpZiAobmV3X2NydGMgIT0gY29u bmVjdG9yLT5lbmNvZGVyLT5jcnRjKSB7CkBAIC02ODksNiArNzA2LDcgQEAgaW50IGRybV9jcnRj X2hlbHBlcl9zZXRfY29uZmlnKHN0cnVjdCBkcm1fbW9kZV9zZXQgKnNldCkKIAkJCQkgICAgICBj b25uZWN0b3ItPmJhc2UuaWQsIGNvbm5lY3Rvci0+bmFtZSk7CiAJCX0KIAl9CisJZHJtX2Nvbm5l Y3Rvcl9saXN0X2l0ZXJfcHV0KCZjb25uX2l0ZXIpOwogCiAJLyogbW9kZV9zZXRfYmFzZSBpcyBu b3QgYSByZXF1aXJlZCBmdW5jdGlvbiAqLwogCWlmIChmYl9jaGFuZ2VkICYmICFjcnRjX2Z1bmNz LT5tb2RlX3NldF9iYXNlKQpAQCAtNzQzLDkgKzc2MSwxMCBAQCBpbnQgZHJtX2NydGNfaGVscGVy X3NldF9jb25maWcoc3RydWN0IGRybV9tb2RlX3NldCAqc2V0KQogCX0KIAogCWNvdW50ID0gMDsK LQlkcm1fZm9yX2VhY2hfY29ubmVjdG9yKGNvbm5lY3RvciwgZGV2KSB7CisJZHJtX2Nvbm5lY3Rv cl9saXN0X2l0ZXJfZ2V0KGRldiwgJmNvbm5faXRlcik7CisJZHJtX2Zvcl9lYWNoX2Nvbm5lY3Rv cl9pdGVyKGNvbm5lY3RvciwgJmNvbm5faXRlcikKIAkJY29ubmVjdG9yLT5lbmNvZGVyID0gc2F2 ZV9jb25uZWN0b3JfZW5jb2RlcnNbY291bnQrK107Ci0JfQorCWRybV9jb25uZWN0b3JfbGlzdF9p dGVyX3B1dCgmY29ubl9pdGVyKTsKIAogCS8qIGFmdGVyIGZhaWwgZHJvcCByZWZlcmVuY2Ugb24g YWxsIHVuYm91bmQgY29ubmVjdG9ycyBpbiBzZXQsIGxldAogCSAqIGJvdW5kIGNvbm5lY3RvcnMg a2VlcCB0aGVpciByZWZlcmVuY2UKQEAgLTc3MiwxMiArNzkxLDE2IEBAIHN0YXRpYyBpbnQgZHJt X2hlbHBlcl9jaG9vc2VfZW5jb2Rlcl9kcG1zKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikK IHsKIAlpbnQgZHBtcyA9IERSTV9NT0RFX0RQTVNfT0ZGOwogCXN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3I7CisJc3RydWN0IGRybV9jb25uZWN0b3JfbGlzdF9pdGVyIGNvbm5faXRlcjsK IAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZW5jb2Rlci0+ZGV2OwogCi0JZHJtX2Zvcl9lYWNo X2Nvbm5lY3Rvcihjb25uZWN0b3IsIGRldikKKwlkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9nZXQo ZGV2LCAmY29ubl9pdGVyKTsKKwlkcm1fZm9yX2VhY2hfY29ubmVjdG9yX2l0ZXIoY29ubmVjdG9y LCAmY29ubl9pdGVyKQogCQlpZiAoY29ubmVjdG9yLT5lbmNvZGVyID09IGVuY29kZXIpCiAJCQlp ZiAoY29ubmVjdG9yLT5kcG1zIDwgZHBtcykKIAkJCQlkcG1zID0gY29ubmVjdG9yLT5kcG1zOwor CWRybV9jb25uZWN0b3JfbGlzdF9pdGVyX3B1dCgmY29ubl9pdGVyKTsKKwogCXJldHVybiBkcG1z OwogfQogCkBAIC04MDksMTIgKzgzMiwxNiBAQCBzdGF0aWMgaW50IGRybV9oZWxwZXJfY2hvb3Nl X2NydGNfZHBtcyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiB7CiAJaW50IGRwbXMgPSBEUk1fTU9E RV9EUE1TX09GRjsKIAlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yOworCXN0cnVjdCBk cm1fY29ubmVjdG9yX2xpc3RfaXRlciBjb25uX2l0ZXI7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRl diA9IGNydGMtPmRldjsKIAotCWRybV9mb3JfZWFjaF9jb25uZWN0b3IoY29ubmVjdG9yLCBkZXYp CisJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfZ2V0KGRldiwgJmNvbm5faXRlcik7CisJZHJtX2Zv cl9lYWNoX2Nvbm5lY3Rvcl9pdGVyKGNvbm5lY3RvciwgJmNvbm5faXRlcikKIAkJaWYgKGNvbm5l Y3Rvci0+ZW5jb2RlciAmJiBjb25uZWN0b3ItPmVuY29kZXItPmNydGMgPT0gY3J0YykKIAkJCWlm IChjb25uZWN0b3ItPmRwbXMgPCBkcG1zKQogCQkJCWRwbXMgPSBjb25uZWN0b3ItPmRwbXM7CisJ ZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfcHV0KCZjb25uX2l0ZXIpOworCiAJcmV0dXJuIGRwbXM7 CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmMgYi9kcml2 ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5jCmluZGV4IGJlZTVlNDE0OWExYy4uMTQ1ZDU1ZmVm NjllIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmMKQEAgLTEyMCwyMCArMTIwLDIyIEBAIGludCBk cm1fZmJfaGVscGVyX3NpbmdsZV9hZGRfYWxsX2Nvbm5lY3RvcnMoc3RydWN0IGRybV9mYl9oZWxw ZXIgKmZiX2hlbHBlcikKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZmJfaGVscGVyLT5k ZXY7CiAJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcjsKLQlpbnQgaSwgcmV0OworCXN0 cnVjdCBkcm1fY29ubmVjdG9yX2xpc3RfaXRlciBjb25uX2l0ZXI7CisJaW50IGksIHJldCA9IDA7 CiAKIAlpZiAoIWRybV9mYmRldl9lbXVsYXRpb24pCiAJCXJldHVybiAwOwogCiAJbXV0ZXhfbG9j aygmZGV2LT5tb2RlX2NvbmZpZy5tdXRleCk7Ci0JZHJtX2Zvcl9lYWNoX2Nvbm5lY3Rvcihjb25u ZWN0b3IsIGRldikgeworCWRybV9jb25uZWN0b3JfbGlzdF9pdGVyX2dldChkZXYsICZjb25uX2l0 ZXIpOworCWRybV9mb3JfZWFjaF9jb25uZWN0b3JfaXRlcihjb25uZWN0b3IsICZjb25uX2l0ZXIp IHsKIAkJcmV0ID0gZHJtX2ZiX2hlbHBlcl9hZGRfb25lX2Nvbm5lY3RvcihmYl9oZWxwZXIsIGNv bm5lY3Rvcik7CiAKIAkJaWYgKHJldCkKIAkJCWdvdG8gZmFpbDsKIAl9Ci0JbXV0ZXhfdW5sb2Nr KCZkZXYtPm1vZGVfY29uZmlnLm11dGV4KTsKLQlyZXR1cm4gMDsKKwlnb3RvIG91dDsKKwogZmFp bDoKIAlkcm1fZmJfaGVscGVyX2Zvcl9lYWNoX2Nvbm5lY3RvcihmYl9oZWxwZXIsIGkpIHsKIAkJ c3RydWN0IGRybV9mYl9oZWxwZXJfY29ubmVjdG9yICpmYl9oZWxwZXJfY29ubmVjdG9yID0KQEAg LTE0NSw2ICsxNDcsOCBAQCBpbnQgZHJtX2ZiX2hlbHBlcl9zaW5nbGVfYWRkX2FsbF9jb25uZWN0 b3JzKHN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxwZXIpCiAJCWZiX2hlbHBlci0+Y29ubmVj dG9yX2luZm9baV0gPSBOVUxMOwogCX0KIAlmYl9oZWxwZXItPmNvbm5lY3Rvcl9jb3VudCA9IDA7 CitvdXQ6CisJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfcHV0KCZjb25uX2l0ZXIpOwogCW11dGV4 X3VubG9jaygmZGV2LT5tb2RlX2NvbmZpZy5tdXRleCk7CiAKIAlyZXR1cm4gcmV0OwpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlc2V0X2hlbHBlci5jIGIvZHJpdmVycy9ncHUv ZHJtL2RybV9tb2Rlc2V0X2hlbHBlci5jCmluZGV4IDViMDUxODU5YjhkMy4uNWQ4ZmE3OTFmZmY1 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVzZXRfaGVscGVyLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlc2V0X2hlbHBlci5jCkBAIC00OCw2ICs0OCw3IEBAIHZv aWQgZHJtX2hlbHBlcl9tb3ZlX3BhbmVsX2Nvbm5lY3RvcnNfdG9faGVhZChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2KQogCiAJSU5JVF9MSVNUX0hFQUQoJnBhbmVsX2xpc3QpOwogCisJc3Bpbl9sb2Nr X2lycSgmZGV2LT5tb2RlX2NvbmZpZy5jb25uZWN0b3JfbGlzdF9sb2NrKTsKIAlsaXN0X2Zvcl9l YWNoX2VudHJ5X3NhZmUoY29ubmVjdG9yLCB0bXAsCiAJCQkJICZkZXYtPm1vZGVfY29uZmlnLmNv bm5lY3Rvcl9saXN0LCBoZWFkKSB7CiAJCWlmIChjb25uZWN0b3ItPmNvbm5lY3Rvcl90eXBlID09 IERSTV9NT0RFX0NPTk5FQ1RPUl9MVkRTIHx8CkBAIC01Nyw2ICs1OCw3IEBAIHZvaWQgZHJtX2hl bHBlcl9tb3ZlX3BhbmVsX2Nvbm5lY3RvcnNfdG9faGVhZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 KQogCX0KIAogCWxpc3Rfc3BsaWNlKCZwYW5lbF9saXN0LCAmZGV2LT5tb2RlX2NvbmZpZy5jb25u ZWN0b3JfbGlzdCk7CisJc3Bpbl91bmxvY2tfaXJxKCZkZXYtPm1vZGVfY29uZmlnLmNvbm5lY3Rv cl9saXN0X2xvY2spOwogfQogRVhQT1JUX1NZTUJPTChkcm1faGVscGVyX21vdmVfcGFuZWxfY29u bmVjdG9yc190b19oZWFkKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9wbGFu ZV9oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmVfaGVscGVyLmMKaW5kZXggN2E3 ZGRkZjYwNGQ3Li5iYzlmOTc0MjJjZDEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1f cGxhbmVfaGVscGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9wbGFuZV9oZWxwZXIuYwpA QCAtNzQsNiArNzQsNyBAQCBzdGF0aWMgaW50IGdldF9jb25uZWN0b3JzX2Zvcl9jcnRjKHN0cnVj dCBkcm1fY3J0YyAqY3J0YywKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ZGV2 OwogCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3I7CisJc3RydWN0IGRybV9jb25uZWN0 b3JfbGlzdF9pdGVyIGNvbm5faXRlcjsKIAlpbnQgY291bnQgPSAwOwogCiAJLyoKQEAgLTgzLDcg Kzg0LDggQEAgc3RhdGljIGludCBnZXRfY29ubmVjdG9yc19mb3JfY3J0YyhzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMsCiAJICovCiAJV0FSTl9PTighZHJtX21vZGVzZXRfaXNfbG9ja2VkKCZkZXYtPm1v ZGVfY29uZmlnLmNvbm5lY3Rpb25fbXV0ZXgpKTsKIAotCWRybV9mb3JfZWFjaF9jb25uZWN0b3Io Y29ubmVjdG9yLCBkZXYpIHsKKwlkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9nZXQoZGV2LCAmY29u bl9pdGVyKTsKKwlkcm1fZm9yX2VhY2hfY29ubmVjdG9yX2l0ZXIoY29ubmVjdG9yLCAmY29ubl9p dGVyKSB7CiAJCWlmIChjb25uZWN0b3ItPmVuY29kZXIgJiYgY29ubmVjdG9yLT5lbmNvZGVyLT5j cnRjID09IGNydGMpIHsKIAkJCWlmIChjb25uZWN0b3JfbGlzdCAhPSBOVUxMICYmIGNvdW50IDwg bnVtX2Nvbm5lY3RvcnMpCiAJCQkJKihjb25uZWN0b3JfbGlzdCsrKSA9IGNvbm5lY3RvcjsKQEAg LTkxLDYgKzkzLDcgQEAgc3RhdGljIGludCBnZXRfY29ubmVjdG9yc19mb3JfY3J0YyhzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMsCiAJCQljb3VudCsrOwogCQl9CiAJfQorCWRybV9jb25uZWN0b3JfbGlz dF9pdGVyX3B1dCgmY29ubl9pdGVyKTsKIAogCXJldHVybiBjb3VudDsKIH0KZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9kcm1fcHJvYmVfaGVscGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJt X3Byb2JlX2hlbHBlci5jCmluZGV4IGFjOTUzZjAzN2JlNy4uN2NmZjkxZTc0OTdmIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX3Byb2JlX2hlbHBlci5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9kcm1fcHJvYmVfaGVscGVyLmMKQEAgLTEyOSw2ICsxMjksNyBAQCB2b2lkIGRybV9rbXNf aGVscGVyX3BvbGxfZW5hYmxlX2xvY2tlZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogewogCWJv b2wgcG9sbCA9IGZhbHNlOwogCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3I7CisJc3Ry dWN0IGRybV9jb25uZWN0b3JfbGlzdF9pdGVyIGNvbm5faXRlcjsKIAl1bnNpZ25lZCBsb25nIGRl bGF5ID0gRFJNX09VVFBVVF9QT0xMX1BFUklPRDsKIAogCVdBUk5fT04oIW11dGV4X2lzX2xvY2tl ZCgmZGV2LT5tb2RlX2NvbmZpZy5tdXRleCkpOwpAQCAtMTM2LDExICsxMzcsMTMgQEAgdm9pZCBk cm1fa21zX2hlbHBlcl9wb2xsX2VuYWJsZV9sb2NrZWQoc3RydWN0IGRybV9kZXZpY2UgKmRldikK IAlpZiAoIWRldi0+bW9kZV9jb25maWcucG9sbF9lbmFibGVkIHx8ICFkcm1fa21zX2hlbHBlcl9w b2xsKQogCQlyZXR1cm47CiAKLQlkcm1fZm9yX2VhY2hfY29ubmVjdG9yKGNvbm5lY3RvciwgZGV2 KSB7CisJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfZ2V0KGRldiwgJmNvbm5faXRlcik7CisJZHJt X2Zvcl9lYWNoX2Nvbm5lY3Rvcl9pdGVyKGNvbm5lY3RvciwgJmNvbm5faXRlcikgewogCQlpZiAo Y29ubmVjdG9yLT5wb2xsZWQgJiAoRFJNX0NPTk5FQ1RPUl9QT0xMX0NPTk5FQ1QgfAogCQkJCQkg RFJNX0NPTk5FQ1RPUl9QT0xMX0RJU0NPTk5FQ1QpKQogCQkJcG9sbCA9IHRydWU7CiAJfQorCWRy bV9jb25uZWN0b3JfbGlzdF9pdGVyX3B1dCgmY29ubl9pdGVyKTsKIAogCWlmIChkZXYtPm1vZGVf Y29uZmlnLmRlbGF5ZWRfZXZlbnQpIHsKIAkJcG9sbCA9IHRydWU7CkBAIC0zODIsNiArMzg1LDcg QEAgc3RhdGljIHZvaWQgb3V0cHV0X3BvbGxfZXhlY3V0ZShzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndv cmspCiAJc3RydWN0IGRlbGF5ZWRfd29yayAqZGVsYXllZF93b3JrID0gdG9fZGVsYXllZF93b3Jr KHdvcmspOwogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb250YWluZXJfb2YoZGVsYXllZF93 b3JrLCBzdHJ1Y3QgZHJtX2RldmljZSwgbW9kZV9jb25maWcub3V0cHV0X3BvbGxfd29yayk7CiAJ c3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcjsKKwlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9s aXN0X2l0ZXIgY29ubl9pdGVyOwogCWVudW0gZHJtX2Nvbm5lY3Rvcl9zdGF0dXMgb2xkX3N0YXR1 czsKIAlib29sIHJlcG9sbCA9IGZhbHNlLCBjaGFuZ2VkOwogCkBAIC0zOTcsOCArNDAxLDggQEAg c3RhdGljIHZvaWQgb3V0cHV0X3BvbGxfZXhlY3V0ZShzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmsp CiAJCWdvdG8gb3V0OwogCX0KIAotCWRybV9mb3JfZWFjaF9jb25uZWN0b3IoY29ubmVjdG9yLCBk ZXYpIHsKLQorCWRybV9jb25uZWN0b3JfbGlzdF9pdGVyX2dldChkZXYsICZjb25uX2l0ZXIpOwor CWRybV9mb3JfZWFjaF9jb25uZWN0b3JfaXRlcihjb25uZWN0b3IsICZjb25uX2l0ZXIpIHsKIAkJ LyogSWdub3JlIGZvcmNlZCBjb25uZWN0b3JzLiAqLwogCQlpZiAoY29ubmVjdG9yLT5mb3JjZSkK IAkJCWNvbnRpbnVlOwpAQCAtNDUxLDYgKzQ1NSw3IEBAIHN0YXRpYyB2b2lkIG91dHB1dF9wb2xs X2V4ZWN1dGUoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQogCQkJY2hhbmdlZCA9IHRydWU7CiAJ CX0KIAl9CisJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfcHV0KCZjb25uX2l0ZXIpOwogCiAJbXV0 ZXhfdW5sb2NrKCZkZXYtPm1vZGVfY29uZmlnLm11dGV4KTsKIApAQCAtNTYyLDYgKzU2Nyw3IEBA IEVYUE9SVF9TWU1CT0woZHJtX2ttc19oZWxwZXJfcG9sbF9maW5pKTsKIGJvb2wgZHJtX2hlbHBl cl9ocGRfaXJxX2V2ZW50KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiB7CiAJc3RydWN0IGRybV9j b25uZWN0b3IgKmNvbm5lY3RvcjsKKwlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXIgY29u bl9pdGVyOwogCWVudW0gZHJtX2Nvbm5lY3Rvcl9zdGF0dXMgb2xkX3N0YXR1czsKIAlib29sIGNo YW5nZWQgPSBmYWxzZTsKIApAQCAtNTY5LDggKzU3NSw4IEBAIGJvb2wgZHJtX2hlbHBlcl9ocGRf aXJxX2V2ZW50KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJCXJldHVybiBmYWxzZTsKIAogCW11 dGV4X2xvY2soJmRldi0+bW9kZV9jb25maWcubXV0ZXgpOwotCWRybV9mb3JfZWFjaF9jb25uZWN0 b3IoY29ubmVjdG9yLCBkZXYpIHsKLQorCWRybV9jb25uZWN0b3JfbGlzdF9pdGVyX2dldChkZXYs ICZjb25uX2l0ZXIpOworCWRybV9mb3JfZWFjaF9jb25uZWN0b3JfaXRlcihjb25uZWN0b3IsICZj b25uX2l0ZXIpIHsKIAkJLyogT25seSBoYW5kbGUgSFBEIGNhcGFibGUgY29ubmVjdG9ycy4gKi8K IAkJaWYgKCEoY29ubmVjdG9yLT5wb2xsZWQgJiBEUk1fQ09OTkVDVE9SX1BPTExfSFBEKSkKIAkJ CWNvbnRpbnVlOwpAQCAtNTg2LDcgKzU5Miw3IEBAIGJvb2wgZHJtX2hlbHBlcl9ocGRfaXJxX2V2 ZW50KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJCWlmIChvbGRfc3RhdHVzICE9IGNvbm5lY3Rv ci0+c3RhdHVzKQogCQkJY2hhbmdlZCA9IHRydWU7CiAJfQotCisJZHJtX2Nvbm5lY3Rvcl9saXN0 X2l0ZXJfcHV0KCZjb25uX2l0ZXIpOwogCW11dGV4X3VubG9jaygmZGV2LT5tb2RlX2NvbmZpZy5t dXRleCk7CiAKIAlpZiAoY2hhbmdlZCkKLS0gCjIuMTEuMAoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==