From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan de Oliveira Subject: [PATCH 10/35] drm/i915: Use for_each_connector_in_state helper macro Date: Tue, 21 Apr 2015 17:12:59 +0300 Message-ID: <1429625604-22252-11-git-send-email-ander.conselvan.de.oliveira@intel.com> References: <1429625604-22252-1-git-send-email-ander.conselvan.de.oliveira@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 817176E5D5 for ; Tue, 21 Apr 2015 07:13:41 -0700 (PDT) In-Reply-To: <1429625604-22252-1-git-send-email-ander.conselvan.de.oliveira@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: Ander Conselvan de Oliveira List-Id: intel-gfx@lists.freedesktop.org U2ltcGxpZmllcyBsb29waW5nIG92ZXIgY29ubmVjdG9yIHN0YXRlcyBhIGJpdC4KClNpZ25lZC1v ZmYtYnk6IEFuZGVyIENvbnNlbHZhbiBkZSBPbGl2ZWlyYSA8YW5kZXIuY29uc2VsdmFuLmRlLm9s aXZlaXJhQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyAg ICAgfCAgOSArKystLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgNzIg KysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcF9tc3QuYyAgfCAxMyArKysrLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9oZG1pLmMgICAgfCAgNyArLS0tCiA0IGZpbGVzIGNoYW5nZWQsIDM2IGluc2VydGlvbnMoKyks IDY1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RkaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKaW5kZXggNDU1ZDQ0Yi4u NGFlZGUwNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKQEAgLTU2NiwxNyArNTY2LDE4IEBA IGludGVsX2RkaV9nZXRfY3J0Y19uZXdfZW5jb2RlcihzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq Y3J0Y19zdGF0ZSkKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0 Y19zdGF0ZS0+YmFzZS5jcnRjKTsKIAlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqcmV0ID0gTlVMTDsK IAlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGU7CisJc3RydWN0IGRybV9jb25uZWN0b3Ig KmNvbm5lY3RvcjsKKwlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubmVjdG9yX3N0YXRl OwogCWludCBudW1fZW5jb2RlcnMgPSAwOwogCWludCBpOwogCiAJc3RhdGUgPSBjcnRjX3N0YXRl LT5iYXNlLnN0YXRlOwogCi0JZm9yIChpID0gMDsgaSA8IHN0YXRlLT5udW1fY29ubmVjdG9yOyBp KyspIHsKLQkJaWYgKCFzdGF0ZS0+Y29ubmVjdG9yc1tpXSB8fAotCQkgICAgc3RhdGUtPmNvbm5l Y3Rvcl9zdGF0ZXNbaV0tPmNydGMgIT0gY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKQorCWZvcl9lYWNo X2Nvbm5lY3Rvcl9pbl9zdGF0ZShzdGF0ZSwgY29ubmVjdG9yLCBjb25uZWN0b3Jfc3RhdGUsIGkp IHsKKwkJaWYgKGNvbm5lY3Rvcl9zdGF0ZS0+Y3J0YyAhPSBjcnRjX3N0YXRlLT5iYXNlLmNydGMp CiAJCQljb250aW51ZTsKIAotCQlyZXQgPSB0b19pbnRlbF9lbmNvZGVyKHN0YXRlLT5jb25uZWN0 b3Jfc3RhdGVzW2ldLT5iZXN0X2VuY29kZXIpOworCQlyZXQgPSB0b19pbnRlbF9lbmNvZGVyKGNv bm5lY3Rvcl9zdGF0ZS0+YmVzdF9lbmNvZGVyKTsKIAkJbnVtX2VuY29kZXJzKys7CiAJfQogCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggOWQ5ZTYzMy4uNGNlZDVhNCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpAQCAtNDUzLDE1ICs0NTMsMTIgQEAgc3Rh dGljIGJvb2wgaW50ZWxfcGlwZV93aWxsX2hhdmVfdHlwZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCQkgICAgICBpbnQgdHlwZSkKIHsKIAlzdHJ1Y3QgZHJt X2F0b21pY19zdGF0ZSAqc3RhdGUgPSBjcnRjX3N0YXRlLT5iYXNlLnN0YXRlOworCXN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3I7CiAJc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNv bm5lY3Rvcl9zdGF0ZTsKIAlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcjsKIAlpbnQgaSwg bnVtX2Nvbm5lY3RvcnMgPSAwOwogCi0JZm9yIChpID0gMDsgaSA8IHN0YXRlLT5udW1fY29ubmVj dG9yOyBpKyspIHsKLQkJaWYgKCFzdGF0ZS0+Y29ubmVjdG9yc1tpXSkKLQkJCWNvbnRpbnVlOwot Ci0JCWNvbm5lY3Rvcl9zdGF0ZSA9IHN0YXRlLT5jb25uZWN0b3Jfc3RhdGVzW2ldOworCWZvcl9l YWNoX2Nvbm5lY3Rvcl9pbl9zdGF0ZShzdGF0ZSwgY29ubmVjdG9yLCBjb25uZWN0b3Jfc3RhdGUs IGkpIHsKIAkJaWYgKGNvbm5lY3Rvcl9zdGF0ZS0+Y3J0YyAhPSBjcnRjX3N0YXRlLT5iYXNlLmNy dGMpCiAJCQljb250aW51ZTsKIApAQCAtNzM3MywxNCArNzM3MCwxMSBAQCBzdGF0aWMgaW50IGk5 eHhfY3J0Y19jb21wdXRlX2Nsb2NrKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAogCXN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyOwogCWNvbnN0IGludGVsX2xpbWl0X3QgKmxpbWl0OwogCXN0 cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSA9IGNydGNfc3RhdGUtPmJhc2Uuc3RhdGU7CisJ c3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcjsKIAlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9z dGF0ZSAqY29ubmVjdG9yX3N0YXRlOwogCWludCBpOwogCi0JZm9yIChpID0gMDsgaSA8IHN0YXRl LT5udW1fY29ubmVjdG9yOyBpKyspIHsKLQkJaWYgKCFzdGF0ZS0+Y29ubmVjdG9yc1tpXSkKLQkJ CWNvbnRpbnVlOwotCi0JCWNvbm5lY3Rvcl9zdGF0ZSA9IHN0YXRlLT5jb25uZWN0b3Jfc3RhdGVz W2ldOworCWZvcl9lYWNoX2Nvbm5lY3Rvcl9pbl9zdGF0ZShzdGF0ZSwgY29ubmVjdG9yLCBjb25u ZWN0b3Jfc3RhdGUsIGkpIHsKIAkJaWYgKGNvbm5lY3Rvcl9zdGF0ZS0+Y3J0YyAhPSAmY3J0Yy0+ YmFzZSkKIAkJCWNvbnRpbnVlOwogCkBAIC04MDY0LDE2ICs4MDU4LDEzIEBAIHN0YXRpYyBpbnQg aXJvbmxha2VfZ2V0X3JlZmNsayhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkK IAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Y19zdGF0ZS0+YmFzZS5jcnRjLT5kZXY7CiAJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKIAlz dHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUgPSBjcnRjX3N0YXRlLT5iYXNlLnN0YXRlOwor CXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3I7CiAJc3RydWN0IGRybV9jb25uZWN0b3Jf c3RhdGUgKmNvbm5lY3Rvcl9zdGF0ZTsKIAlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcjsK IAlpbnQgbnVtX2Nvbm5lY3RvcnMgPSAwLCBpOwogCWJvb2wgaXNfbHZkcyA9IGZhbHNlOwogCi0J Zm9yIChpID0gMDsgaSA8IHN0YXRlLT5udW1fY29ubmVjdG9yOyBpKyspIHsKLQkJaWYgKCFzdGF0 ZS0+Y29ubmVjdG9yc1tpXSkKLQkJCWNvbnRpbnVlOwotCi0JCWNvbm5lY3Rvcl9zdGF0ZSA9IHN0 YXRlLT5jb25uZWN0b3Jfc3RhdGVzW2ldOworCWZvcl9lYWNoX2Nvbm5lY3Rvcl9pbl9zdGF0ZShz dGF0ZSwgY29ubmVjdG9yLCBjb25uZWN0b3Jfc3RhdGUsIGkpIHsKIAkJaWYgKGNvbm5lY3Rvcl9z dGF0ZS0+Y3J0YyAhPSBjcnRjX3N0YXRlLT5iYXNlLmNydGMpCiAJCQljb250aW51ZTsKIApAQCAt ODMyNywxNyArODMxOCwxNCBAQCBzdGF0aWMgdWludDMyX3QgaXJvbmxha2VfY29tcHV0ZV9kcGxs KHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjLAogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYg PSBjcnRjLT5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5k ZXZfcHJpdmF0ZTsKIAlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUgPSBjcnRjX3N0YXRl LT5iYXNlLnN0YXRlOworCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3I7CiAJc3RydWN0 IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5lY3Rvcl9zdGF0ZTsKIAlzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqZW5jb2RlcjsKIAl1aW50MzJfdCBkcGxsOwogCWludCBmYWN0b3IsIG51bV9jb25uZWN0 b3JzID0gMCwgaTsKIAlib29sIGlzX2x2ZHMgPSBmYWxzZSwgaXNfc2R2byA9IGZhbHNlOwogCi0J Zm9yIChpID0gMDsgaSA8IHN0YXRlLT5udW1fY29ubmVjdG9yOyBpKyspIHsKLQkJaWYgKCFzdGF0 ZS0+Y29ubmVjdG9yc1tpXSkKLQkJCWNvbnRpbnVlOwotCi0JCWNvbm5lY3Rvcl9zdGF0ZSA9IHN0 YXRlLT5jb25uZWN0b3Jfc3RhdGVzW2ldOworCWZvcl9lYWNoX2Nvbm5lY3Rvcl9pbl9zdGF0ZShz dGF0ZSwgY29ubmVjdG9yLCBjb25uZWN0b3Jfc3RhdGUsIGkpIHsKIAkJaWYgKGNvbm5lY3Rvcl9z dGF0ZS0+Y3J0YyAhPSBjcnRjX3N0YXRlLT5iYXNlLmNydGMpCiAJCQljb250aW51ZTsKIApAQCAt MTEwNjEsNyArMTEwNDksOCBAQCBjb21wdXRlX2Jhc2VsaW5lX3BpcGVfYnBwKHN0cnVjdCBpbnRl bF9jcnRjICpjcnRjLAogewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5iYXNlLmRl djsKIAlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGU7Ci0Jc3RydWN0IGludGVsX2Nvbm5l Y3RvciAqY29ubmVjdG9yOworCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3I7CisJc3Ry dWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5lY3Rvcl9zdGF0ZTsKIAlpbnQgYnBwLCBpOwog CiAJaWYgKChJU19HNFgoZGV2KSB8fCBJU19WQUxMRVlWSUVXKGRldikpKQpAQCAtMTEwNzcsMTUg KzExMDY2LDEyIEBAIGNvbXB1dGVfYmFzZWxpbmVfcGlwZV9icHAoc3RydWN0IGludGVsX2NydGMg KmNydGMsCiAJc3RhdGUgPSBwaXBlX2NvbmZpZy0+YmFzZS5zdGF0ZTsKIAogCS8qIENsYW1wIGRp c3BsYXkgYnBwIHRvIEVESUQgdmFsdWUgKi8KLQlmb3IgKGkgPSAwOyBpIDwgc3RhdGUtPm51bV9j b25uZWN0b3I7IGkrKykgewotCQlpZiAoIXN0YXRlLT5jb25uZWN0b3JzW2ldKQotCQkJY29udGlu dWU7Ci0KLQkJY29ubmVjdG9yID0gdG9faW50ZWxfY29ubmVjdG9yKHN0YXRlLT5jb25uZWN0b3Jz W2ldKTsKLQkJaWYgKHN0YXRlLT5jb25uZWN0b3Jfc3RhdGVzW2ldLT5jcnRjICE9ICZjcnRjLT5i YXNlKQorCWZvcl9lYWNoX2Nvbm5lY3Rvcl9pbl9zdGF0ZShzdGF0ZSwgY29ubmVjdG9yLCBjb25u ZWN0b3Jfc3RhdGUsIGkpIHsKKwkJaWYgKGNvbm5lY3Rvcl9zdGF0ZS0+Y3J0YyAhPSAmY3J0Yy0+ YmFzZSkKIAkJCWNvbnRpbnVlOwogCi0JCWNvbm5lY3RlZF9zaW5rX2NvbXB1dGVfYnBwKGNvbm5l Y3RvciwgcGlwZV9jb25maWcpOworCQljb25uZWN0ZWRfc2lua19jb21wdXRlX2JwcCh0b19pbnRl bF9jb25uZWN0b3IoY29ubmVjdG9yKSwKKwkJCQkJICAgcGlwZV9jb25maWcpOwogCX0KIAogCXJl dHVybiBicHA7CkBAIC0xMTIxMiwxNCArMTExOTgsMTEgQEAgc3RhdGljIGJvb2wgY2hlY2tfc2lu Z2xlX2VuY29kZXJfY2xvbmluZyhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCiAJCQkJ CSBzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKIHsKIAlzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqc291cmNlX2VuY29kZXI7CisJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcjsKIAlz dHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubmVjdG9yX3N0YXRlOwogCWludCBpOwogCi0J Zm9yIChpID0gMDsgaSA8IHN0YXRlLT5udW1fY29ubmVjdG9yOyBpKyspIHsKLQkJaWYgKCFzdGF0 ZS0+Y29ubmVjdG9yc1tpXSkKLQkJCWNvbnRpbnVlOwotCi0JCWNvbm5lY3Rvcl9zdGF0ZSA9IHN0 YXRlLT5jb25uZWN0b3Jfc3RhdGVzW2ldOworCWZvcl9lYWNoX2Nvbm5lY3Rvcl9pbl9zdGF0ZShz dGF0ZSwgY29ubmVjdG9yLCBjb25uZWN0b3Jfc3RhdGUsIGkpIHsKIAkJaWYgKGNvbm5lY3Rvcl9z dGF0ZS0+Y3J0YyAhPSAmY3J0Yy0+YmFzZSkKIAkJCWNvbnRpbnVlOwogCkBAIC0xMTIzNiwxNCAr MTEyMTksMTEgQEAgc3RhdGljIGJvb2wgY2hlY2tfZW5jb2Rlcl9jbG9uaW5nKHN0cnVjdCBkcm1f YXRvbWljX3N0YXRlICpzdGF0ZSwKIAkJCQkgIHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQogewog CXN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyOworCXN0cnVjdCBkcm1fY29ubmVjdG9yICpj b25uZWN0b3I7CiAJc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5lY3Rvcl9zdGF0ZTsK IAlpbnQgaTsKIAotCWZvciAoaSA9IDA7IGkgPCBzdGF0ZS0+bnVtX2Nvbm5lY3RvcjsgaSsrKSB7 Ci0JCWlmICghc3RhdGUtPmNvbm5lY3RvcnNbaV0pCi0JCQljb250aW51ZTsKLQotCQljb25uZWN0 b3Jfc3RhdGUgPSBzdGF0ZS0+Y29ubmVjdG9yX3N0YXRlc1tpXTsKKwlmb3JfZWFjaF9jb25uZWN0 b3JfaW5fc3RhdGUoc3RhdGUsIGNvbm5lY3RvciwgY29ubmVjdG9yX3N0YXRlLCBpKSB7CiAJCWlm IChjb25uZWN0b3Jfc3RhdGUtPmNydGMgIT0gJmNydGMtPmJhc2UpCiAJCQljb250aW51ZTsKIApA QCAtMTEyNTksNiArMTEyMzksNyBAQCBzdGF0aWMgYm9vbCBjaGVja19kaWdpdGFsX3BvcnRfY29u ZmxpY3RzKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKIHsKIAlzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2ID0gc3RhdGUtPmRldjsKIAlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcjsK KwlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yOwogCXN0cnVjdCBkcm1fY29ubmVjdG9y X3N0YXRlICpjb25uZWN0b3Jfc3RhdGU7CiAJdW5zaWduZWQgaW50IHVzZWRfcG9ydHMgPSAwOwog CWludCBpOwpAQCAtMTEyNjgsMTEgKzExMjQ5LDcgQEAgc3RhdGljIGJvb2wgY2hlY2tfZGlnaXRh bF9wb3J0X2NvbmZsaWN0cyhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCiAJICogbGlz dCB0byBkZXRlY3QgdGhlIHByb2JsZW0gb24gZGRpIHBsYXRmb3JtcwogCSAqIHdoZXJlIHRoZXJl J3MganVzdCBvbmUgZW5jb2RlciBwZXIgZGlnaXRhbCBwb3J0LgogCSAqLwotCWZvciAoaSA9IDA7 IGkgPCBzdGF0ZS0+bnVtX2Nvbm5lY3RvcjsgaSsrKSB7Ci0JCWlmICghc3RhdGUtPmNvbm5lY3Rv cnNbaV0pCi0JCQljb250aW51ZTsKLQotCQljb25uZWN0b3Jfc3RhdGUgPSBzdGF0ZS0+Y29ubmVj dG9yX3N0YXRlc1tpXTsKKwlmb3JfZWFjaF9jb25uZWN0b3JfaW5fc3RhdGUoc3RhdGUsIGNvbm5l Y3RvciwgY29ubmVjdG9yX3N0YXRlLCBpKSB7CiAJCWlmICghY29ubmVjdG9yX3N0YXRlLT5iZXN0 X2VuY29kZXIpCiAJCQljb250aW51ZTsKIApAQCAtMTEzMjMsNyArMTEzMDAsNyBAQCBpbnRlbF9t b2Rlc2V0X3BpcGVfY29uZmlnKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJCSAgc3RydWN0IGRy bV9hdG9taWNfc3RhdGUgKnN0YXRlKQogewogCXN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVy OwotCXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcjsKKwlzdHJ1Y3QgZHJtX2Nvbm5l Y3RvciAqY29ubmVjdG9yOwogCXN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uZWN0b3Jf c3RhdGU7CiAJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnOwogCWludCBiYXNl X2JwcCwgcmV0ID0gLUVJTlZBTDsKQEAgLTExNDAxLDEyICsxMTM3OCw3IEBAIGVuY29kZXJfcmV0 cnk6CiAJICogYWRqdXN0IGl0IGFjY29yZGluZyB0byBsaW1pdGF0aW9ucyBvciBjb25uZWN0b3Ig cHJvcGVydGllcywgYW5kIGFsc28KIAkgKiBhIGNoYW5jZSB0byByZWplY3QgdGhlIG1vZGUgZW50 aXJlbHkuCiAJICovCi0JZm9yIChpID0gMDsgaSA8IHN0YXRlLT5udW1fY29ubmVjdG9yOyBpKysp IHsKLQkJY29ubmVjdG9yID0gdG9faW50ZWxfY29ubmVjdG9yKHN0YXRlLT5jb25uZWN0b3JzW2ld KTsKLQkJaWYgKCFjb25uZWN0b3IpCi0JCQljb250aW51ZTsKLQotCQljb25uZWN0b3Jfc3RhdGUg PSBzdGF0ZS0+Y29ubmVjdG9yX3N0YXRlc1tpXTsKKwlmb3JfZWFjaF9jb25uZWN0b3JfaW5fc3Rh dGUoc3RhdGUsIGNvbm5lY3RvciwgY29ubmVjdG9yX3N0YXRlLCBpKSB7CiAJCWlmIChjb25uZWN0 b3Jfc3RhdGUtPmNydGMgIT0gY3J0YykKIAkJCWNvbnRpbnVlOwogCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RwX21zdC5jCmluZGV4IDM5NDUwNTcuLjZlNGNjNTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RwX21zdC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RwX21zdC5jCkBAIC00MCw3ICs0MCw5IEBAIHN0YXRpYyBib29sIGludGVsX2RwX21zdF9j b21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAlpbnQgYnBwLCBp OwogCWludCBsYW5lX2NvdW50LCBzbG90cywgcmF0ZTsKIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9k ZSAqYWRqdXN0ZWRfbW9kZSA9ICZwaXBlX2NvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlOwotCXN0 cnVjdCBpbnRlbF9jb25uZWN0b3IgKmZvdW5kID0gTlVMTDsKKwlzdHJ1Y3QgZHJtX2Nvbm5lY3Rv ciAqZHJtX2Nvbm5lY3RvcjsKKwlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsICpm b3VuZCA9IE5VTEw7CisJc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5lY3Rvcl9zdGF0 ZTsKIAlpbnQgbXN0X3BibjsKIAogCXBpcGVfY29uZmlnLT5kcF9lbmNvZGVyX2lzX21zdCA9IHRy dWU7CkBAIC03MCwxMiArNzIsMTEgQEAgc3RhdGljIGJvb2wgaW50ZWxfZHBfbXN0X2NvbXB1dGVf Y29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCiAJc3RhdGUgPSBwaXBlX2Nv bmZpZy0+YmFzZS5zdGF0ZTsKIAotCWZvciAoaSA9IDA7IGkgPCBzdGF0ZS0+bnVtX2Nvbm5lY3Rv cjsgaSsrKSB7Ci0JCWlmICghc3RhdGUtPmNvbm5lY3RvcnNbaV0pCi0JCQljb250aW51ZTsKKwlm b3JfZWFjaF9jb25uZWN0b3JfaW5fc3RhdGUoc3RhdGUsIGRybV9jb25uZWN0b3IsIGNvbm5lY3Rv cl9zdGF0ZSwgaSkgeworCQljb25uZWN0b3IgPSB0b19pbnRlbF9jb25uZWN0b3IoZHJtX2Nvbm5l Y3Rvcik7CiAKLQkJaWYgKHN0YXRlLT5jb25uZWN0b3Jfc3RhdGVzW2ldLT5iZXN0X2VuY29kZXIg PT0gJmVuY29kZXItPmJhc2UpIHsKLQkJCWZvdW5kID0gdG9faW50ZWxfY29ubmVjdG9yKHN0YXRl LT5jb25uZWN0b3JzW2ldKTsKKwkJaWYgKGNvbm5lY3Rvcl9zdGF0ZS0+YmVzdF9lbmNvZGVyID09 ICZlbmNvZGVyLT5iYXNlKSB7CisJCQlmb3VuZCA9IGNvbm5lY3RvcjsKIAkJCWJyZWFrOwogCQl9 CiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCmluZGV4IGU2M2YwYjkuLjk0NThlYTQgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKQEAgLTk2MSw2ICs5NjEsNyBAQCBzdGF0aWMgYm9v bCBoZG1pXzEyYnBjX3Bvc3NpYmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRl KQogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRldjsK IAlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGU7CiAJc3RydWN0IGludGVsX2VuY29kZXIg KmVuY29kZXI7CisJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcjsKIAlzdHJ1Y3QgZHJt X2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubmVjdG9yX3N0YXRlOwogCWludCBjb3VudCA9IDAsIGNvdW50 X2hkbWkgPSAwOwogCWludCBpOwpAQCAtOTcwLDExICs5NzEsNyBAQCBzdGF0aWMgYm9vbCBoZG1p XzEyYnBjX3Bvc3NpYmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogCiAJ c3RhdGUgPSBjcnRjX3N0YXRlLT5iYXNlLnN0YXRlOwogCi0JZm9yIChpID0gMDsgaSA8IHN0YXRl LT5udW1fY29ubmVjdG9yOyBpKyspIHsKLQkJaWYgKCFzdGF0ZS0+Y29ubmVjdG9yc1tpXSkKLQkJ CWNvbnRpbnVlOwotCi0JCWNvbm5lY3Rvcl9zdGF0ZSA9IHN0YXRlLT5jb25uZWN0b3Jfc3RhdGVz W2ldOworCWZvcl9lYWNoX2Nvbm5lY3Rvcl9pbl9zdGF0ZShzdGF0ZSwgY29ubmVjdG9yLCBjb25u ZWN0b3Jfc3RhdGUsIGkpIHsKIAkJaWYgKGNvbm5lY3Rvcl9zdGF0ZS0+Y3J0YyAhPSBjcnRjX3N0 YXRlLT5iYXNlLmNydGMpCiAJCQljb250aW51ZTsKIAotLSAKMi4xLjAKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QK SW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==