From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH try2 incomplete] drm/nouveau: dont switch vt on suspend Date: Mon, 05 Jan 2015 17:14:46 +0100 Message-ID: <54AAB876.8060104@canonical.com> References: <54AA80BD.6080004@canonical.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <54AA80BD.6080004@canonical.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: "nouveau@lists.freedesktop.org" Cc: "dri-devel@lists.freedesktop.org" List-Id: nouveau.vger.kernel.org U2VlbXMgdGhlIGZpcnN0IHRyeSB3YXMgaW5jb21wbGV0ZSBhbmQgYmVjYXVzZSBvZiBub19jb25z b2xlX3N1c3BlbmQgaW4gbXkgY21kbGluZSBJIG5ldmVyIG5vdGljZWQuClRoaXMgcGF0Y2ggaXMg c3RpbGwgaW5jb21wbGV0ZSwgaXQgc2VlbXMgWG9yZyByZXR1cm5zIHdpdGggYSBibGFjayBzY3Jl ZW4gYWZ0ZXIgc3VzcGVuZCwgYnV0CmFmdGVyIGEgdnQgc3dpdGNoIHRoaXMgaXMgY2xlYXJlZC4g QXQgbGVhc3QgdGhlIGN1cnNvciB3b3JrcyBub3cuLi4KCkknbSBvcGVuIGZvciBmZWVkYmFjayBv biB0aGUgYmxhY2sgWC5vcmcgaXNzdWUgYW5kIGlmIHRoaXMgYXBwcm9hY2ggZm9yIGZpeGluZyBj dXJzb3IgaXMgc2FuZS4gOi0pCi0tLQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL25vdXZl YXUvbm91dmVhdV9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2Rp c3BsYXkuYwppbmRleCBmODA0MjQzMzc1MmIuLmY5NzJlOWMxYTIzYSAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL25vdXZlYXUvbm91dmVhdV9kaXNwbGF5LmMKQEAgLTU3MCw3ICs1NzAsOCBAQCBub3V2ZWF1 X2Rpc3BsYXlfc3VzcGVuZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBib29sIHJ1bnRpbWUpCiAJ bGlzdF9mb3JfZWFjaF9lbnRyeShjcnRjLCAmZGV2LT5tb2RlX2NvbmZpZy5jcnRjX2xpc3QsIGhl YWQpIHsKIAkJc3RydWN0IG5vdXZlYXVfY3J0YyAqbnZfY3J0YyA9IG5vdXZlYXVfY3J0YyhjcnRj KTsKIAkJaWYgKG52X2NydGMtPmN1cnNvci5udmJvKSB7Ci0JCQlub3V2ZWF1X2JvX3VubWFwKG52 X2NydGMtPmN1cnNvci5udmJvKTsKKwkJCWlmIChudl9jcnRjLT5jdXJzb3Iuc2V0X29mZnNldCkK KwkJCQlub3V2ZWF1X2JvX3VubWFwKG52X2NydGMtPmN1cnNvci5udmJvKTsKIAkJCW5vdXZlYXVf Ym9fdW5waW4obnZfY3J0Yy0+Y3Vyc29yLm52Ym8pOwogCQl9CiAJfQpAQCAtNjA0LDcgKzYwNSw3 IEBAIG5vdXZlYXVfZGlzcGxheV9yZXN1bWUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgYm9vbCBy dW50aW1lKQogCQkJY29udGludWU7CiAKIAkJcmV0ID0gbm91dmVhdV9ib19waW4obnZfY3J0Yy0+ Y3Vyc29yLm52Ym8sIFRUTV9QTF9GTEFHX1ZSQU0sIHRydWUpOwotCQlpZiAoIXJldCkKKwkJaWYg KCFyZXQgJiYgbnZfY3J0Yy0+Y3Vyc29yLnNldF9vZmZzZXQpCiAJCQlyZXQgPSBub3V2ZWF1X2Jv X21hcChudl9jcnRjLT5jdXJzb3IubnZibyk7CiAJCWlmIChyZXQpCiAJCQlOVl9FUlJPUihkcm0s ICJDb3VsZCBub3QgcGluL21hcCBjdXJzb3IuXG4iKTsKQEAgLTYzNyw3ICs2MzgsOSBAQCBub3V2 ZWF1X2Rpc3BsYXlfcmVzdW1lKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGJvb2wgcnVudGltZSkK IAogCQlpZiAoIW52X2NydGMtPmN1cnNvci5udmJvKQogCQkJY29udGludWU7Ci0JCW52X2NydGMt PmN1cnNvci5zZXRfb2Zmc2V0KG52X2NydGMsIG52X2NydGMtPmN1cnNvci5udmJvLT5iby5vZmZz ZXQpOworCisJCWlmIChudl9jcnRjLT5jdXJzb3Iuc2V0X29mZnNldCkKKwkJCW52X2NydGMtPmN1 cnNvci5zZXRfb2Zmc2V0KG52X2NydGMsIG52X2NydGMtPmN1cnNvci5udmJvLT5iby5vZmZzZXQp OwogCQludl9jcnRjLT5jdXJzb3Iuc2V0X3Bvcyhudl9jcnRjLCBudl9jcnRjLT5jdXJzb3Jfc2F2 ZWRfeCwKIAkJCQkJCSBudl9jcnRjLT5jdXJzb3Jfc2F2ZWRfeSk7CiAJfQpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9mYmNvbi5jIGIvZHJpdmVycy9ncHUvZHJt L25vdXZlYXUvbm91dmVhdV9mYmNvbi5jCmluZGV4IDNlZDEyYThjZmM5MS4uZDZlNjk1OGJjNWY4 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2ZiY29uLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9mYmNvbi5jCkBAIC0zNzAsNiArMzcw LDcgQEAgbm91dmVhdV9mYmNvbl9jcmVhdGUoc3RydWN0IGRybV9mYl9oZWxwZXIgKmhlbHBlciwK IAkJcmV0ID0gLUVOT01FTTsKIAkJZ290byBvdXRfdW5sb2NrOwogCX0KKwlpbmZvLT5za2lwX3Z0 X3N3aXRjaCA9IDE7CiAKIAlyZXQgPSBmYl9hbGxvY19jbWFwKCZpbmZvLT5jbWFwLCAyNTYsIDAp OwogCWlmIChyZXQpIHsKQEAgLTQ4NywzMCArNDg4LDE3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg ZHJtX2ZiX2hlbHBlcl9mdW5jcyBub3V2ZWF1X2ZiY29uX2hlbHBlcl9mdW5jcyA9IHsKIAkuZmJf cHJvYmUgPSBub3V2ZWF1X2ZiY29uX2NyZWF0ZSwKIH07CiAKLXN0YXRpYyB2b2lkCi1ub3V2ZWF1 X2ZiY29uX3NldF9zdXNwZW5kX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQotewotCXN0 cnVjdCBub3V2ZWF1X2ZiZGV2ICpmYmNvbiA9IGNvbnRhaW5lcl9vZih3b3JrLCB0eXBlb2YoKmZi Y29uKSwgd29yayk7Ci0JY29uc29sZV9sb2NrKCk7Ci0Jbm91dmVhdV9mYmNvbl9hY2NlbF9yZXN0 b3JlKGZiY29uLT5kZXYpOwotCW5vdXZlYXVfZmJjb25femZpbGwoZmJjb24tPmRldiwgZmJjb24p OwotCWZiX3NldF9zdXNwZW5kKGZiY29uLT5oZWxwZXIuZmJkZXYsIEZCSU5GT19TVEFURV9SVU5O SU5HKTsKLQljb25zb2xlX3VubG9jaygpOwotfQotCiB2b2lkCiBub3V2ZWF1X2ZiY29uX3NldF9z dXNwZW5kKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGludCBzdGF0ZSkKIHsKIAlzdHJ1Y3Qgbm91 dmVhdV9kcm0gKmRybSA9IG5vdXZlYXVfZHJtKGRldik7CiAJaWYgKGRybS0+ZmJjb24pIHsKLQkJ aWYgKHN0YXRlID09IEZCSU5GT19TVEFURV9SVU5OSU5HKSB7Ci0JCQlzY2hlZHVsZV93b3JrKCZk cm0tPmZiY29uLT53b3JrKTsKLQkJCXJldHVybjsKLQkJfQotCQlmbHVzaF93b3JrKCZkcm0tPmZi Y29uLT53b3JrKTsKIAkJY29uc29sZV9sb2NrKCk7CisJCWlmIChzdGF0ZSA9PSBGQklORk9fU1RB VEVfUlVOTklORykKKwkJCW5vdXZlYXVfZmJjb25fYWNjZWxfcmVzdG9yZShkZXYpOwogCQlmYl9z ZXRfc3VzcGVuZChkcm0tPmZiY29uLT5oZWxwZXIuZmJkZXYsIHN0YXRlKTsKLQkJbm91dmVhdV9m YmNvbl9hY2NlbF9zYXZlX2Rpc2FibGUoZGV2KTsKKwkJaWYgKHN0YXRlICE9IEZCSU5GT19TVEFU RV9SVU5OSU5HKQorCQkJbm91dmVhdV9mYmNvbl9hY2NlbF9zYXZlX2Rpc2FibGUoZGV2KTsKIAkJ Y29uc29sZV91bmxvY2soKTsKIAl9CiB9CkBAIC01MzEsNyArNTE5LDYgQEAgbm91dmVhdV9mYmNv bl9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJaWYgKCFmYmNvbikKIAkJcmV0dXJuIC1F Tk9NRU07CiAKLQlJTklUX1dPUksoJmZiY29uLT53b3JrLCBub3V2ZWF1X2ZiY29uX3NldF9zdXNw ZW5kX3dvcmspOwogCWZiY29uLT5kZXYgPSBkZXY7CiAJZHJtLT5mYmNvbiA9IGZiY29uOwogCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2ZiY29uLmggYi9kcml2 ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2ZiY29uLmgKaW5kZXggNjIwOGU3MGU0YTFjLi4x ZTJlOWUyN2EwM2IgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVf ZmJjb24uaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2ZiY29uLmgKQEAg LTM2LDcgKzM2LDYgQEAgc3RydWN0IG5vdXZlYXVfZmJkZXYgewogCXN0cnVjdCBub3V2ZWF1X2Zy YW1lYnVmZmVyIG5vdXZlYXVfZmI7CiAJc3RydWN0IGxpc3RfaGVhZCBmYmRldl9saXN0OwogCXN0 cnVjdCBkcm1fZGV2aWNlICpkZXY7Ci0Jc3RydWN0IHdvcmtfc3RydWN0IHdvcms7CiAJdW5zaWdu ZWQgaW50IHNhdmVkX2ZsYWdzOwogCXN0cnVjdCBudmlmX29iamVjdCBzdXJmMmQ7CiAJc3RydWN0 IG52aWZfb2JqZWN0IGNsaXA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9u djUwX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252NTBfZGlzcGxheS5jCmlu ZGV4IDQ5MGI5MDg2NmJhZi4uNDdmNmQ3M2U1ODRjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vbm91dmVhdS9udjUwX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9u djUwX2Rpc3BsYXkuYwpAQCAtMTI1LDcgKzEyNSw2IEBAIG52NTBfcGlvY19jcmVhdGUoc3RydWN0 IG52aWZfb2JqZWN0ICpkaXNwLCBjb25zdCB1MzIgKm9jbGFzcywgdTggaGVhZCwKIAogc3RydWN0 IG52NTBfY3VycyB7CiAJc3RydWN0IG52NTBfcGlvYyBiYXNlOwotCXN0cnVjdCBub3V2ZWF1X2Jv ICppbWFnZTsKIH07CiAKIHN0YXRpYyBpbnQKQEAgLTkxNywyOSArOTE2LDI5IEBAIHN0YXRpYyB2 b2lkCiBudjUwX2NydGNfY3Vyc29yX3Nob3coc3RydWN0IG5vdXZlYXVfY3J0YyAqbnZfY3J0YykK IHsKIAlzdHJ1Y3QgbnY1MF9tYXN0ICptYXN0ID0gbnY1MF9tYXN0KG52X2NydGMtPmJhc2UuZGV2 KTsKLQlzdHJ1Y3QgbnY1MF9jdXJzICpjdXJzID0gbnY1MF9jdXJzKCZudl9jcnRjLT5iYXNlKTsK IAl1MzIgKnB1c2ggPSBldm9fd2FpdChtYXN0LCAxNik7CiAJaWYgKHB1c2gpIHsKIAkJaWYgKG52 NTBfdmVycyhtYXN0KSA8IEc4Ml9ESVNQX0NPUkVfQ0hBTk5FTF9ETUEpIHsKIAkJCWV2b19tdGhk KHB1c2gsIDB4MDg4MCArIChudl9jcnRjLT5pbmRleCAqIDB4NDAwKSwgMik7CiAJCQlldm9fZGF0 YShwdXNoLCAweDg1MDAwMDAwKTsKLQkJCWV2b19kYXRhKHB1c2gsIGN1cnMtPmltYWdlLT5iby5v ZmZzZXQgPj4gOCk7CisJCQlldm9fZGF0YShwdXNoLCBudl9jcnRjLT5jdXJzb3IubnZiby0+Ym8u b2Zmc2V0ID4+IDgpOwogCQl9IGVsc2UKIAkJaWYgKG52NTBfdmVycyhtYXN0KSA8IEdGMTEwX0RJ U1BfQ09SRV9DSEFOTkVMX0RNQSkgewogCQkJZXZvX210aGQocHVzaCwgMHgwODgwICsgKG52X2Ny dGMtPmluZGV4ICogMHg0MDApLCAyKTsKIAkJCWV2b19kYXRhKHB1c2gsIDB4ODUwMDAwMDApOwot CQkJZXZvX2RhdGEocHVzaCwgY3Vycy0+aW1hZ2UtPmJvLm9mZnNldCA+PiA4KTsKKwkJCWV2b19k YXRhKHB1c2gsIG52X2NydGMtPmN1cnNvci5udmJvLT5iby5vZmZzZXQgPj4gOCk7CiAJCQlldm9f bXRoZChwdXNoLCAweDA4OWMgKyAobnZfY3J0Yy0+aW5kZXggKiAweDQwMCksIDEpOwogCQkJZXZv X2RhdGEocHVzaCwgbWFzdC0+YmFzZS52cmFtLmhhbmRsZSk7CiAJCX0gZWxzZSB7CiAJCQlldm9f bXRoZChwdXNoLCAweDA0ODAgKyAobnZfY3J0Yy0+aW5kZXggKiAweDMwMCksIDIpOwogCQkJZXZv X2RhdGEocHVzaCwgMHg4NTAwMDAwMCk7Ci0JCQlldm9fZGF0YShwdXNoLCBjdXJzLT5pbWFnZS0+ Ym8ub2Zmc2V0ID4+IDgpOworCQkJZXZvX2RhdGEocHVzaCwgbnZfY3J0Yy0+Y3Vyc29yLm52Ym8t PmJvLm9mZnNldCA+PiA4KTsKIAkJCWV2b19tdGhkKHB1c2gsIDB4MDQ4YyArIChudl9jcnRjLT5p bmRleCAqIDB4MzAwKSwgMSk7CiAJCQlldm9fZGF0YShwdXNoLCBtYXN0LT5iYXNlLnZyYW0uaGFu ZGxlKTsKIAkJfQogCQlldm9fa2ljayhwdXNoLCBtYXN0KTsKIAl9CisJbnZfY3J0Yy0+Y3Vyc29y LnZpc2libGUgPSB0cnVlOwogfQogCiBzdGF0aWMgdm9pZApAQCAtOTY1LDE1ICs5NjQsMTUgQEAg bnY1MF9jcnRjX2N1cnNvcl9oaWRlKHN0cnVjdCBub3V2ZWF1X2NydGMgKm52X2NydGMpCiAJCX0K IAkJZXZvX2tpY2socHVzaCwgbWFzdCk7CiAJfQorCW52X2NydGMtPmN1cnNvci52aXNpYmxlID0g ZmFsc2U7CiB9CiAKIHN0YXRpYyB2b2lkCiBudjUwX2NydGNfY3Vyc29yX3Nob3dfaGlkZShzdHJ1 Y3Qgbm91dmVhdV9jcnRjICpudl9jcnRjLCBib29sIHNob3csIGJvb2wgdXBkYXRlKQogewogCXN0 cnVjdCBudjUwX21hc3QgKm1hc3QgPSBudjUwX21hc3QobnZfY3J0Yy0+YmFzZS5kZXYpOwotCXN0 cnVjdCBudjUwX2N1cnMgKmN1cnMgPSBudjUwX2N1cnMoJm52X2NydGMtPmJhc2UpOwogCi0JaWYg KHNob3cgJiYgY3Vycy0+aW1hZ2UpCisJaWYgKHNob3cgJiYgbnZfY3J0Yy0+Y3Vyc29yLm52Ym8p CiAJCW52NTBfY3J0Y19jdXJzb3Jfc2hvdyhudl9jcnRjKTsKIAllbHNlCiAJCW52NTBfY3J0Y19j dXJzb3JfaGlkZShudl9jcnRjKTsKQEAgLTEyNzMsNyArMTI3Miw2IEBAIG52NTBfY3J0Y19jdXJz b3Jfc2V0KHN0cnVjdCBkcm1fY3J0YyAqY3J0Yywgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYs CiAJCSAgICAgdWludDMyX3QgaGFuZGxlLCB1aW50MzJfdCB3aWR0aCwgdWludDMyX3QgaGVpZ2h0 KQogewogCXN0cnVjdCBub3V2ZWF1X2NydGMgKm52X2NydGMgPSBub3V2ZWF1X2NydGMoY3J0Yyk7 Ci0Jc3RydWN0IG52NTBfY3VycyAqY3VycyA9IG52NTBfY3VycyhjcnRjKTsKIAlzdHJ1Y3QgZHJt X2RldmljZSAqZGV2ID0gY3J0Yy0+ZGV2OwogCXN0cnVjdCBkcm1fZ2VtX29iamVjdCAqZ2VtID0g TlVMTDsKIAlzdHJ1Y3Qgbm91dmVhdV9ibyAqbnZibyA9IE5VTEw7CkBAIC0xMjkyLDkgKzEyOTAs OSBAQCBudjUwX2NydGNfY3Vyc29yX3NldChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsIHN0cnVjdCBk cm1fZmlsZSAqZmlsZV9wcml2LAogCX0KIAogCWlmIChyZXQgPT0gMCkgewotCQlpZiAoY3Vycy0+ aW1hZ2UpCi0JCQlub3V2ZWF1X2JvX3VucGluKGN1cnMtPmltYWdlKTsKLQkJbm91dmVhdV9ib19y ZWYobnZibywgJmN1cnMtPmltYWdlKTsKKwkJaWYgKG52X2NydGMtPmN1cnNvci5udmJvKQorCQkJ bm91dmVhdV9ib191bnBpbihudl9jcnRjLT5jdXJzb3IubnZibyk7CisJCW5vdXZlYXVfYm9fcmVm KG52Ym8sICZudl9jcnRjLT5jdXJzb3IubnZibyk7CiAJfQogCWRybV9nZW1fb2JqZWN0X3VucmVm ZXJlbmNlX3VubG9ja2VkKGdlbSk7CiAKQEAgLTEzMDUsMTAgKzEzMDMsMTQgQEAgbnY1MF9jcnRj X2N1cnNvcl9zZXQoc3RydWN0IGRybV9jcnRjICpjcnRjLCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVf cHJpdiwKIHN0YXRpYyBpbnQKIG52NTBfY3J0Y19jdXJzb3JfbW92ZShzdHJ1Y3QgZHJtX2NydGMg KmNydGMsIGludCB4LCBpbnQgeSkKIHsKKwlzdHJ1Y3Qgbm91dmVhdV9jcnRjICpudl9jcnRjID0g bm91dmVhdV9jcnRjKGNydGMpOwogCXN0cnVjdCBudjUwX2N1cnMgKmN1cnMgPSBudjUwX2N1cnMo Y3J0Yyk7CiAJc3RydWN0IG52NTBfY2hhbiAqY2hhbiA9IG52NTBfY2hhbihjdXJzKTsKIAludmlm X3dyMzIoJmNoYW4tPnVzZXIsIDB4MDA4NCwgKHkgPDwgMTYpIHwgKHggJiAweGZmZmYpKTsKIAlu dmlmX3dyMzIoJmNoYW4tPnVzZXIsIDB4MDA4MCwgMHgwMDAwMDAwMCk7CisKKwludl9jcnRjLT5j dXJzb3Jfc2F2ZWRfeCA9IHg7CisJbnZfY3J0Yy0+Y3Vyc29yX3NhdmVkX3kgPSB5OwogCXJldHVy biAwOwogfQogCkBAIC0xMzMwLDYgKzEzMzIsMTQgQEAgbnY1MF9jcnRjX2dhbW1hX3NldChzdHJ1 Y3QgZHJtX2NydGMgKmNydGMsIHUxNiAqciwgdTE2ICpnLCB1MTYgKmIsCiB9CiAKIHN0YXRpYyB2 b2lkCitudjUwX2NydGNfY3Vyc29yX3Jlc3RvcmUoc3RydWN0IG5vdXZlYXVfY3J0YyAqbnZfY3J0 YywgaW50IHgsIGludCB5KQoreworCW52NTBfY3J0Y19jdXJzb3JfbW92ZSgmbnZfY3J0Yy0+YmFz ZSwgeCwgeSk7CisKKwludjUwX2NydGNfY3Vyc29yX3Nob3dfaGlkZShudl9jcnRjLCB0cnVlLCB0 cnVlKTsKK30KKworc3RhdGljIHZvaWQKIG52NTBfY3J0Y19kZXN0cm95KHN0cnVjdCBkcm1fY3J0 YyAqY3J0YykKIHsKIAlzdHJ1Y3Qgbm91dmVhdV9jcnRjICpudl9jcnRjID0gbm91dmVhdV9jcnRj KGNydGMpOwpAQCAtMTM1NCw5ICsxMzY0LDkgQEAgbnY1MF9jcnRjX2Rlc3Ryb3koc3RydWN0IGRy bV9jcnRjICpjcnRjKQogCW5vdXZlYXVfYm9fcmVmKE5VTEwsICZoZWFkLT5pbWFnZSk7CiAKIAkv KlhYWDogZGl0dG8gKi8KLQlpZiAoaGVhZC0+Y3Vycy5pbWFnZSkKLQkJbm91dmVhdV9ib191bnBp bihoZWFkLT5jdXJzLmltYWdlKTsKLQlub3V2ZWF1X2JvX3JlZihOVUxMLCAmaGVhZC0+Y3Vycy5p bWFnZSk7CisJaWYgKG52X2NydGMtPmN1cnNvci5udmJvKQorCQlub3V2ZWF1X2JvX3VucGluKG52 X2NydGMtPmN1cnNvci5udmJvKTsKKwlub3V2ZWF1X2JvX3JlZihOVUxMLCAmbnZfY3J0Yy0+Y3Vy c29yLm52Ym8pOwogCiAJbm91dmVhdV9ib191bm1hcChudl9jcnRjLT5sdXQubnZibyk7CiAJaWYg KG52X2NydGMtPmx1dC5udmJvKQpAQCAtMTQwNiw2ICsxNDE2LDcgQEAgbnY1MF9jcnRjX2NyZWF0 ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQgaW5kZXgpCiAJaGVhZC0+YmFzZS5zZXRfY29s b3JfdmlicmFuY2UgPSBudjUwX2NydGNfc2V0X2NvbG9yX3ZpYnJhbmNlOwogCWhlYWQtPmJhc2Uu Y29sb3JfdmlicmFuY2UgPSA1MDsKIAloZWFkLT5iYXNlLnZpYnJhbnRfaHVlID0gMDsKKwloZWFk LT5iYXNlLmN1cnNvci5zZXRfcG9zID0gbnY1MF9jcnRjX2N1cnNvcl9yZXN0b3JlOwogCWZvciAo aSA9IDA7IGkgPCAyNTY7IGkrKykgewogCQloZWFkLT5iYXNlLmx1dC5yW2ldID0gaSA8PCA4Owog CQloZWFkLT5iYXNlLmx1dC5nW2ldID0gaSA8PCA4OwoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9kcmktZGV2ZWwK