From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH 2/4] drm/i915: Fix POWER_DOMAIN_AUDIO refcounting. Date: Thu, 15 Dec 2016 15:29:43 +0100 Message-ID: <1481812185-19098-3-git-send-email-maarten.lankhorst@linux.intel.com> References: <1481812185-19098-1-git-send-email-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1481812185-19098-1-git-send-email-maarten.lankhorst@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: dri-devel@lists.freedesktop.org Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org SWYgdGhlIGNydGMgd2FzIGJyb3VnaHQgdXAgd2l0aCBhdWRpbyBiZWZvcmUgdGhlIGRyaXZlciBs b2FkcywKdGhlbiBjcnRjX2Rpc2FibGUgd2lsbCByZW1vdmUgYSByZWZjb3VudCB0byBhdWRpbyB0 aGF0IGRvZXNuJ3QgZXhpc3QKYmVmb3JlLgoKRm9ydHVuYXRlbHkgd2UgYWxyZWFkeSBzZXQgcG93 ZXIgZG9tYWlucyBvbiByZWFkb3V0LCBzbyB3ZSBjYW4ganVzdCBhZGQKdGhlIHBvd2VyIGRvbWFp biBoYW5kbGluZyB0byBnZXRfY3J0Y19wb3dlcl9kb21haW5zLCB3aGljaCB3aWxsIHVwZGF0ZQp0 aGUgcG93ZXIgZG9tYWlucyBjb3JyZWN0bHkgaW4gYWxsIGNhc2VzLgoKVGhpcyB3YXMgZm91bmQg d2hlbiB0ZXN0aW5nIG1vZHVsZSByZWxvYWQgb24gQ0kgd2l0aCB0aGUgY3J0YyBlbmFibGVkLAp3 aGljaCByZXN1bHRlZCBpbiB0aGUgZm9sbG93aW5nIHdhcm4gYWZ0ZXIgbW9kdWxlIHJlbG9hZCAr IG1vZGVzZXQ6CgpbICAgMjQuMTk3MDQxXSAtLS0tLS0tLS0tLS1bIGN1dCBoZXJlIF0tLS0tLS0t LS0tLS0KWyAgIDI0LjE5NzA3NV0gV0FSTklORzogQ1BVOiAwIFBJRDogOTkgYXQgZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jOjE3OTAgaW50ZWxfZGlzcGxheV9wb3dlcl9w dXQrMHgxMzQvMHgxNDAgW2k5MTVdClsgICAyNC4xOTcwNzZdIFVzZSBjb3VudCBvbiBkb21haW4g QVVESU8gaXMgYWxyZWFkeSB6ZXJvClsgICAyNC4xOTcwOThdIENQVTogMCBQSUQ6IDk5IENvbW06 IGt3b3JrZXIvdTg6MiBOb3QgdGFpbnRlZCA0LjkuMC1DSS1Ucnlib3RfMzkzKyAjMQpbICAgMjQu MTk3MDk5XSBIYXJkd2FyZSBuYW1lOiAgICAgICAgICAgICAgICAgIC9OVUM2aTVTWUIsIEJJT1Mg U1lTS0xpMzUuODZBLjAwNDIuMjAxNi4wNDA5LjEyNDYgMDQvMDkvMjAxNgpbICAgMjQuMTk3MTAy XSBXb3JrcXVldWU6IGV2ZW50c191bmJvdW5kIGFzeW5jX3J1bl9lbnRyeV9mbgpbICAgMjQuMTk3 MTA1XSAgZmZmZmM5MDAwMDNjNzY4OCBmZmZmZmZmZjgxNDM1YjM1IGZmZmZjOTAwMDAzYzc2ZDgg MDAwMDAwMDAwMDAwMDAwMApbICAgMjQuMTk3MTA3XSAgZmZmZmM5MDAwMDNjNzZjOCBmZmZmZmZm ZjgxMDdlNGQ2IDAwMDAwNmZlNWRjMzZmMjggZmZmZjg4MDI1ZGMzMDA1NApbICAgMjQuMTk3MTA5 XSAgZmZmZjg4MDI1ZGMzNmYyOCBmZmZmODgwMjVkYzMwMDAwIGZmZmY4ODAyNWRjMzAwMDAgMDAw MDAwMDAwMDAwMDAxNQpbICAgMjQuMTk3MTEwXSBDYWxsIFRyYWNlOgpbICAgMjQuMTk3MTEzXSAg WzxmZmZmZmZmZjgxNDM1YjM1Pl0gZHVtcF9zdGFjaysweDY3LzB4OTIKWyAgIDI0LjE5NzExNl0g IFs8ZmZmZmZmZmY4MTA3ZTRkNj5dIF9fd2FybisweGM2LzB4ZTAKWyAgIDI0LjE5NzExOF0gIFs8 ZmZmZmZmZmY4MTA3ZTUzYT5dIHdhcm5fc2xvd3BhdGhfZm10KzB4NGEvMHg1MApbICAgMjQuMTk3 MTQ5XSAgWzxmZmZmZmZmZmEwMzliNGI0Pl0gaW50ZWxfZGlzcGxheV9wb3dlcl9wdXQrMHgxMzQv MHgxNDAgW2k5MTVdClsgICAyNC4xOTcxODddICBbPGZmZmZmZmZmYTA0MjE3ZGQ+XSBpbnRlbF9k aXNhYmxlX2RkaSsweDRkLzB4ODAgW2k5MTVdClsgICAyNC4xOTcyMjNdICBbPGZmZmZmZmZmYTAz ZjM4OGY+XSBpbnRlbF9lbmNvZGVyc19kaXNhYmxlLmlzcmEuNzQrMHg3Zi8weDkwIFtpOTE1XQpb ICAgMjQuMTk3MjU3XSAgWzxmZmZmZmZmZmEwM2Y2YzA1Pl0gaGFzd2VsbF9jcnRjX2Rpc2FibGUr MHg1NS8weDE3MCBbaTkxNV0KWyAgIDI0LjE5NzI5Ml0gIFs8ZmZmZmZmZmZhMDNmZWM4OD5dIGlu dGVsX2F0b21pY19jb21taXRfdGFpbCsweDEwOC8weGZkMCBbaTkxNV0KWyAgIDI0LjE5NzI5NV0g IFs8ZmZmZmZmZmY4MTBkNDdjNj5dID8gX19sb2NrX2lzX2hlbGQrMHg2Ni8weDkwClsgICAyNC4x OTczMzBdICBbPGZmZmZmZmZmYTAzZmZmNzk+XSBpbnRlbF9hdG9taWNfY29tbWl0KzB4NDI5LzB4 NTYwIFtpOTE1XQpbICAgMjQuMTk3MzMyXSAgWzxmZmZmZmZmZjgxNTcwMTg2Pl0gP2RybV9hdG9t aWNfYWRkX2FmZmVjdGVkX2Nvbm5lY3RvcnMrMHg1Ni8weGYwClsgICAyNC4xOTczMzRdICBbPGZm ZmZmZmZmODE1NmY3MjY+XSBkcm1fYXRvbWljX2NvbW1pdCsweDQ2LzB4NTAKWyAgIDI0LjE5NzMz Nl0gIFs8ZmZmZmZmZmY4MTU1M2Y4Nz5dIHJlc3RvcmVfZmJkZXZfbW9kZSsweDE0Ny8weDI3MApb ICAgMjQuMTk3MzM3XSAgWzxmZmZmZmZmZjgxNTU1YmVlPl0gZHJtX2ZiX2hlbHBlcl9yZXN0b3Jl X2ZiZGV2X21vZGVfdW5sb2NrZWQrMHgyZS8weDcwClsgICAyNC4xOTczMzldICBbPGZmZmZmZmZm ODE1NTVhYTg+XSBkcm1fZmJfaGVscGVyX3NldF9wYXIrMHgyOC8weDUwClsgICAyNC4xOTczNzRd ICBbPGZmZmZmZmZmYTA0MWM3ZDM+XSBpbnRlbF9mYmRldl9zZXRfcGFyKzB4MTMvMHg3MCBbaTkx NV0KWyAgIDI0LjE5NzM3Nl0gIFs8ZmZmZmZmZmY4MTQ5ZTA3YT5dIGZiY29uX2luaXQrMHg1N2Ev MHg2MDAKWyAgIDI0LjE5NzM3OV0gIFs8ZmZmZmZmZmY4MTUxNGI3MT5dIHZpc3VhbF9pbml0KzB4 ZDEvMHgxMzAKWyAgIDI0LjE5NzM4MV0gIFs8ZmZmZmZmZmY4MTUxNjAzYz5dIGRvX2JpbmRfY29u X2RyaXZlcisweDFiYy8weDNhMApbICAgMjQuMTk3Mzg0XSAgWzxmZmZmZmZmZjgxNTE2NTIxPl0g ZG9fdGFrZV9vdmVyX2NvbnNvbGUrMHgxMTEvMHgxODAKWyAgIDI0LjE5NzM4Nl0gIFs8ZmZmZmZm ZmY4MTQ5ZTE1Mj5dIGRvX2ZiY29uX3Rha2VvdmVyKzB4NTIvMHhiMApbICAgMjQuMTk3Mzg3XSAg WzxmZmZmZmZmZjgxNGExMmMzPl0gZmJjb25fZXZlbnRfbm90aWZ5KzB4NzIzLzB4ODUwClsgICAy NC4xOTczOTBdICBbPGZmZmZmZmZmODEwYTQ4MzA+XSA/X19ibG9ja2luZ19ub3RpZmllcl9jYWxs X2NoYWluKzB4MzAvMHg3MApbICAgMjQuMTk3MzkyXSAgWzxmZmZmZmZmZjgxMGE0NGE0Pl0gbm90 aWZpZXJfY2FsbF9jaGFpbisweDM0LzB4YTAKWyAgIDI0LjE5NzM5NF0gIFs8ZmZmZmZmZmY4MTBh NDg0OD5dIF9fYmxvY2tpbmdfbm90aWZpZXJfY2FsbF9jaGFpbisweDQ4LzB4NzAKWyAgIDI0LjE5 NzM5N10gIFs8ZmZmZmZmZmY4MTBhNDg4MT5dIGJsb2NraW5nX25vdGlmaWVyX2NhbGxfY2hhaW4r MHgxMS8weDIwClsgICAyNC4xOTczOThdICBbPGZmZmZmZmZmODE0YTQ1NTY+XSBmYl9ub3RpZmll cl9jYWxsX2NoYWluKzB4MTYvMHgyMApbICAgMjQuMTk3NDAwXSAgWzxmZmZmZmZmZjgxNGE2Nzhj Pl0gcmVnaXN0ZXJfZnJhbWVidWZmZXIrMHgyNGMvMHgzMzAKWyAgIDI0LjE5NzQwMl0gIFs8ZmZm ZmZmZmY4MTU1NThkOT5dIGRybV9mYl9oZWxwZXJfaW5pdGlhbF9jb25maWcrMHgyMTkvMHgzYzAK WyAgIDI0LjE5NzQzNl0gIFs8ZmZmZmZmZmZhMDQxZDM3Mz5dIGludGVsX2ZiZGV2X2luaXRpYWxf Y29uZmlnKzB4MTMvMHgzMCBbaTkxNV0KWyAgIDI0LjE5NzQzOF0gIFs8ZmZmZmZmZmY4MTBhNWQ0 ND5dIGFzeW5jX3J1bl9lbnRyeV9mbisweDM0LzB4MTQwClsgICAyNC4xOTc0NDBdICBbPGZmZmZm ZmZmODEwOWMyNmM+XSBwcm9jZXNzX29uZV93b3JrKzB4MWVjLzB4NmIwClsgICAyNC4xOTc0NDJd ICBbPGZmZmZmZmZmODEwOWMxZTY+XSA/IHByb2Nlc3Nfb25lX3dvcmsrMHgxNjYvMHg2YjAKWyAg IDI0LjE5NzQ0NV0gIFs8ZmZmZmZmZmY4MTA5Yzc3OT5dIHdvcmtlcl90aHJlYWQrMHg0OS8weDQ5 MApbICAgMjQuMTk3NDQ3XSAgWzxmZmZmZmZmZjgxMDljNzMwPl0gPyBwcm9jZXNzX29uZV93b3Jr KzB4NmIwLzB4NmIwClsgICAyNC4xOTc0NDhdICBbPGZmZmZmZmZmODEwYTJhOWI+XSBrdGhyZWFk KzB4ZWIvMHgxMTAKWyAgIDI0LjE5NzQ1MV0gIFs8ZmZmZmZmZmY4MTBhMjliMD5dID8ga3RocmVh ZF9wYXJrKzB4NjAvMHg2MApbICAgMjQuMTk3NDUzXSAgWzxmZmZmZmZmZjgxODI0MWE3Pl0gcmV0 X2Zyb21fZm9yaysweDI3LzB4NDAKWyAgIDI0LjE5NzQ3Nl0gLS0tWyBlbmQgdHJhY2UgYmRhNjRi NjgzYjhlODE2MiBdLS0tCgpTaWduZWQtb2ZmLWJ5OiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRl bi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RkaS5jICAgICB8IDE0ICsrLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMgfCAgNCArKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9t c3QuYyAgfCAgOSArKy0tLS0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCAx OSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k ZGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCmluZGV4IGQ4MDhhMmNjYzI5 ZS4uOGM5Y2U4NTA3NjBiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k ZGkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwpAQCAtMTgzNSw4ICsx ODM1LDYgQEAgc3RhdGljIHZvaWQgaW50ZWxfZW5hYmxlX2RkaShzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqaW50ZWxfZW5jb2RlciwKIAkJCSAgICAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNv bm5fc3RhdGUpCiB7CiAJc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyID0gJmludGVsX2VuY29k ZXItPmJhc2U7Ci0Jc3RydWN0IGRybV9jcnRjICpjcnRjID0gZW5jb2Rlci0+Y3J0YzsKLQlzdHJ1 Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7CiAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5kZXYpOwogCWVu dW0gcG9ydCBwb3J0ID0gaW50ZWxfZGRpX2dldF9lbmNvZGVyX3BvcnQoaW50ZWxfZW5jb2Rlcik7 CiAJaW50IHR5cGUgPSBpbnRlbF9lbmNvZGVyLT50eXBlOwpAQCAtMTg2MywxMCArMTg2MSw4IEBA IHN0YXRpYyB2b2lkIGludGVsX2VuYWJsZV9kZGkoc3RydWN0IGludGVsX2VuY29kZXIgKmludGVs X2VuY29kZXIsCiAJCWludGVsX2VkcF9kcnJzX2VuYWJsZShpbnRlbF9kcCwgcGlwZV9jb25maWcp OwogCX0KIAotCWlmIChpbnRlbF9jcnRjLT5jb25maWctPmhhc19hdWRpbykgewotCQlpbnRlbF9k aXNwbGF5X3Bvd2VyX2dldChkZXZfcHJpdiwgUE9XRVJfRE9NQUlOX0FVRElPKTsKKwlpZiAocGlw ZV9jb25maWctPmhhc19hdWRpbykKIAkJaW50ZWxfYXVkaW9fY29kZWNfZW5hYmxlKGludGVsX2Vu Y29kZXIsIHBpcGVfY29uZmlnLCBjb25uX3N0YXRlKTsKLQl9CiB9CiAKIHN0YXRpYyB2b2lkIGlu dGVsX2Rpc2FibGVfZGRpKHN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyLApAQCAt MTg3NCwxNiArMTg3MCwxMCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kaXNhYmxlX2RkaShzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlciwKIAkJCSAgICAgIHN0cnVjdCBkcm1fY29ubmVj dG9yX3N0YXRlICpvbGRfY29ubl9zdGF0ZSkKIHsKIAlzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29k ZXIgPSAmaW50ZWxfZW5jb2Rlci0+YmFzZTsKLQlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSBlbmNv ZGVyLT5jcnRjOwotCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0 YyhjcnRjKTsKIAlpbnQgdHlwZSA9IGludGVsX2VuY29kZXItPnR5cGU7Ci0Jc3RydWN0IGRybV9k ZXZpY2UgKmRldiA9IGVuY29kZXItPmRldjsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGRldik7CiAKLQlpZiAoaW50ZWxfY3J0Yy0+Y29uZmlnLT5oYXNfYXVk aW8pIHsKKwlpZiAob2xkX2NydGNfc3RhdGUtPmhhc19hdWRpbykKIAkJaW50ZWxfYXVkaW9fY29k ZWNfZGlzYWJsZShpbnRlbF9lbmNvZGVyKTsKLQkJaW50ZWxfZGlzcGxheV9wb3dlcl9wdXQoZGV2 X3ByaXYsIFBPV0VSX0RPTUFJTl9BVURJTyk7Ci0JfQogCiAJaWYgKHR5cGUgPT0gSU5URUxfT1VU UFVUX0VEUCkgewogCQlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVsX2Rw KGVuY29kZXIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxh eS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCmluZGV4IGFjNTg3Y2Ez YjJhZi4uMGRhYTU0NjMzNDUwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCkBA IC01NzM1LDYgKzU3MzUsNyBAQCBzdGF0aWMgdW5zaWduZWQgbG9uZyBnZXRfY3J0Y19wb3dlcl9k b21haW5zKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJCQkJICAgIHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpjcnRjX3N0YXRlKQogewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5k ZXY7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwog CXN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcjsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxf Y3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7CiAJZW51bSBwaXBlIHBpcGUgPSBpbnRlbF9jcnRj LT5waXBlOwpAQCAtNTc1Niw2ICs1NzU3LDkgQEAgc3RhdGljIHVuc2lnbmVkIGxvbmcgZ2V0X2Ny dGNfcG93ZXJfZG9tYWlucyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJCW1hc2sgfD0gQklUKGlu dGVsX2Rpc3BsYXlfcG9ydF9wb3dlcl9kb21haW4oaW50ZWxfZW5jb2RlcikpOwogCX0KIAorCWlm IChIQVNfRERJKGRldl9wcml2KSAmJiBjcnRjX3N0YXRlLT5oYXNfYXVkaW8pCisJCW1hc2sgfD0g QklUKFBPV0VSX0RPTUFJTl9BVURJTyk7CisKIAlpZiAoY3J0Y19zdGF0ZS0+c2hhcmVkX2RwbGwp CiAJCW1hc2sgfD0gQklUKFBPV0VSX0RPTUFJTl9QTExTKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbXN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcF9tc3QuYwppbmRleCAyMDVmZTQ3NDhlYzUuLjZjNTM4MjQ5NGZlZSAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbXN0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHBfbXN0LmMKQEAgLTg3LDcgKzg3LDYgQEAgc3RhdGljIHZvaWQgaW50ZWxf bXN0X2Rpc2FibGVfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJc3RydWN0IGlu dGVsX2RwICppbnRlbF9kcCA9ICZpbnRlbF9kaWdfcG9ydC0+ZHA7CiAJc3RydWN0IGludGVsX2Nv bm5lY3RvciAqY29ubmVjdG9yID0KIAkJdG9faW50ZWxfY29ubmVjdG9yKG9sZF9jb25uX3N0YXRl LT5jb25uZWN0b3IpOwotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5 MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwogCWludCByZXQ7CiAKIAlEUk1fREVCVUdfS01TKCIlZFxu IiwgaW50ZWxfZHAtPmFjdGl2ZV9tc3RfbGlua3MpOwpAQCAtOTgsMTAgKzk3LDggQEAgc3RhdGlj IHZvaWQgaW50ZWxfbXN0X2Rpc2FibGVfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIs CiAJaWYgKHJldCkgewogCQlEUk1fRVJST1IoImZhaWxlZCB0byB1cGRhdGUgcGF5bG9hZCAlZFxu IiwgcmV0KTsKIAl9Ci0JaWYgKG9sZF9jcnRjX3N0YXRlLT5oYXNfYXVkaW8pIHsKKwlpZiAob2xk X2NydGNfc3RhdGUtPmhhc19hdWRpbykKIAkJaW50ZWxfYXVkaW9fY29kZWNfZGlzYWJsZShlbmNv ZGVyKTsKLQkJaW50ZWxfZGlzcGxheV9wb3dlcl9wdXQoZGV2X3ByaXYsIFBPV0VSX0RPTUFJTl9B VURJTyk7Ci0JfQogfQogCiBzdGF0aWMgdm9pZCBpbnRlbF9tc3RfcG9zdF9kaXNhYmxlX2RwKHN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLApAQCAtMjE0LDEwICsyMTEsOCBAQCBzdGF0aWMg dm9pZCBpbnRlbF9tc3RfZW5hYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAog CXJldCA9IGRybV9kcF9jaGVja19hY3Rfc3RhdHVzKCZpbnRlbF9kcC0+bXN0X21ncik7CiAKIAly ZXQgPSBkcm1fZHBfdXBkYXRlX3BheWxvYWRfcGFydDIoJmludGVsX2RwLT5tc3RfbWdyKTsKLQlp ZiAocGlwZV9jb25maWctPmhhc19hdWRpbykgewotCQlpbnRlbF9kaXNwbGF5X3Bvd2VyX2dldChk ZXZfcHJpdiwgUE9XRVJfRE9NQUlOX0FVRElPKTsKKwlpZiAocGlwZV9jb25maWctPmhhc19hdWRp bykKIAkJaW50ZWxfYXVkaW9fY29kZWNfZW5hYmxlKGVuY29kZXIsIHBpcGVfY29uZmlnLCBjb25u X3N0YXRlKTsKLQl9CiB9CiAKIHN0YXRpYyBib29sIGludGVsX2RwX21zdF9lbmNfZ2V0X2h3X3N0 YXRlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAotLSAKMi43LjQKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxp c3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=