From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932188AbVHWPLx (ORCPT ); Tue, 23 Aug 2005 11:11:53 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S932194AbVHWPLx (ORCPT ); Tue, 23 Aug 2005 11:11:53 -0400 Received: from e4.ny.us.ibm.com ([32.97.182.144]:56710 "EHLO e4.ny.us.ibm.com") by vger.kernel.org with ESMTP id S932188AbVHWPLw (ORCPT ); Tue, 23 Aug 2005 11:11:52 -0400 Message-ID: <430B3CB4.1050105@us.ibm.com> Date: Tue, 23 Aug 2005 10:11:48 -0500 From: Brian King Reply-To: brking@us.ibm.com User-Agent: Mozilla Thunderbird 1.0 (X11/20041206) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Greg KH CC: Matthew Wilcox , Benjamin Herrenschmidt , Andi Kleen , Paul Mackerras , Linux Kernel Mailing List , Alan Cox , linux-pci@atrey.karlin.mff.cuni.cz Subject: [PATCH 1/2] pci: Block config access during BIST (resend) References: <41F7C6A1.9070102@us.ibm.com> <1106777405.5235.78.camel@gaston> <1106841228.14787.23.camel@localhost.localdomain> <41FA4DC2.4010305@us.ibm.com> <20050201072746.GA21236@kroah.com> <41FF9C78.2040100@us.ibm.com> <20050201154400.GC10088@parcelfarce.linux.theplanet.co.uk> <41FFBDC9.2010206@us.ibm.com> <20050201174758.GE10088@parcelfarce.linux.theplanet.co.uk> <4200F2B2.3080306@us.ibm.com> <20050208200816.GA25292@kroah.com> <42B83B8D.9030901@us.ibm.com> In-Reply-To: <42B83B8D.9030901@us.ibm.com> Content-Type: multipart/mixed; boundary="------------060005050604000407090005" Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org This is a multi-part message in MIME format. --------------060005050604000407090005 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Brian King wrote: > Greg KH wrote: >>>Here is an updated patch which will now fail writes to config space >>>while the device is blocked. I have also fixed up the caching to return >>>the correct data and tested it on both little endian and big endian >>>machines. >> >> >>Applied, thanks. >> >>greg k-h Greg, This patch appears to have been dropped. Please apply. Thanks -- Brian King eServer Storage I/O IBM Linux Technology Center --------------060005050604000407090005 Content-Type: text/plain; name="pci_block_user_config_io_during_bist_again.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="pci_block_user_config_io_during_bist_again.patch" ClNvbWUgUENJIGFkYXB0ZXJzIChlZy4gaXByIHNjc2kgYWRhcHRlcnMpIGhhdmUgYW4gZXhw b3N1cmUgdG9kYXkgaW4gdGhhdCAKdGhleSBpc3N1ZSBCSVNUIHRvIHRoZSBhZGFwdGVyIHRv IHJlc2V0IHRoZSBjYXJkLiBJZiwgZHVyaW5nIHRoZSB0aW1lCml0IHRha2VzIHRvIGNvbXBs ZXRlIEJJU1QsIHVzZXJzcGFjZSBhdHRlbXB0cyB0byBhY2Nlc3MgUENJIGNvbmZpZyBzcGFj ZSwgCnRoZSBob3N0IGJ1cyBicmlkZ2Ugd2lsbCBtYXN0ZXIgYWJvcnQgdGhlIGFjY2VzcyBz aW5jZSB0aGUgaXByIGFkYXB0ZXIgCmRvZXMgbm90IHJlc3BvbmQgb24gdGhlIFBDSSBidXMg Zm9yIGEgYnJpZWYgcGVyaW9kIG9mIHRpbWUgd2hlbiBydW5uaW5nIEJJU1QuIApPbiBQUEM2 NCBoYXJkd2FyZSwgdGhpcyBtYXN0ZXIgYWJvcnQgcmVzdWx0cyBpbiB0aGUgaG9zdCBQQ0kg YnJpZGdlCmlzb2xhdGluZyB0aGF0IFBDSSBkZXZpY2UgZnJvbSB0aGUgcmVzdCBvZiB0aGUg c3lzdGVtLCBtYWtpbmcgdGhlIGRldmljZQp1bnVzYWJsZSB1bnRpbCBMaW51eCBpcyByZWJv b3RlZC4gVGhpcyBwYXRjaCBpcyBhbiBhdHRlbXB0IHRvIGNsb3NlIHRoYXQKZXhwb3N1cmUg YnkgaW50cm9kdWNpbmcgc29tZSBibG9ja2luZyBjb2RlIGluIHRoZSBQQ0kgY29kZS4gV2hl biBibG9ja2VkLAp3cml0ZXMgd2lsbCBiZSBodW1vcmVkIGFuZCByZWFkcyB3aWxsIHJldHVy biB0aGUgY2FjaGVkIHZhbHVlLiBCZW4KSGVycmVuc2NobWlkdCBoYXMgYWxzbyBtZW50aW9u ZWQgdGhhdCBoZSBwbGFucyB0byB1c2UgdGhpcyBpbiBQUEMgcG93ZXIKbWFuYWdlbWVudC4K ClNpZ25lZC1vZmYtYnk6IEJyaWFuIEtpbmcgPGJya2luZ0B1cy5pYm0uY29tPgotLS0KCiBs aW51eC0yLjYtYmpraW5nMS9kcml2ZXJzL3BjaS9hY2Nlc3MuYyAgICB8ICAgODYgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrCiBsaW51eC0yLjYtYmpraW5nMS9kcml2ZXJzL3Bj aS9wY2ktc3lzZnMuYyB8ICAgMjAgKysrLS0tCiBsaW51eC0yLjYtYmpraW5nMS9kcml2ZXJz L3BjaS9wY2kuaCAgICAgICB8ICAgIDcgKysKIGxpbnV4LTIuNi1iamtpbmcxL2RyaXZlcnMv cGNpL3Byb2MuYyAgICAgIHwgICAyOCArKysrLS0tLS0KIGxpbnV4LTIuNi1iamtpbmcxL2Ry aXZlcnMvcGNpL3N5c2NhbGwuYyAgIHwgICAxNCArKy0tCiBsaW51eC0yLjYtYmpraW5nMS9p bmNsdWRlL2xpbnV4L3BjaS5oICAgICB8ICAgIDUgKwogNiBmaWxlcyBjaGFuZ2VkLCAxMjkg aW5zZXJ0aW9ucygrKSwgMzEgZGVsZXRpb25zKC0pCgpkaWZmIC1wdU4gZHJpdmVycy9wY2kv YWNjZXNzLmN+cGNpX2Jsb2NrX3VzZXJfY29uZmlnX2lvX2R1cmluZ19iaXN0X2FnYWluIGRy aXZlcnMvcGNpL2FjY2Vzcy5jCi0tLSBsaW51eC0yLjYvZHJpdmVycy9wY2kvYWNjZXNzLmN+ cGNpX2Jsb2NrX3VzZXJfY29uZmlnX2lvX2R1cmluZ19iaXN0X2FnYWluCTIwMDUtMDgtMjIg MTc6MDA6MjEuMDAwMDAwMDAwIC0wNTAwCisrKyBsaW51eC0yLjYtYmpraW5nMS9kcml2ZXJz L3BjaS9hY2Nlc3MuYwkyMDA1LTA4LTIyIDE3OjAwOjIxLjAwMDAwMDAwMCAtMDUwMApAQCAt NjAsMyArNjAsODkgQEAgRVhQT1JUX1NZTUJPTChwY2lfYnVzX3JlYWRfY29uZmlnX2R3b3Jk KQogRVhQT1JUX1NZTUJPTChwY2lfYnVzX3dyaXRlX2NvbmZpZ19ieXRlKTsKIEVYUE9SVF9T WU1CT0wocGNpX2J1c193cml0ZV9jb25maWdfd29yZCk7CiBFWFBPUlRfU1lNQk9MKHBjaV9i dXNfd3JpdGVfY29uZmlnX2R3b3JkKTsKKworc3RhdGljIHUzMiBwY2lfdXNlcl9jYWNoZWRf Y29uZmlnKHN0cnVjdCBwY2lfZGV2ICpkZXYsIGludCBwb3MpCit7CisJdTMyIGRhdGE7CisK KwlkYXRhID0gZGV2LT5zYXZlZF9jb25maWdfc3BhY2VbcG9zL3NpemVvZihkZXYtPnNhdmVk X2NvbmZpZ19zcGFjZVswXSldOworCWRhdGEgPj49IChwb3MgJSBzaXplb2YoZGV2LT5zYXZl ZF9jb25maWdfc3BhY2VbMF0pKSAqIDg7CisJcmV0dXJuIGRhdGE7Cit9CisKKyNkZWZpbmUg UENJX1VTRVJfUkVBRF9DT05GSUcoc2l6ZSx0eXBlKQkJCQkJXAoraW50IHBjaV91c2VyX3Jl YWRfY29uZmlnXyMjc2l6ZQkJCQkJCVwKKwkoc3RydWN0IHBjaV9kZXYgKmRldiwgaW50IHBv cywgdHlwZSAqdmFsKQkJCVwKK3sJCQkJCQkJCQlcCisJdW5zaWduZWQgbG9uZyBmbGFnczsJ CQkJCQlcCisJaW50IHJldCA9IDA7CQkJCQkJCVwKKwl1MzIgZGF0YSA9IC0xOwkJCQkJCQlc CisJaWYgKFBDSV8jI3NpemUjI19CQUQpIHJldHVybiBQQ0lCSU9TX0JBRF9SRUdJU1RFUl9O VU1CRVI7CVwKKwlzcGluX2xvY2tfaXJxc2F2ZSgmcGNpX2xvY2ssIGZsYWdzKTsJCQkJXAor CWlmIChsaWtlbHkoIWRldi0+YmxvY2tfdWNmZ19hY2Nlc3MpKQkJCQlcCisJCXJldCA9IGRl di0+YnVzLT5vcHMtPnJlYWQoZGV2LT5idXMsIGRldi0+ZGV2Zm4sCQlcCisJCQkJCXBvcywg c2l6ZW9mKHR5cGUpLCAmZGF0YSk7CVwKKwllbHNlIGlmIChwb3MgPCBzaXplb2YoZGV2LT5z YXZlZF9jb25maWdfc3BhY2UpKQkJCVwKKwkJZGF0YSA9IHBjaV91c2VyX2NhY2hlZF9jb25m aWcoZGV2LCBwb3MpOyAJCVwKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZwY2lfbG9jaywg ZmxhZ3MpOwkJCVwKKwkqdmFsID0gKHR5cGUpZGF0YTsJCQkJCQlcCisJcmV0dXJuIHJldDsJ CQkJCQkJXAorfQorCisjZGVmaW5lIFBDSV9VU0VSX1dSSVRFX0NPTkZJRyhzaXplLHR5cGUp CQkJCVwKK2ludCBwY2lfdXNlcl93cml0ZV9jb25maWdfIyNzaXplCQkJCQlcCisJKHN0cnVj dCBwY2lfZGV2ICpkZXYsIGludCBwb3MsIHR5cGUgdmFsKQkJCVwKK3sJCQkJCQkJCQlcCisJ dW5zaWduZWQgbG9uZyBmbGFnczsJCQkJCQlcCisJaW50IHJldCA9IC1FSU87CQkJCQkJCVwK KwlpZiAoUENJXyMjc2l6ZSMjX0JBRCkgcmV0dXJuIFBDSUJJT1NfQkFEX1JFR0lTVEVSX05V TUJFUjsJXAorCXNwaW5fbG9ja19pcnFzYXZlKCZwY2lfbG9jaywgZmxhZ3MpOwkJCQlcCisJ aWYgKGxpa2VseSghZGV2LT5ibG9ja191Y2ZnX2FjY2VzcykpCQkJCVwKKwkJcmV0ID0gZGV2 LT5idXMtPm9wcy0+d3JpdGUoZGV2LT5idXMsIGRldi0+ZGV2Zm4sCVwKKwkJCQkJcG9zLCBz aXplb2YodHlwZSksIHZhbCk7CVwKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZwY2lfbG9j aywgZmxhZ3MpOwkJCVwKKwlyZXR1cm4gcmV0OwkJCQkJCQlcCit9CisKK1BDSV9VU0VSX1JF QURfQ09ORklHKGJ5dGUsIHU4KQorUENJX1VTRVJfUkVBRF9DT05GSUcod29yZCwgdTE2KQor UENJX1VTRVJfUkVBRF9DT05GSUcoZHdvcmQsIHUzMikKK1BDSV9VU0VSX1dSSVRFX0NPTkZJ RyhieXRlLCB1OCkKK1BDSV9VU0VSX1dSSVRFX0NPTkZJRyh3b3JkLCB1MTYpCitQQ0lfVVNF Ul9XUklURV9DT05GSUcoZHdvcmQsIHUzMikKKworLyoqCisgKiBwY2lfYmxvY2tfdXNlcl9j ZmdfYWNjZXNzIC0gQmxvY2sgdXNlcnNwYWNlIFBDSSBjb25maWcgcmVhZHMvd3JpdGVzCisg KiBAZGV2OglwY2kgZGV2aWNlIHN0cnVjdAorICoKKyAqIFRoaXMgZnVuY3Rpb24gYmxvY2tz IGFueSB1c2Vyc3BhY2UgUENJIGNvbmZpZyBhY2Nlc3NlcyBmcm9tIG9jY3VycmluZy4KKyAq IFdoZW4gYmxvY2tlZCwgYW55IHdyaXRlcyB3aWxsIGJlIGJpdCBidWNrZXRlZCBhbmQgcmVh ZHMgd2lsbCByZXR1cm4gdGhlCisgKiBkYXRhIHNhdmVkIHVzaW5nIHBjaV9zYXZlX3N0YXRl IGZvciB0aGUgZmlyc3QgNjQgYnl0ZXMgb2YgY29uZmlnCisgKiBzcGFjZSBhbmQgcmV0dXJu IDB4ZmYgZm9yIGFsbCBvdGhlciBjb25maWcgcmVhZHMuCisgKiovCit2b2lkIHBjaV9ibG9j a191c2VyX2NmZ19hY2Nlc3Moc3RydWN0IHBjaV9kZXYgKmRldikKK3sKKwl1bnNpZ25lZCBs b25nIGZsYWdzOworCisJcGNpX3NhdmVfc3RhdGUoZGV2KTsKKwlzcGluX2xvY2tfaXJxc2F2 ZSgmcGNpX2xvY2ssIGZsYWdzKTsKKwlkZXYtPmJsb2NrX3VjZmdfYWNjZXNzID0gMTsKKwlz cGluX3VubG9ja19pcnFyZXN0b3JlKCZwY2lfbG9jaywgZmxhZ3MpOworfQorRVhQT1JUX1NZ TUJPTF9HUEwocGNpX2Jsb2NrX3VzZXJfY2ZnX2FjY2Vzcyk7CisKKy8qKgorICogcGNpX3Vu YmxvY2tfdXNlcl9jZmdfYWNjZXNzIC0gVW5ibG9jayB1c2Vyc3BhY2UgUENJIGNvbmZpZyBy ZWFkcy93cml0ZXMKKyAqIEBkZXY6CXBjaSBkZXZpY2Ugc3RydWN0CisgKgorICogVGhpcyBm dW5jdGlvbiBhbGxvd3MgdXNlcnNwYWNlIFBDSSBjb25maWcgYWNjZXNzZXMgdG8gcmVzdW1l LgorICoqLwordm9pZCBwY2lfdW5ibG9ja191c2VyX2NmZ19hY2Nlc3Moc3RydWN0IHBjaV9k ZXYgKmRldikKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJc3Bpbl9sb2NrX2lycXNh dmUoJnBjaV9sb2NrLCBmbGFncyk7CisJZGV2LT5ibG9ja191Y2ZnX2FjY2VzcyA9IDA7CisJ c3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcGNpX2xvY2ssIGZsYWdzKTsKK30KK0VYUE9SVF9T WU1CT0xfR1BMKHBjaV91bmJsb2NrX3VzZXJfY2ZnX2FjY2Vzcyk7CmRpZmYgLXB1TiBkcml2 ZXJzL3BjaS9wY2ktc3lzZnMuY35wY2lfYmxvY2tfdXNlcl9jb25maWdfaW9fZHVyaW5nX2Jp c3RfYWdhaW4gZHJpdmVycy9wY2kvcGNpLXN5c2ZzLmMKLS0tIGxpbnV4LTIuNi9kcml2ZXJz L3BjaS9wY2ktc3lzZnMuY35wY2lfYmxvY2tfdXNlcl9jb25maWdfaW9fZHVyaW5nX2Jpc3Rf YWdhaW4JMjAwNS0wOC0yMiAxNzowMDoyMS4wMDAwMDAwMDAgLTA1MDAKKysrIGxpbnV4LTIu Ni1iamtpbmcxL2RyaXZlcnMvcGNpL3BjaS1zeXNmcy5jCTIwMDUtMDgtMjIgMTc6MDA6MjEu MDAwMDAwMDAwIC0wNTAwCkBAIC0xMjYsNyArMTI2LDcgQEAgcGNpX3JlYWRfY29uZmlnKHN0 cnVjdCBrb2JqZWN0ICprb2JqLCBjaAogCiAJaWYgKChvZmYgJiAxKSAmJiBzaXplKSB7CiAJ CXU4IHZhbDsKLQkJcGNpX3JlYWRfY29uZmlnX2J5dGUoZGV2LCBvZmYsICZ2YWwpOworCQlw Y2lfdXNlcl9yZWFkX2NvbmZpZ19ieXRlKGRldiwgb2ZmLCAmdmFsKTsKIAkJZGF0YVtvZmYg LSBpbml0X29mZl0gPSB2YWw7CiAJCW9mZisrOwogCQlzaXplLS07CkBAIC0xMzQsNyArMTM0 LDcgQEAgcGNpX3JlYWRfY29uZmlnKHN0cnVjdCBrb2JqZWN0ICprb2JqLCBjaAogCiAJaWYg KChvZmYgJiAzKSAmJiBzaXplID4gMikgewogCQl1MTYgdmFsOwotCQlwY2lfcmVhZF9jb25m aWdfd29yZChkZXYsIG9mZiwgJnZhbCk7CisJCXBjaV91c2VyX3JlYWRfY29uZmlnX3dvcmQo ZGV2LCBvZmYsICZ2YWwpOwogCQlkYXRhW29mZiAtIGluaXRfb2ZmXSA9IHZhbCAmIDB4ZmY7 CiAJCWRhdGFbb2ZmIC0gaW5pdF9vZmYgKyAxXSA9ICh2YWwgPj4gOCkgJiAweGZmOwogCQlv ZmYgKz0gMjsKQEAgLTE0Myw3ICsxNDMsNyBAQCBwY2lfcmVhZF9jb25maWcoc3RydWN0IGtv YmplY3QgKmtvYmosIGNoCiAKIAl3aGlsZSAoc2l6ZSA+IDMpIHsKIAkJdTMyIHZhbDsKLQkJ cGNpX3JlYWRfY29uZmlnX2R3b3JkKGRldiwgb2ZmLCAmdmFsKTsKKwkJcGNpX3VzZXJfcmVh ZF9jb25maWdfZHdvcmQoZGV2LCBvZmYsICZ2YWwpOwogCQlkYXRhW29mZiAtIGluaXRfb2Zm XSA9IHZhbCAmIDB4ZmY7CiAJCWRhdGFbb2ZmIC0gaW5pdF9vZmYgKyAxXSA9ICh2YWwgPj4g OCkgJiAweGZmOwogCQlkYXRhW29mZiAtIGluaXRfb2ZmICsgMl0gPSAodmFsID4+IDE2KSAm IDB4ZmY7CkBAIC0xNTQsNyArMTU0LDcgQEAgcGNpX3JlYWRfY29uZmlnKHN0cnVjdCBrb2Jq ZWN0ICprb2JqLCBjaAogCiAJaWYgKHNpemUgPj0gMikgewogCQl1MTYgdmFsOwotCQlwY2lf cmVhZF9jb25maWdfd29yZChkZXYsIG9mZiwgJnZhbCk7CisJCXBjaV91c2VyX3JlYWRfY29u ZmlnX3dvcmQoZGV2LCBvZmYsICZ2YWwpOwogCQlkYXRhW29mZiAtIGluaXRfb2ZmXSA9IHZh bCAmIDB4ZmY7CiAJCWRhdGFbb2ZmIC0gaW5pdF9vZmYgKyAxXSA9ICh2YWwgPj4gOCkgJiAw eGZmOwogCQlvZmYgKz0gMjsKQEAgLTE2Myw3ICsxNjMsNyBAQCBwY2lfcmVhZF9jb25maWco c3RydWN0IGtvYmplY3QgKmtvYmosIGNoCiAKIAlpZiAoc2l6ZSA+IDApIHsKIAkJdTggdmFs OwotCQlwY2lfcmVhZF9jb25maWdfYnl0ZShkZXYsIG9mZiwgJnZhbCk7CisJCXBjaV91c2Vy X3JlYWRfY29uZmlnX2J5dGUoZGV2LCBvZmYsICZ2YWwpOwogCQlkYXRhW29mZiAtIGluaXRf b2ZmXSA9IHZhbDsKIAkJb2ZmKys7CiAJCS0tc2l6ZTsKQEAgLTE4OCw3ICsxODgsNyBAQCBw Y2lfd3JpdGVfY29uZmlnKHN0cnVjdCBrb2JqZWN0ICprb2JqLCBjCiAJfQogCQogCWlmICgo b2ZmICYgMSkgJiYgc2l6ZSkgewotCQlwY2lfd3JpdGVfY29uZmlnX2J5dGUoZGV2LCBvZmYs IGRhdGFbb2ZmIC0gaW5pdF9vZmZdKTsKKwkJcGNpX3VzZXJfd3JpdGVfY29uZmlnX2J5dGUo ZGV2LCBvZmYsIGRhdGFbb2ZmIC0gaW5pdF9vZmZdKTsKIAkJb2ZmKys7CiAJCXNpemUtLTsK IAl9CkBAIC0xOTYsNyArMTk2LDcgQEAgcGNpX3dyaXRlX2NvbmZpZyhzdHJ1Y3Qga29iamVj dCAqa29iaiwgYwogCWlmICgob2ZmICYgMykgJiYgc2l6ZSA+IDIpIHsKIAkJdTE2IHZhbCA9 IGRhdGFbb2ZmIC0gaW5pdF9vZmZdOwogCQl2YWwgfD0gKHUxNikgZGF0YVtvZmYgLSBpbml0 X29mZiArIDFdIDw8IDg7Ci0gICAgICAgICAgICAgICAgcGNpX3dyaXRlX2NvbmZpZ193b3Jk KGRldiwgb2ZmLCB2YWwpOworICAgICAgICAgICAgICAgIHBjaV91c2VyX3dyaXRlX2NvbmZp Z193b3JkKGRldiwgb2ZmLCB2YWwpOwogICAgICAgICAgICAgICAgIG9mZiArPSAyOwogICAg ICAgICAgICAgICAgIHNpemUgLT0gMjsKICAgICAgICAgfQpAQCAtMjA2LDcgKzIwNiw3IEBA IHBjaV93cml0ZV9jb25maWcoc3RydWN0IGtvYmplY3QgKmtvYmosIGMKIAkJdmFsIHw9ICh1 MzIpIGRhdGFbb2ZmIC0gaW5pdF9vZmYgKyAxXSA8PCA4OwogCQl2YWwgfD0gKHUzMikgZGF0 YVtvZmYgLSBpbml0X29mZiArIDJdIDw8IDE2OwogCQl2YWwgfD0gKHUzMikgZGF0YVtvZmYg LSBpbml0X29mZiArIDNdIDw8IDI0OwotCQlwY2lfd3JpdGVfY29uZmlnX2R3b3JkKGRldiwg b2ZmLCB2YWwpOworCQlwY2lfdXNlcl93cml0ZV9jb25maWdfZHdvcmQoZGV2LCBvZmYsIHZh bCk7CiAJCW9mZiArPSA0OwogCQlzaXplIC09IDQ7CiAJfQpAQCAtMjE0LDEzICsyMTQsMTMg QEAgcGNpX3dyaXRlX2NvbmZpZyhzdHJ1Y3Qga29iamVjdCAqa29iaiwgYwogCWlmIChzaXpl ID49IDIpIHsKIAkJdTE2IHZhbCA9IGRhdGFbb2ZmIC0gaW5pdF9vZmZdOwogCQl2YWwgfD0g KHUxNikgZGF0YVtvZmYgLSBpbml0X29mZiArIDFdIDw8IDg7Ci0JCXBjaV93cml0ZV9jb25m aWdfd29yZChkZXYsIG9mZiwgdmFsKTsKKwkJcGNpX3VzZXJfd3JpdGVfY29uZmlnX3dvcmQo ZGV2LCBvZmYsIHZhbCk7CiAJCW9mZiArPSAyOwogCQlzaXplIC09IDI7CiAJfQogCiAJaWYg KHNpemUpIHsKLQkJcGNpX3dyaXRlX2NvbmZpZ19ieXRlKGRldiwgb2ZmLCBkYXRhW29mZiAt IGluaXRfb2ZmXSk7CisJCXBjaV91c2VyX3dyaXRlX2NvbmZpZ19ieXRlKGRldiwgb2ZmLCBk YXRhW29mZiAtIGluaXRfb2ZmXSk7CiAJCW9mZisrOwogCQktLXNpemU7CiAJfQpkaWZmIC1w dU4gZHJpdmVycy9wY2kvcHJvYy5jfnBjaV9ibG9ja191c2VyX2NvbmZpZ19pb19kdXJpbmdf YmlzdF9hZ2FpbiBkcml2ZXJzL3BjaS9wcm9jLmMKLS0tIGxpbnV4LTIuNi9kcml2ZXJzL3Bj aS9wcm9jLmN+cGNpX2Jsb2NrX3VzZXJfY29uZmlnX2lvX2R1cmluZ19iaXN0X2FnYWluCTIw MDUtMDgtMjIgMTc6MDA6MjEuMDAwMDAwMDAwIC0wNTAwCisrKyBsaW51eC0yLjYtYmpraW5n MS9kcml2ZXJzL3BjaS9wcm9jLmMJMjAwNS0wOC0yMiAxNzowMDoyMS4wMDAwMDAwMDAgLTA1 MDAKQEAgLTgwLDcgKzgwLDcgQEAgcHJvY19idXNfcGNpX3JlYWQoc3RydWN0IGZpbGUgKmZp bGUsIGNoYQogCiAJaWYgKChwb3MgJiAxKSAmJiBjbnQpIHsKIAkJdW5zaWduZWQgY2hhciB2 YWw7Ci0JCXBjaV9yZWFkX2NvbmZpZ19ieXRlKGRldiwgcG9zLCAmdmFsKTsKKwkJcGNpX3Vz ZXJfcmVhZF9jb25maWdfYnl0ZShkZXYsIHBvcywgJnZhbCk7CiAJCV9fcHV0X3VzZXIodmFs LCBidWYpOwogCQlidWYrKzsKIAkJcG9zKys7CkBAIC04OSw3ICs4OSw3IEBAIHByb2NfYnVz X3BjaV9yZWFkKHN0cnVjdCBmaWxlICpmaWxlLCBjaGEKIAogCWlmICgocG9zICYgMykgJiYg Y250ID4gMikgewogCQl1bnNpZ25lZCBzaG9ydCB2YWw7Ci0JCXBjaV9yZWFkX2NvbmZpZ193 b3JkKGRldiwgcG9zLCAmdmFsKTsKKwkJcGNpX3VzZXJfcmVhZF9jb25maWdfd29yZChkZXYs IHBvcywgJnZhbCk7CiAJCV9fcHV0X3VzZXIoY3B1X3RvX2xlMTYodmFsKSwgKHVuc2lnbmVk IHNob3J0IF9fdXNlciAqKSBidWYpOwogCQlidWYgKz0gMjsKIAkJcG9zICs9IDI7CkBAIC05 OCw3ICs5OCw3IEBAIHByb2NfYnVzX3BjaV9yZWFkKHN0cnVjdCBmaWxlICpmaWxlLCBjaGEK IAogCXdoaWxlIChjbnQgPj0gNCkgewogCQl1bnNpZ25lZCBpbnQgdmFsOwotCQlwY2lfcmVh ZF9jb25maWdfZHdvcmQoZGV2LCBwb3MsICZ2YWwpOworCQlwY2lfdXNlcl9yZWFkX2NvbmZp Z19kd29yZChkZXYsIHBvcywgJnZhbCk7CiAJCV9fcHV0X3VzZXIoY3B1X3RvX2xlMzIodmFs KSwgKHVuc2lnbmVkIGludCBfX3VzZXIgKikgYnVmKTsKIAkJYnVmICs9IDQ7CiAJCXBvcyAr PSA0OwpAQCAtMTA3LDcgKzEwNyw3IEBAIHByb2NfYnVzX3BjaV9yZWFkKHN0cnVjdCBmaWxl ICpmaWxlLCBjaGEKIAogCWlmIChjbnQgPj0gMikgewogCQl1bnNpZ25lZCBzaG9ydCB2YWw7 Ci0JCXBjaV9yZWFkX2NvbmZpZ193b3JkKGRldiwgcG9zLCAmdmFsKTsKKwkJcGNpX3VzZXJf cmVhZF9jb25maWdfd29yZChkZXYsIHBvcywgJnZhbCk7CiAJCV9fcHV0X3VzZXIoY3B1X3Rv X2xlMTYodmFsKSwgKHVuc2lnbmVkIHNob3J0IF9fdXNlciAqKSBidWYpOwogCQlidWYgKz0g MjsKIAkJcG9zICs9IDI7CkBAIC0xMTYsNyArMTE2LDcgQEAgcHJvY19idXNfcGNpX3JlYWQo c3RydWN0IGZpbGUgKmZpbGUsIGNoYQogCiAJaWYgKGNudCkgewogCQl1bnNpZ25lZCBjaGFy IHZhbDsKLQkJcGNpX3JlYWRfY29uZmlnX2J5dGUoZGV2LCBwb3MsICZ2YWwpOworCQlwY2lf dXNlcl9yZWFkX2NvbmZpZ19ieXRlKGRldiwgcG9zLCAmdmFsKTsKIAkJX19wdXRfdXNlcih2 YWwsIGJ1Zik7CiAJCWJ1ZisrOwogCQlwb3MrKzsKQEAgLTE1MSw3ICsxNTEsNyBAQCBwcm9j X2J1c19wY2lfd3JpdGUoc3RydWN0IGZpbGUgKmZpbGUsIGNvCiAJaWYgKChwb3MgJiAxKSAm JiBjbnQpIHsKIAkJdW5zaWduZWQgY2hhciB2YWw7CiAJCV9fZ2V0X3VzZXIodmFsLCBidWYp OwotCQlwY2lfd3JpdGVfY29uZmlnX2J5dGUoZGV2LCBwb3MsIHZhbCk7CisJCXBjaV91c2Vy X3dyaXRlX2NvbmZpZ19ieXRlKGRldiwgcG9zLCB2YWwpOwogCQlidWYrKzsKIAkJcG9zKys7 CiAJCWNudC0tOwpAQCAtMTYwLDcgKzE2MCw3IEBAIHByb2NfYnVzX3BjaV93cml0ZShzdHJ1 Y3QgZmlsZSAqZmlsZSwgY28KIAlpZiAoKHBvcyAmIDMpICYmIGNudCA+IDIpIHsKIAkJdW5z aWduZWQgc2hvcnQgdmFsOwogCQlfX2dldF91c2VyKHZhbCwgKHVuc2lnbmVkIHNob3J0IF9f dXNlciAqKSBidWYpOwotCQlwY2lfd3JpdGVfY29uZmlnX3dvcmQoZGV2LCBwb3MsIGxlMTZf dG9fY3B1KHZhbCkpOworCQlwY2lfdXNlcl93cml0ZV9jb25maWdfd29yZChkZXYsIHBvcywg bGUxNl90b19jcHUodmFsKSk7CiAJCWJ1ZiArPSAyOwogCQlwb3MgKz0gMjsKIAkJY250IC09 IDI7CkBAIC0xNjksNyArMTY5LDcgQEAgcHJvY19idXNfcGNpX3dyaXRlKHN0cnVjdCBmaWxl ICpmaWxlLCBjbwogCXdoaWxlIChjbnQgPj0gNCkgewogCQl1bnNpZ25lZCBpbnQgdmFsOwog CQlfX2dldF91c2VyKHZhbCwgKHVuc2lnbmVkIGludCBfX3VzZXIgKikgYnVmKTsKLQkJcGNp X3dyaXRlX2NvbmZpZ19kd29yZChkZXYsIHBvcywgbGUzMl90b19jcHUodmFsKSk7CisJCXBj aV91c2VyX3dyaXRlX2NvbmZpZ19kd29yZChkZXYsIHBvcywgbGUzMl90b19jcHUodmFsKSk7 CiAJCWJ1ZiArPSA0OwogCQlwb3MgKz0gNDsKIAkJY250IC09IDQ7CkBAIC0xNzgsNyArMTc4 LDcgQEAgcHJvY19idXNfcGNpX3dyaXRlKHN0cnVjdCBmaWxlICpmaWxlLCBjbwogCWlmIChj bnQgPj0gMikgewogCQl1bnNpZ25lZCBzaG9ydCB2YWw7CiAJCV9fZ2V0X3VzZXIodmFsLCAo dW5zaWduZWQgc2hvcnQgX191c2VyICopIGJ1Zik7Ci0JCXBjaV93cml0ZV9jb25maWdfd29y ZChkZXYsIHBvcywgbGUxNl90b19jcHUodmFsKSk7CisJCXBjaV91c2VyX3dyaXRlX2NvbmZp Z193b3JkKGRldiwgcG9zLCBsZTE2X3RvX2NwdSh2YWwpKTsKIAkJYnVmICs9IDI7CiAJCXBv cyArPSAyOwogCQljbnQgLT0gMjsKQEAgLTE4Nyw3ICsxODcsNyBAQCBwcm9jX2J1c19wY2lf d3JpdGUoc3RydWN0IGZpbGUgKmZpbGUsIGNvCiAJaWYgKGNudCkgewogCQl1bnNpZ25lZCBj aGFyIHZhbDsKIAkJX19nZXRfdXNlcih2YWwsIGJ1Zik7Ci0JCXBjaV93cml0ZV9jb25maWdf Ynl0ZShkZXYsIHBvcywgdmFsKTsKKwkJcGNpX3VzZXJfd3JpdGVfY29uZmlnX2J5dGUoZGV2 LCBwb3MsIHZhbCk7CiAJCWJ1ZisrOwogCQlwb3MrKzsKIAkJY250LS07CkBAIC00ODQsMTAg KzQ4NCwxMCBAQCBzdGF0aWMgaW50IHNob3dfZGV2X2NvbmZpZyhzdHJ1Y3Qgc2VxX2ZpCiAK IAlkcnYgPSBwY2lfZGV2X2RyaXZlcihkZXYpOwogCi0JcGNpX3JlYWRfY29uZmlnX2R3b3Jk KGRldiwgUENJX0NMQVNTX1JFVklTSU9OLCAmY2xhc3NfcmV2KTsKLQlwY2lfcmVhZF9jb25m aWdfYnl0ZSAoZGV2LCBQQ0lfTEFURU5DWV9USU1FUiwgJmxhdGVuY3kpOwotCXBjaV9yZWFk X2NvbmZpZ19ieXRlIChkZXYsIFBDSV9NSU5fR05ULCAmbWluX2dudCk7Ci0JcGNpX3JlYWRf Y29uZmlnX2J5dGUgKGRldiwgUENJX01BWF9MQVQsICZtYXhfbGF0KTsKKwlwY2lfdXNlcl9y ZWFkX2NvbmZpZ19kd29yZChkZXYsIFBDSV9DTEFTU19SRVZJU0lPTiwgJmNsYXNzX3Jldik7 CisJcGNpX3VzZXJfcmVhZF9jb25maWdfYnl0ZSAoZGV2LCBQQ0lfTEFURU5DWV9USU1FUiwg JmxhdGVuY3kpOworCXBjaV91c2VyX3JlYWRfY29uZmlnX2J5dGUgKGRldiwgUENJX01JTl9H TlQsICZtaW5fZ250KTsKKwlwY2lfdXNlcl9yZWFkX2NvbmZpZ19ieXRlIChkZXYsIFBDSV9N QVhfTEFULCAmbWF4X2xhdCk7CiAJc2VxX3ByaW50ZihtLCAiICBCdXMgJTJkLCBkZXZpY2Ug JTNkLCBmdW5jdGlvbiAlMmQ6XG4iLAogCSAgICAgICBkZXYtPmJ1cy0+bnVtYmVyLCBQQ0lf U0xPVChkZXYtPmRldmZuKSwgUENJX0ZVTkMoZGV2LT5kZXZmbikpOwogCWNsYXNzID0gcGNp X2NsYXNzX25hbWUoY2xhc3NfcmV2ID4+IDE2KTsKZGlmZiAtcHVOIGRyaXZlcnMvcGNpL3N5 c2NhbGwuY35wY2lfYmxvY2tfdXNlcl9jb25maWdfaW9fZHVyaW5nX2Jpc3RfYWdhaW4gZHJp dmVycy9wY2kvc3lzY2FsbC5jCi0tLSBsaW51eC0yLjYvZHJpdmVycy9wY2kvc3lzY2FsbC5j fnBjaV9ibG9ja191c2VyX2NvbmZpZ19pb19kdXJpbmdfYmlzdF9hZ2FpbgkyMDA1LTA4LTIy IDE3OjAwOjIxLjAwMDAwMDAwMCAtMDUwMAorKysgbGludXgtMi42LWJqa2luZzEvZHJpdmVy cy9wY2kvc3lzY2FsbC5jCTIwMDUtMDgtMjIgMTc6MDA6MjEuMDAwMDAwMDAwIC0wNTAwCkBA IC0xMyw3ICsxMyw3IEBACiAjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRl IDxsaW51eC9zeXNjYWxscy5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+Ci0KKyNpbmNs dWRlICJwY2kuaCIKIAogYXNtbGlua2FnZSBsb25nCiBzeXNfcGNpY29uZmlnX3JlYWQodW5z aWduZWQgbG9uZyBidXMsIHVuc2lnbmVkIGxvbmcgZGZuLApAQCAtMzgsMTMgKzM4LDEzIEBA IHN5c19wY2ljb25maWdfcmVhZCh1bnNpZ25lZCBsb25nIGJ1cywgdW4KIAlsb2NrX2tlcm5l bCgpOwogCXN3aXRjaCAobGVuKSB7CiAJY2FzZSAxOgotCQljZmdfcmV0ID0gcGNpX3JlYWRf Y29uZmlnX2J5dGUoZGV2LCBvZmYsICZieXRlKTsKKwkJY2ZnX3JldCA9IHBjaV91c2VyX3Jl YWRfY29uZmlnX2J5dGUoZGV2LCBvZmYsICZieXRlKTsKIAkJYnJlYWs7CiAJY2FzZSAyOgot CQljZmdfcmV0ID0gcGNpX3JlYWRfY29uZmlnX3dvcmQoZGV2LCBvZmYsICZ3b3JkKTsKKwkJ Y2ZnX3JldCA9IHBjaV91c2VyX3JlYWRfY29uZmlnX3dvcmQoZGV2LCBvZmYsICZ3b3JkKTsK IAkJYnJlYWs7CiAJY2FzZSA0OgotCQljZmdfcmV0ID0gcGNpX3JlYWRfY29uZmlnX2R3b3Jk KGRldiwgb2ZmLCAmZHdvcmQpOworCQljZmdfcmV0ID0gcGNpX3VzZXJfcmVhZF9jb25maWdf ZHdvcmQoZGV2LCBvZmYsICZkd29yZCk7CiAJCWJyZWFrOwogCWRlZmF1bHQ6CiAJCWVyciA9 IC1FSU5WQUw7CkBAIC0xMTIsNyArMTEyLDcgQEAgc3lzX3BjaWNvbmZpZ193cml0ZSh1bnNp Z25lZCBsb25nIGJ1cywgdQogCQllcnIgPSBnZXRfdXNlcihieXRlLCAodTggX191c2VyICop YnVmKTsKIAkJaWYgKGVycikKIAkJCWJyZWFrOwotCQllcnIgPSBwY2lfd3JpdGVfY29uZmln X2J5dGUoZGV2LCBvZmYsIGJ5dGUpOworCQllcnIgPSBwY2lfdXNlcl93cml0ZV9jb25maWdf Ynl0ZShkZXYsIG9mZiwgYnl0ZSk7CiAJCWlmIChlcnIgIT0gUENJQklPU19TVUNDRVNTRlVM KQogCQkJZXJyID0gLUVJTzsKIAkJYnJlYWs7CkBAIC0xMjEsNyArMTIxLDcgQEAgc3lzX3Bj aWNvbmZpZ193cml0ZSh1bnNpZ25lZCBsb25nIGJ1cywgdQogCQllcnIgPSBnZXRfdXNlcih3 b3JkLCAodTE2IF9fdXNlciAqKWJ1Zik7CiAJCWlmIChlcnIpCiAJCQlicmVhazsKLQkJZXJy ID0gcGNpX3dyaXRlX2NvbmZpZ193b3JkKGRldiwgb2ZmLCB3b3JkKTsKKwkJZXJyID0gcGNp X3VzZXJfd3JpdGVfY29uZmlnX3dvcmQoZGV2LCBvZmYsIHdvcmQpOwogCQlpZiAoZXJyICE9 IFBDSUJJT1NfU1VDQ0VTU0ZVTCkKIAkJCWVyciA9IC1FSU87CiAJCWJyZWFrOwpAQCAtMTMw LDcgKzEzMCw3IEBAIHN5c19wY2ljb25maWdfd3JpdGUodW5zaWduZWQgbG9uZyBidXMsIHUK IAkJZXJyID0gZ2V0X3VzZXIoZHdvcmQsICh1MzIgX191c2VyICopYnVmKTsKIAkJaWYgKGVy cikKIAkJCWJyZWFrOwotCQllcnIgPSBwY2lfd3JpdGVfY29uZmlnX2R3b3JkKGRldiwgb2Zm LCBkd29yZCk7CisJCWVyciA9IHBjaV91c2VyX3dyaXRlX2NvbmZpZ19kd29yZChkZXYsIG9m ZiwgZHdvcmQpOwogCQlpZiAoZXJyICE9IFBDSUJJT1NfU1VDQ0VTU0ZVTCkKIAkJCWVyciA9 IC1FSU87CiAJCWJyZWFrOwpkaWZmIC1wdU4gaW5jbHVkZS9saW51eC9wY2kuaH5wY2lfYmxv Y2tfdXNlcl9jb25maWdfaW9fZHVyaW5nX2Jpc3RfYWdhaW4gaW5jbHVkZS9saW51eC9wY2ku aAotLS0gbGludXgtMi42L2luY2x1ZGUvbGludXgvcGNpLmh+cGNpX2Jsb2NrX3VzZXJfY29u ZmlnX2lvX2R1cmluZ19iaXN0X2FnYWluCTIwMDUtMDgtMjIgMTc6MDA6MjEuMDAwMDAwMDAw IC0wNTAwCisrKyBsaW51eC0yLjYtYmpraW5nMS9pbmNsdWRlL2xpbnV4L3BjaS5oCTIwMDUt MDgtMjIgMTc6MDA6NDEuMDAwMDAwMDAwIC0wNTAwCkBAIC01NTcsNiArNTU3LDcgQEAgc3Ry dWN0IHBjaV9kZXYgewogCXVuc2lnbmVkIGludAlpc19lbmFibGVkOjE7CS8qIHBjaV9lbmFi bGVfZGV2aWNlIGhhcyBiZWVuIGNhbGxlZCAqLwogCXVuc2lnbmVkIGludAlpc19idXNtYXN0 ZXI6MTsgLyogZGV2aWNlIGlzIGJ1c21hc3RlciAqLwogCXVuc2lnbmVkIGludAlub19tc2k6 MTsJLyogZGV2aWNlIG1heSBub3QgdXNlIG1zaSAqLworCXVuc2lnbmVkIGludAlibG9ja191 Y2ZnX2FjY2VzczoxOwkvKiB1c2Vyc3BhY2UgY29uZmlnIHNwYWNlIGFjY2VzcyBpcyBibG9j a2VkICovCiAKIAl1MzIJCXNhdmVkX2NvbmZpZ19zcGFjZVsxNl07IC8qIGNvbmZpZyBzcGFj ZSBzYXZlZCBhdCBzdXNwZW5kIHRpbWUgKi8KIAlzdHJ1Y3QgYmluX2F0dHJpYnV0ZSAqcm9t X2F0dHI7IC8qIGF0dHJpYnV0ZSBkZXNjcmlwdG9yIGZvciBzeXNmcyBST00gZW50cnkgKi8K QEAgLTkxMiw2ICs5MTMsOCBAQCBleHRlcm4gdm9pZCBwY2lfZGlzYWJsZV9tc2l4KHN0cnVj dCBwY2lfCiBleHRlcm4gdm9pZCBtc2lfcmVtb3ZlX3BjaV9pcnFfdmVjdG9ycyhzdHJ1Y3Qg cGNpX2RldiAqZGV2KTsKICNlbmRpZgogCitleHRlcm4gdm9pZCBwY2lfYmxvY2tfdXNlcl9j ZmdfYWNjZXNzKHN0cnVjdCBwY2lfZGV2ICpkZXYpOworZXh0ZXJuIHZvaWQgcGNpX3VuYmxv Y2tfdXNlcl9jZmdfYWNjZXNzKHN0cnVjdCBwY2lfZGV2ICpkZXYpOwogI2VuZGlmIC8qIENP TkZJR19QQ0kgKi8KIAogLyogSW5jbHVkZSBhcmNoaXRlY3R1cmUtZGVwZW5kZW50IHNldHRp bmdzIGFuZCBmdW5jdGlvbnMgKi8KQEAgLTk2Miw2ICs5NjUsOCBAQCBzdGF0aWMgaW5saW5l IHZvaWQgcGNpX3VucmVnaXN0ZXJfZHJpdmVyCiBzdGF0aWMgaW5saW5lIGludCBwY2lfZmlu ZF9jYXBhYmlsaXR5IChzdHJ1Y3QgcGNpX2RldiAqZGV2LCBpbnQgY2FwKSB7cmV0dXJuIDA7 IH0KIHN0YXRpYyBpbmxpbmUgaW50IHBjaV9maW5kX2V4dF9jYXBhYmlsaXR5IChzdHJ1Y3Qg cGNpX2RldiAqZGV2LCBpbnQgY2FwKSB7cmV0dXJuIDA7IH0KIHN0YXRpYyBpbmxpbmUgY29u c3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgKnBjaV9tYXRjaF9kZXZpY2UoY29uc3Qgc3RydWN0 IHBjaV9kZXZpY2VfaWQgKmlkcywgY29uc3Qgc3RydWN0IHBjaV9kZXYgKmRldikgeyByZXR1 cm4gTlVMTDsgfQorc3RhdGljIGlubGluZSB2b2lkIHBjaV9ibG9ja191c2VyX2NmZ19hY2Nl c3Moc3RydWN0IHBjaV9kZXYgKmRldikgeyB9CitzdGF0aWMgaW5saW5lIHZvaWQgcGNpX3Vu YmxvY2tfdXNlcl9jZmdfYWNjZXNzKHN0cnVjdCBwY2lfZGV2ICpkZXYpIHsgfQogCiAvKiBQ b3dlciBtYW5hZ2VtZW50IHJlbGF0ZWQgcm91dGluZXMgKi8KIHN0YXRpYyBpbmxpbmUgaW50 IHBjaV9zYXZlX3N0YXRlKHN0cnVjdCBwY2lfZGV2ICpkZXYpIHsgcmV0dXJuIDA7IH0KZGlm ZiAtcHVOIGRyaXZlcnMvcGNpL3BjaS5ofnBjaV9ibG9ja191c2VyX2NvbmZpZ19pb19kdXJp bmdfYmlzdF9hZ2FpbiBkcml2ZXJzL3BjaS9wY2kuaAotLS0gbGludXgtMi42L2RyaXZlcnMv cGNpL3BjaS5ofnBjaV9ibG9ja191c2VyX2NvbmZpZ19pb19kdXJpbmdfYmlzdF9hZ2Fpbgky MDA1LTA4LTIyIDE3OjAwOjIxLjAwMDAwMDAwMCAtMDUwMAorKysgbGludXgtMi42LWJqa2lu ZzEvZHJpdmVycy9wY2kvcGNpLmgJMjAwNS0wOC0yMiAxNzowMDoyMS4wMDAwMDAwMDAgLTA1 MDAKQEAgLTE1LDYgKzE1LDEzIEBAIGV4dGVybiBpbnQgcGNpX2J1c19hbGxvY19yZXNvdXJj ZShzdHJ1Y3QKIGV4dGVybiBpbnQgKCpwbGF0Zm9ybV9wY2lfY2hvb3NlX3N0YXRlKShzdHJ1 Y3QgcGNpX2RldiAqZGV2LCBwbV9tZXNzYWdlX3Qgc3RhdGUpOwogZXh0ZXJuIGludCAoKnBs YXRmb3JtX3BjaV9zZXRfcG93ZXJfc3RhdGUpKHN0cnVjdCBwY2lfZGV2ICpkZXYsIHBjaV9w b3dlcl90IHN0YXRlKTsKIAorZXh0ZXJuIGludCBwY2lfdXNlcl9yZWFkX2NvbmZpZ19ieXRl KHN0cnVjdCBwY2lfZGV2ICpkZXYsIGludCB3aGVyZSwgdTggKnZhbCk7CitleHRlcm4gaW50 IHBjaV91c2VyX3JlYWRfY29uZmlnX3dvcmQoc3RydWN0IHBjaV9kZXYgKmRldiwgaW50IHdo ZXJlLCB1MTYgKnZhbCk7CitleHRlcm4gaW50IHBjaV91c2VyX3JlYWRfY29uZmlnX2R3b3Jk KHN0cnVjdCBwY2lfZGV2ICpkZXYsIGludCB3aGVyZSwgdTMyICp2YWwpOworZXh0ZXJuIGlu dCBwY2lfdXNlcl93cml0ZV9jb25maWdfYnl0ZShzdHJ1Y3QgcGNpX2RldiAqZGV2LCBpbnQg d2hlcmUsIHU4IHZhbCk7CitleHRlcm4gaW50IHBjaV91c2VyX3dyaXRlX2NvbmZpZ193b3Jk KHN0cnVjdCBwY2lfZGV2ICpkZXYsIGludCB3aGVyZSwgdTE2IHZhbCk7CitleHRlcm4gaW50 IHBjaV91c2VyX3dyaXRlX2NvbmZpZ19kd29yZChzdHJ1Y3QgcGNpX2RldiAqZGV2LCBpbnQg d2hlcmUsIHUzMiB2YWwpOworCiAvKiBQQ0kgL3Byb2MgZnVuY3Rpb25zICovCiAjaWZkZWYg Q09ORklHX1BST0NfRlMKIGV4dGVybiBpbnQgcGNpX3Byb2NfYXR0YWNoX2RldmljZShzdHJ1 Y3QgcGNpX2RldiAqZGV2KTsKXwo= --------------060005050604000407090005--