From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1161483AbXD2WAq (ORCPT ); Sun, 29 Apr 2007 18:00:46 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1161490AbXD2WAq (ORCPT ); Sun, 29 Apr 2007 18:00:46 -0400 Received: from anchor-post-34.mail.demon.net ([194.217.242.92]:4025 "EHLO anchor-post-34.mail.demon.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1161480AbXD2WAh (ORCPT ); Sun, 29 Apr 2007 18:00:37 -0400 X-Greylist: delayed 110915 seconds by postgrey-1.27 at vger.kernel.org; Sun, 29 Apr 2007 18:00:36 EDT Date: Sun, 29 Apr 2007 23:00:29 +0100 (BST) From: Mark Fortescue To: David Miller cc: wli@holomorphy.com, linux-kernel@vger.kernel.org, sparclinux@vger.kernel.org, linux-serial@vger.kernel.org Subject: Re: [TESTING NEEDED] drivers/serial/sunzilog: Interrupt enable before ISR handler installed In-Reply-To: <20070428.210147.111207684.davem@davemloft.net> Message-ID: References: <20070428.210147.111207684.davem@davemloft.net> MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="1750305931-1222026540-1177884029=:1747" Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --1750305931-1222026540-1177884029=:1747 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed I have altered the patch as advised and I have attached it to prevent my email client from making a mess of it. The attached patch changes the interrupt enable sequence for the sunzilog driver so that interrupts are not enabled untill after the interrupt handler has been installed. If this is not done, some SS1 and SS2 sun4c systems panic on un-handled interrupt before the handler gets installed preventing boot. It also adds in support for the ESCC version of the zilog chips. The ESCC detection works but the FIFO enable may cause issues with modem and receive character status. My interpretation of the SCC manual and the code is that it sould be OK. --- Regards Mark Fortescue. --1750305931-1222026540-1177884029=:1747 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="sunzilog.patch" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename="sunzilog.patch" ZGlmZiAtcnVOcGQgbGludXgtMi42LjIwLjkvZHJpdmVycy9zZXJpYWwvc3Vu emlsb2cuYyBsaW51eC10ZXN0L2RyaXZlcnMvc2VyaWFsL3N1bnppbG9nLmMN Ci0tLSBsaW51eC0yLjYuMjAuOS9kcml2ZXJzL3NlcmlhbC9zdW56aWxvZy5j CTIwMDctMDQtMjggMTU6MDI6MzkuMDAwMDAwMDAwICswMTAwDQorKysgbGlu dXgtdGVzdC9kcml2ZXJzL3NlcmlhbC9zdW56aWxvZy5jCTIwMDctMDQtMjgg MTQ6NTQ6NDkuMDAwMDAwMDAwICswMTAwDQpAQCAtOTMsNiArMTAwLDggQEAg c3RydWN0IHVhcnRfc3Vuemlsb2dfcG9ydCB7DQogI2RlZmluZSBTVU5aSUxP R19GTEFHX1JFR1NfSEVMRAkJMHgwMDAwMDA0MA0KICNkZWZpbmUgU1VOWklM T0dfRkxBR19UWF9TVE9QUEVECTB4MDAwMDAwODANCiAjZGVmaW5lIFNVTlpJ TE9HX0ZMQUdfVFhfQUNUSVZFCQkweDAwMDAwMTAwDQorI2RlZmluZSBTVU5a SUxPR19GTEFHX0VTQ0MJCTB4MDAwMDAyMDANCisjZGVmaW5lIFNVTlpJTE9H X0ZMQUdfSVNSX0hBTkRMRVIJMHgwMDAwMDQwMA0KIA0KIAl1bnNpZ25lZCBp bnQgY2ZsYWc7DQogDQpAQCAtMTc1LDkgKzE4NCwxMSBAQCBzdGF0aWMgdm9p ZCBzdW56aWxvZ19jbGVhcl9maWZvKHN0cnVjdCB6DQogLyogVGhpcyBmdW5j dGlvbiBtdXN0IG9ubHkgYmUgY2FsbGVkIHdoZW4gdGhlIFRYIGlzIG5vdCBi dXN5LiAgVGhlIFVBUlQNCiAgKiBwb3J0IGxvY2sgbXVzdCBiZSBoZWxkIGFu ZCBsb2NhbCBpbnRlcnJ1cHRzIGRpc2FibGVkLg0KICAqLw0KLXN0YXRpYyB2 b2lkIF9fbG9hZF96c3JlZ3Moc3RydWN0IHppbG9nX2NoYW5uZWwgX19pb21l bSAqY2hhbm5lbCwgdW5zaWduZWQgY2hhciAqcmVncykNCitzdGF0aWMgaW50 IF9fbG9hZF96c3JlZ3Moc3RydWN0IHppbG9nX2NoYW5uZWwgX19pb21lbSAq Y2hhbm5lbCwgdW5zaWduZWQgY2hhciAqcmVncykNCiB7DQogCWludCBpOw0K KwlpbnQgZXNjYzsNCisJdW5zaWduZWQgY2hhciByMTU7DQogDQogCS8qIExl dCBwZW5kaW5nIHRyYW5zbWl0cyBmaW5pc2guICAqLw0KIAlmb3IgKGkgPSAw OyBpIDwgMTAwMDsgaSsrKSB7DQpAQCAtMjMwLDExICsyNDEsMjUgQEAgc3Rh dGljIHZvaWQgX19sb2FkX3pzcmVncyhzdHJ1Y3Qgemlsb2dfYw0KIAl3cml0 ZV96c3JlZyhjaGFubmVsLCBSMTQsIHJlZ3NbUjE0XSk7DQogDQogCS8qIEV4 dGVybmFsIHN0YXR1cyBpbnRlcnJ1cHQgY29udHJvbC4gICovDQotCXdyaXRl X3pzcmVnKGNoYW5uZWwsIFIxNSwgcmVnc1tSMTVdKTsNCisJd3JpdGVfenNy ZWcoY2hhbm5lbCwgUjE1LCAocmVnc1tSMTVdIHwgV1I3cEVOKSAmIH5GSUZP RU4pOw0KKw0KKwkvKiBFU0NDIEV4dGVuc2lvbiBSZWdpc3RlciAqLw0KKwly MTUgPSByZWFkX3pzcmVnKGNoYW5uZWwsIFIxNSk7DQorCWlmIChyMTUgJiAw eDAxKQl7DQorCQl3cml0ZV96c3JlZyhjaGFubmVsLCBSNywgIHJlZ3NbUjdw XSk7DQorDQorCQkvKiBFeHRlcm5hbCBzdGF0dXMgaW50ZXJydXB0IGFuZCBG SUZPIGNvbnRyb2wuICAqLw0KKwkJd3JpdGVfenNyZWcoY2hhbm5lbCwgUjE1 LCByZWdzW1IxNV0gJiB+V1I3cEVOKTsNCisJCWVzY2MgPSAxOw0KKwl9IGVs c2Ugew0KKwkJIC8qIENsZWFyIEZJRk8gYml0IGNhc2UgaXQgaXMgYW4gaXNz dWUgKi8NCisJCXJlZ3NbUjE1XSAmPSB+RklGT0VOOw0KKwkJZXNjYyA9IDA7 DQorCX0NCiANCiAJLyogUmVzZXQgZXh0ZXJuYWwgc3RhdHVzIGludGVycnVw dHMuICAqLw0KLQl3cml0ZV96c3JlZyhjaGFubmVsLCBSMCwgUkVTX0VYVF9J TlQpOw0KLQl3cml0ZV96c3JlZyhjaGFubmVsLCBSMCwgUkVTX0VYVF9JTlQp Ow0KKwl3cml0ZV96c3JlZyhjaGFubmVsLCBSMCwgUkVTX0VYVF9JTlQpOyAv KiBGaXJzdCBMYXRjaCAgKi8NCisJd3JpdGVfenNyZWcoY2hhbm5lbCwgUjAs IFJFU19FWFRfSU5UKTsgLyogU2Vjb25kIExhdGNoICovDQogDQogCS8qIFJl d3JpdGUgUjMvUjUsIHRoaXMgdGltZSB3aXRob3V0IGVuYWJsZXMgbWFza2Vk LiAgKi8NCiAJd3JpdGVfenNyZWcoY2hhbm5lbCwgUjMsIHJlZ3NbUjNdKTsN CkBAIC0yNDIsNiArMjY3LDggQEAgc3RhdGljIHZvaWQgX19sb2FkX3pzcmVn cyhzdHJ1Y3Qgemlsb2dfYw0KIA0KIAkvKiBSZXdyaXRlIFIxLCB0aGlzIHRp bWUgd2l0aG91dCBJUlEgZW5hYmxlZCBtYXNrZWQuICAqLw0KIAl3cml0ZV96 c3JlZyhjaGFubmVsLCBSMSwgcmVnc1tSMV0pOw0KKw0KKwlyZXR1cm4gZXNj YzsNCiB9DQogDQogLyogUmVwcm9ncmFtIHRoZSBaaWxvZyBjaGFubmVsIEhX IHJlZ2lzdGVycyB3aXRoIHRoZSBjb3BpZXMgZm91bmQgaW4gdGhlDQpAQCAt NzMyLDcgKzc1OSw3IEBAIHN0YXRpYyB2b2lkIHN1bnppbG9nX2VuYWJsZV9t cyhzdHJ1Y3QgdWENCiAJCXVwLT5jdXJyZWdzW1IxNV0gPSBuZXdfcmVnOw0K IA0KIAkJLyogTk9URTogTm90IHN1YmplY3QgdG8gJ3RyYW5zbWl0dGVyIGFj dGl2ZScgcnVsZS4gICovIA0KLQkJd3JpdGVfenNyZWcoY2hhbm5lbCwgUjE1 LCB1cC0+Y3VycmVnc1tSMTVdKTsNCisJCXdyaXRlX3pzcmVnKGNoYW5uZWws IFIxNSwgdXAtPmN1cnJlZ3NbUjE1XSAmIH5XUjdwRU4pOw0KIAl9DQogfQ0K IA0KQEAgLTg2Miw0NCArODg5LDQ0IEBAIHN1bnppbG9nX2NvbnZlcnRfdG9f enMoc3RydWN0IHVhcnRfc3VuemkNCiAJdXAtPmN1cnJlZ3NbUjE0XSA9IEJS U1JDIHwgQlJFTkFCOw0KIA0KIAkvKiBDaGFyYWN0ZXIgc2l6ZSwgc3RvcCBi aXRzLCBhbmQgcGFyaXR5LiAqLw0KLQl1cC0+Y3VycmVnc1szXSAmPSB+UnhO X01BU0s7DQotCXVwLT5jdXJyZWdzWzVdICY9IH5UeE5fTUFTSzsNCisJdXAt PmN1cnJlZ3NbUjNdICY9IH5SeE5fTUFTSzsNCisJdXAtPmN1cnJlZ3NbUjVd ICY9IH5UeE5fTUFTSzsNCiAJc3dpdGNoIChjZmxhZyAmIENTSVpFKSB7DQog CWNhc2UgQ1M1Og0KLQkJdXAtPmN1cnJlZ3NbM10gfD0gUng1Ow0KLQkJdXAt PmN1cnJlZ3NbNV0gfD0gVHg1Ow0KKwkJdXAtPmN1cnJlZ3NbUjNdIHw9IFJ4 NTsNCisJCXVwLT5jdXJyZWdzW1I1XSB8PSBUeDU7DQogCQl1cC0+cGFyaXR5 X21hc2sgPSAweDFmOw0KIAkJYnJlYWs7DQogCWNhc2UgQ1M2Og0KLQkJdXAt PmN1cnJlZ3NbM10gfD0gUng2Ow0KLQkJdXAtPmN1cnJlZ3NbNV0gfD0gVHg2 Ow0KKwkJdXAtPmN1cnJlZ3NbUjNdIHw9IFJ4NjsNCisJCXVwLT5jdXJyZWdz W1I1XSB8PSBUeDY7DQogCQl1cC0+cGFyaXR5X21hc2sgPSAweDNmOw0KIAkJ YnJlYWs7DQogCWNhc2UgQ1M3Og0KLQkJdXAtPmN1cnJlZ3NbM10gfD0gUng3 Ow0KLQkJdXAtPmN1cnJlZ3NbNV0gfD0gVHg3Ow0KKwkJdXAtPmN1cnJlZ3Nb UjNdIHw9IFJ4NzsNCisJCXVwLT5jdXJyZWdzW1I1XSB8PSBUeDc7DQogCQl1 cC0+cGFyaXR5X21hc2sgPSAweDdmOw0KIAkJYnJlYWs7DQogCWNhc2UgQ1M4 Og0KIAlkZWZhdWx0Og0KLQkJdXAtPmN1cnJlZ3NbM10gfD0gUng4Ow0KLQkJ dXAtPmN1cnJlZ3NbNV0gfD0gVHg4Ow0KKwkJdXAtPmN1cnJlZ3NbUjNdIHw9 IFJ4ODsNCisJCXVwLT5jdXJyZWdzW1I1XSB8PSBUeDg7DQogCQl1cC0+cGFy aXR5X21hc2sgPSAweGZmOw0KIAkJYnJlYWs7DQogCX07DQotCXVwLT5jdXJy ZWdzWzRdICY9IH4weDBjOw0KKwl1cC0+Y3VycmVnc1tSNF0gJj0gfjB4MGM7 DQogCWlmIChjZmxhZyAmIENTVE9QQikNCi0JCXVwLT5jdXJyZWdzWzRdIHw9 IFNCMjsNCisJCXVwLT5jdXJyZWdzW1I0XSB8PSBTQjI7DQogCWVsc2UNCi0J CXVwLT5jdXJyZWdzWzRdIHw9IFNCMTsNCisJCXVwLT5jdXJyZWdzW1I0XSB8 PSBTQjE7DQogCWlmIChjZmxhZyAmIFBBUkVOQikNCi0JCXVwLT5jdXJyZWdz WzRdIHw9IFBBUl9FTkFCOw0KKwkJdXAtPmN1cnJlZ3NbUjRdIHw9IFBBUl9F TkFCOw0KIAllbHNlDQotCQl1cC0+Y3VycmVnc1s0XSAmPSB+UEFSX0VOQUI7 DQorCQl1cC0+Y3VycmVnc1tSNF0gJj0gflBBUl9FTkFCOw0KIAlpZiAoIShj ZmxhZyAmIFBBUk9ERCkpDQotCQl1cC0+Y3VycmVnc1s0XSB8PSBQQVJfRVZF TjsNCisJCXVwLT5jdXJyZWdzW1I0XSB8PSBQQVJfRVZFTjsNCiAJZWxzZQ0K LQkJdXAtPmN1cnJlZ3NbNF0gJj0gflBBUl9FVkVOOw0KKwkJdXAtPmN1cnJl Z3NbUjRdICY9IH5QQVJfRVZFTjsNCiANCiAJdXAtPnBvcnQucmVhZF9zdGF0 dXNfbWFzayA9IFJ4X09WUjsNCiAJaWYgKGlmbGFnICYgSU5QQ0spDQpAQCAt OTUzLDcgKzk4MCw5IEBAIHN1bnppbG9nX3NldF90ZXJtaW9zKHN0cnVjdCB1 YXJ0X3BvcnQgKnANCiANCiBzdGF0aWMgY29uc3QgY2hhciAqc3Vuemlsb2df dHlwZShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQ0KIHsNCi0JcmV0dXJuICJ6 cyI7DQorCXN0cnVjdCB1YXJ0X3N1bnppbG9nX3BvcnQgKnVwID0gVUFSVF9a SUxPRyhwb3J0KTsNCisNCisJcmV0dXJuICh1cC0+ZmxhZ3MgJiBTVU5aSUxP R19GTEFHX0VTQ0MpID8gInpzIChFU0NDKSIgOiAienMiOw0KIH0NCiANCiAv KiBXZSBkbyBub3QgcmVxdWVzdC9yZWxlYXNlIG1hcHBpbmdzIG9mIHRoZSBy ZWdpc3RlcnMgaGVyZSwgdGhpcw0KQEAgLTExNzEsNyArMTIwMCw3IEBAIHN0 YXRpYyBpbnQgX19pbml0IHN1bnppbG9nX2NvbnNvbGVfc2V0dXANCiANCiAJ c3Bpbl9sb2NrX2lycXNhdmUoJnVwLT5wb3J0LmxvY2ssIGZsYWdzKTsNCiAN Ci0JdXAtPmN1cnJlZ3NbUjE1XSA9IEJSS0lFOw0KKwl1cC0+Y3VycmVnc1tS MTVdIHw9IEJSS0lFOw0KIAlzdW56aWxvZ19jb252ZXJ0X3RvX3pzKHVwLCBj b24tPmNmbGFnLCAwLCBicmcpOw0KIA0KIAlzdW56aWxvZ19zZXRfbWN0cmwo JnVwLT5wb3J0LCBUSU9DTV9EVFIgfCBUSU9DTV9SVFMpOw0KQEAgLTEyMzAs NyArMTI1OSw3IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBzdW56aWxvZ19pbml0 X2tiZG1zKHMNCiAJCWJhdWQgPSA0ODAwOw0KIAl9DQogDQotCXVwLT5jdXJy ZWdzW1IxNV0gPSBCUktJRTsNCisJdXAtPmN1cnJlZ3NbUjE1XSB8PSBCUktJ RTsNCiAJYnJnID0gQlBTX1RPX0JSRyhiYXVkLCBaU19DTE9DSyAvIFpTX0NM T0NLX0RJVklTT1IpOw0KIAlzdW56aWxvZ19jb252ZXJ0X3RvX3pzKHVwLCB1 cC0+Y2ZsYWcsIDAsIGJyZyk7DQogCXN1bnppbG9nX3NldF9tY3RybCgmdXAt PnBvcnQsIFRJT0NNX0RUUiB8IFRJT0NNX1JUUyk7DQpAQCAtMTI4NCw4ICsx MzEzLDE4IEBAIHN0YXRpYyB2b2lkIF9fZGV2aW5pdCBzdW56aWxvZ19pbml0 X2h3KHMNCiANCiAJaWYgKHVwLT5mbGFncyAmIChTVU5aSUxPR19GTEFHX0NP TlNfS0VZQiB8DQogCQkJIFNVTlpJTE9HX0ZMQUdfQ09OU19NT1VTRSkpIHsN CisJCXVwLT5jdXJyZWdzW1IxXSA9IEVYVF9JTlRfRU5BQiB8IElOVF9BTExf UnggfCBUeElOVF9FTkFCOw0KKwkJdXAtPmN1cnJlZ3NbUjRdID0gUEFSX0VW RU4gfCBYMTZDTEsgfCBTQjE7DQorCQl1cC0+Y3VycmVnc1tSM10gPSBSeEVO QUIgfCBSeDg7DQorCQl1cC0+Y3VycmVnc1tSNV0gPSBUeEVOQUIgfCBUeDg7 DQorCQl1cC0+Y3VycmVnc1tSNl0gPSAweDAwOyAvKiBTRExDIEFkZHJlc3Mg Ki8NCisJCXVwLT5jdXJyZWdzW1I3XSA9IDB4N0U7IC8qIFNETEMgRmxhZyAg ICAqLw0KKwkJdXAtPmN1cnJlZ3NbUjldID0gTlY7DQorCQl1cC0+Y3VycmVn c1tSN3BdID0gMHgwMDsNCiAJCXN1bnppbG9nX2luaXRfa2JkbXModXAsIHVw LT5wb3J0LmxpbmUpOw0KLQkJdXAtPmN1cnJlZ3NbUjldIHw9IChOViB8IE1J RSk7DQorCQkvKiBPbmx5IGVuYWJsZSBpbnRlcnJ1cHRzIGlmIGFuIElTUiBo YW5kbGVyIGF2YWlsYWJsZSAqLw0KKwkJaWYgKHVwLT5mbGFncyAmIFNVTlpJ TE9HX0ZMQUdfSVNSX0hBTkRMRVIpDQorCQkJdXAtPmN1cnJlZ3NbUjldIHw9 IE1JRTsNCiAJCXdyaXRlX3pzcmVnKGNoYW5uZWwsIFI5LCB1cC0+Y3VycmVn c1tSOV0pOw0KIAl9IGVsc2Ugew0KIAkJLyogTm9ybWFsIHNlcmlhbCBUVFku ICovDQpAQCAtMTI5NCw3ICsxMzMzLDkgQEAgc3RhdGljIHZvaWQgX19kZXZp bml0IHN1bnppbG9nX2luaXRfaHcocw0KIAkJdXAtPmN1cnJlZ3NbUjRdID0g UEFSX0VWRU4gfCBYMTZDTEsgfCBTQjE7DQogCQl1cC0+Y3VycmVnc1tSM10g PSBSeEVOQUIgfCBSeDg7DQogCQl1cC0+Y3VycmVnc1tSNV0gPSBUeEVOQUIg fCBUeDg7DQotCQl1cC0+Y3VycmVnc1tSOV0gPSBOViB8IE1JRTsNCisJCXVw LT5jdXJyZWdzW1I2XSA9IDB4MDA7IC8qIFNETEMgQWRkcmVzcyAqLw0KKwkJ dXAtPmN1cnJlZ3NbUjddID0gMHg3RTsgLyogU0RMQyBGbGFnICAgICovDQor CQl1cC0+Y3VycmVnc1tSOV0gPSBOVjsNCiAJCXVwLT5jdXJyZWdzW1IxMF0g PSBOUlo7DQogCQl1cC0+Y3VycmVnc1tSMTFdID0gVENCUiB8IFJDQlI7DQog CQliYXVkID0gOTYwMDsNCkBAIC0xMzAyLDcgKzEzNDMsMTQgQEAgc3RhdGlj IHZvaWQgX19kZXZpbml0IHN1bnppbG9nX2luaXRfaHcocw0KIAkJdXAtPmN1 cnJlZ3NbUjEyXSA9IChicmcgJiAweGZmKTsNCiAJCXVwLT5jdXJyZWdzW1Ix M10gPSAoYnJnID4+IDgpICYgMHhmZjsNCiAJCXVwLT5jdXJyZWdzW1IxNF0g PSBCUlNSQyB8IEJSRU5BQjsNCi0JCV9fbG9hZF96c3JlZ3MoY2hhbm5lbCwg dXAtPmN1cnJlZ3MpOw0KKwkJdXAtPmN1cnJlZ3NbUjE1XSA9IEZJRk9FTjsg LyogVXNlIEZJRk8gaWYgb24gRVNDQyAqLw0KKwkJdXAtPmN1cnJlZ3NbUjdw XSA9IFR4RklGT19MVkwgfCBSeEZJRk9fTFZMOw0KKwkJaWYgKF9fbG9hZF96 c3JlZ3MoY2hhbm5lbCwgdXAtPmN1cnJlZ3MpKSB7DQorCQkJdXAtPmZsYWdz IHw9IFNVTlpJTE9HX0ZMQUdfRVNDQzsNCisJCX0NCisJCS8qIE9ubHkgZW5h YmxlIGludGVycnVwdHMgaWYgYW4gSVNSIGhhbmRsZXIgYXZhaWxhYmxlICov DQorCQlpZiAodXAtPmZsYWdzICYgU1VOWklMT0dfRkxBR19JU1JfSEFORExF UikNCisJCQl1cC0+Y3VycmVnc1tSOV0gfD0gTUlFOw0KIAkJd3JpdGVfenNy ZWcoY2hhbm5lbCwgUjksIHVwLT5jdXJyZWdzW1I5XSk7DQogCX0NCiANCkBA IC0xMzkxLDEyICsxNDM5LDE0IEBAIHN0YXRpYyBpbnQgX19kZXZpbml0IHpz X3Byb2JlKHN0cnVjdCBvZl8NCiAJCQlyZXR1cm4gZXJyOw0KIAkJfQ0KIAl9 IGVsc2Ugew0KLQkJcHJpbnRrKEtFUk5fSU5GTyAiJXM6IEtleWJvYXJkIGF0 IE1NSU8gJWx4IChpcnEgPSAlZCkgIg0KLQkJICAgICAgICJpcyBhIHpzXG4i LA0KLQkJICAgICAgIG9wLT5kZXYuYnVzX2lkLCB1cFswXS5wb3J0Lm1hcGJh c2UsIG9wLT5pcnFzWzBdKTsNCi0JCXByaW50ayhLRVJOX0lORk8gIiVzOiBN b3VzZSBhdCBNTUlPICVseCAoaXJxID0gJWQpICINCi0JCSAgICAgICAiaXMg YSB6c1xuIiwNCi0JCSAgICAgICBvcC0+ZGV2LmJ1c19pZCwgdXBbMV0ucG9y dC5tYXBiYXNlLCBvcC0+aXJxc1swXSk7DQorCQlwcmludGsoS0VSTl9JTkZP ICIlczogS2V5Ym9hcmQgYXQgTU1JTyAweCVseCAoaXJxID0gJWQpICINCisJ CSAgICAgICAiaXMgYSAlc1xuIiwNCisJCSAgICAgICBvcC0+ZGV2LmJ1c19p ZCwgdXBbMF0ucG9ydC5tYXBiYXNlLCBvcC0+aXJxc1swXSwNCisJCSAgICAg ICBzdW56aWxvZ190eXBlICgmdXBbMF0ucG9ydCkpOw0KKwkJcHJpbnRrKEtF Uk5fSU5GTyAiJXM6IE1vdXNlIGF0IE1NSU8gMHglbHggKGlycSA9ICVkKSAi DQorCQkgICAgICAgImlzIGEgJXNcbiIsDQorCQkgICAgICAgb3AtPmRldi5i dXNfaWQsIHVwWzFdLnBvcnQubWFwYmFzZSwgb3AtPmlycXNbMF0sDQorCQkg ICAgICAgc3Vuemlsb2dfdHlwZSAoJnVwWzFdLnBvcnQpKTsNCiAJfQ0KIA0K IAlkZXZfc2V0X2RydmRhdGEoJm9wLT5kZXYsICZ1cFswXSk7DQpAQCAtMTQ4 OCwxMCArMTUzOCwyMyBAQCBzdGF0aWMgaW50IF9faW5pdCBzdW56aWxvZ19p bml0KHZvaWQpDQogCQlnb3RvIG91dF91bnJlZ2lzdGVyX3VhcnQ7DQogDQog CWlmICh6aWxvZ19pcnEgIT0gLTEpIHsNCisJCXN0cnVjdCB1YXJ0X3N1bnpp bG9nX3BvcnQgKnVwID0gc3Vuemlsb2dfaXJxX2NoYWluOw0KIAkJZXJyID0g cmVxdWVzdF9pcnEoemlsb2dfaXJxLCBzdW56aWxvZ19pbnRlcnJ1cHQsIElS UUZfU0hBUkVELA0KIAkJCQkgICJ6cyIsIHN1bnppbG9nX2lycV9jaGFpbik7 DQogCQlpZiAoZXJyKQ0KIAkJCWdvdG8gb3V0X3VucmVnaXN0ZXJfZHJpdmVy Ow0KKw0KKwkJLyogRW5hYmxlIEludGVycnVwdHMgKi8NCisJCXdoaWxlICh1 cCkgew0KKwkJCXN0cnVjdCB6aWxvZ19jaGFubmVsIF9faW9tZW0gKmNoYW5u ZWw7DQorDQorCQkJLyogcHJpbnRrIChLRVJOX0lORk8gIkVuYWJsZSBJUlEg Zm9yIFpJTE9HIEhhcmR3YXJlICVwXG4iLCB1cCk7ICovDQorCQkJY2hhbm5l bCAgICAgICAgICA9IFpJTE9HX0NIQU5ORUxfRlJPTV9QT1JUKCZ1cC0+cG9y dCk7DQorCQkJdXAtPmZsYWdzICAgICAgIHw9IFNVTlpJTE9HX0ZMQUdfSVNS X0hBTkRMRVI7DQorCQkJdXAtPmN1cnJlZ3NbUjldIHw9IE1JRTsNCisJCQl3 cml0ZV96c3JlZyhjaGFubmVsLCBSOSwgdXAtPmN1cnJlZ3NbUjldKTsNCisJ CQl1cCA9IHVwLT5uZXh0Ow0KKwkJfQ0KIAl9DQogDQogb3V0Og0KQEAgLTE1 MTYsNiArMTU3OSwyMCBAQCBzdGF0aWMgdm9pZCBfX2V4aXQgc3Vuemlsb2df ZXhpdCh2b2lkKQ0KIAlvZl91bnJlZ2lzdGVyX2RyaXZlcigmenNfZHJpdmVy KTsNCiANCiAJaWYgKHppbG9nX2lycSAhPSAtMSkgew0KKwkJc3RydWN0IHVh cnRfc3Vuemlsb2dfcG9ydCAqdXAgPSBzdW56aWxvZ19pcnFfY2hhaW47DQor DQorCQkvKiBEaXNhYmxlIEludGVycnVwdHMgKi8NCisJCXdoaWxlICh1cCkg ew0KKwkJCXN0cnVjdCB6aWxvZ19jaGFubmVsIF9faW9tZW0gKmNoYW5uZWw7 DQorDQorCQkJLyogcHJpbnRrIChLRVJOX0lORk8gIkRpc2FibGUgSVJRIGZv ciBaSUxPRyBIYXJkd2FyZSAlcFxuIiwgdXApOyAqLw0KKwkJCWNoYW5uZWwg ICAgICAgICAgPSBaSUxPR19DSEFOTkVMX0ZST01fUE9SVCgmdXAtPnBvcnQp Ow0KKwkJCXVwLT5mbGFncyAgICAgICAmPSB+U1VOWklMT0dfRkxBR19JU1Jf SEFORExFUjsNCisJCQl1cC0+Y3VycmVnc1tSOV0gJj0gfk1JRTsNCisJCQl3 cml0ZV96c3JlZyhjaGFubmVsLCBSOSwgdXAtPmN1cnJlZ3NbUjldKTsNCisJ CQl1cCA9IHVwLT5uZXh0Ow0KKwkJfQ0KKw0KIAkJZnJlZV9pcnEoemlsb2df aXJxLCBzdW56aWxvZ19pcnFfY2hhaW4pOw0KIAkJemlsb2dfaXJxID0gLTE7 DQogCX0NCmRpZmYgLXJ1TnBkIGxpbnV4LTIuNi4yMC45L2RyaXZlcnMvc2Vy aWFsL3N1bnppbG9nLmggbGludXgtdGVzdC9kcml2ZXJzL3NlcmlhbC9zdW56 aWxvZy5oDQotLS0gbGludXgtMi42LjIwLjkvZHJpdmVycy9zZXJpYWwvc3Vu emlsb2cuaAkyMDA0LTA4LTE0IDExOjU0OjQ2LjAwMDAwMDAwMCArMDEwMA0K KysrIGxpbnV4LXRlc3QvZHJpdmVycy9zZXJpYWwvc3Vuemlsb2cuaAkyMDA3 LTA0LTI4IDA0OjMxOjA0LjAwMDAwMDAwMCArMDEwMA0KQEAgLTEzLDcgKzEz LDggQEAgc3RydWN0IHppbG9nX2xheW91dCB7DQogCXN0cnVjdCB6aWxvZ19j aGFubmVsIGNoYW5uZWxBOw0KIH07DQogDQotI2RlZmluZSBOVU1fWlNSRUdT ICAgIDE2DQorI2RlZmluZQlOVU1fWlNSRUdTCTE3DQorI2RlZmluZQlSN3AJ CTE2IC8qIFdyaXR0ZW4gYXMgUjcgd2l0aCBQMTUgYml0IDAgc2V0ICovDQog DQogLyogQ29udmVyc2lvbiByb3V0aW5lcyB0by9mcm9tIGJyZyB0aW1lIGNv bnN0YW50cyBmcm9tL3RvIGJpdHMNCiAgKiBwZXIgc2Vjb25kLg0KQEAgLTEy Nyw2ICsxMjgsMTUgQEAgc3RydWN0IHppbG9nX2xheW91dCB7DQogDQogLyog V3JpdGUgUmVnaXN0ZXIgNyAoU3luYyBiaXRzIDgtMTUvU0RMQyAwMTExMTEx MCkgKi8NCiANCisvKiBXcml0ZSBSZWdpc3RlciA3JyAoRVNDQyBPbmx5KSAq Lw0KKyNkZWZpbmUJQVVUT19UeEZMQUcJMQkvKiBBdXRvbWF0aWMgVHggU0RM QyBGbGFnICovDQorI2RlZmluZQlBVVRPX0VPTV9SU1QJMgkvKiBBdXRvbWF0 aWMgRU9NIFJlc2V0ICovDQorI2RlZmluZQlBVVRPblJUUwk0CS8qIEF1dG9t YXRpYyAvUlRTIHBpbiBkZWFjdGl2YXRpb24gKi8NCisjZGVmaW5lCVJ4RklG T19MVkwJOAkvKiBSZWNlaXZlIEZJRk8gaW50ZXJydXB0IGxldmVsICovDQor I2RlZmluZQluRFRSblJFUQkweDEwCS8qIC9EVFIvUkVRIHRpbWluZyAqLw0K KyNkZWZpbmUJVHhGSUZPX0xWTAkweDIwCS8qIFRyYW5zbWl0IEZJRk8gaW50 ZXJydXB0IGxldmVsICovDQorI2RlZmluZQlFWFRfUkRfRU4JMHg0MAkvKiBF eHRlbmRlZCByZWFkIHJlZ2lzdGVyIGVuYWJsZSAqLw0KKw0KIC8qIFdyaXRl IFJlZ2lzdGVyIDggKHRyYW5zbWl0IGJ1ZmZlcikgKi8NCiANCiAvKiBXcml0 ZSBSZWdpc3RlciA5IChNYXN0ZXIgaW50ZXJydXB0IGNvbnRyb2wpICovDQpA QCAtMTM1LDYgKzE0NSw3IEBAIHN0cnVjdCB6aWxvZ19sYXlvdXQgew0KICNk ZWZpbmUJRExDCTQJLyogRGlzYWJsZSBMb3dlciBDaGFpbiAqLw0KICNkZWZp bmUJTUlFCTgJLyogTWFzdGVyIEludGVycnVwdCBFbmFibGUgKi8NCiAjZGVm aW5lCVNUQVRISQkweDEwCS8qIFN0YXR1cyBoaWdoICovDQorI2RlZmluZQlT V0lBQ0sgIDB4MjAgICAgLyogU29mdHdhcmUgSW50ZXJydXB0IEFjayAobm90 IG9uIE5NT1MpICovDQogI2RlZmluZQlOT1JFU0VUCTAJLyogTm8gcmVzZXQg b24gd3JpdGUgdG8gUjkgKi8NCiAjZGVmaW5lCUNIUkIJMHg0MAkvKiBSZXNl dCBjaGFubmVsIEIgKi8NCiAjZGVmaW5lCUNIUkEJMHg4MAkvKiBSZXNldCBj aGFubmVsIEEgKi8NCkBAIC0xODcsNyArMTk4LDkgQEAgc3RydWN0IHppbG9n X2xheW91dCB7DQogI2RlZmluZQlTTlJaSQkweGUwCS8qIFNldCBOUlpJIG1v ZGUgKi8NCiANCiAvKiBXcml0ZSBSZWdpc3RlciAxNSAoZXh0ZXJuYWwvc3Rh dHVzIGludGVycnVwdCBjb250cm9sKSAqLw0KKyNkZWZpbmUJV1I3cEVOCTEJ LyogV1I3JyBFbmFibGUgKEVTQ0Mgb25seSkgKi8NCiAjZGVmaW5lCVpDSUUJ MgkvKiBaZXJvIGNvdW50IElFICovDQorI2RlZmluZQlGSUZPRU4JNAkvKiBG SUZPIEVuYWJsZSAoRVNDQyBvbmx5KSAqLw0KICNkZWZpbmUJRENESUUJOAkv KiBEQ0QgSUUgKi8NCiAjZGVmaW5lCVNZTkNJRQkweDEwCS8qIFN5bmMvaHVu dCBJRSAqLw0KICNkZWZpbmUJQ1RTSUUJMHgyMAkvKiBDVFMgSUUgKi8NCkBA IC0yNDEsNiArMjU0LDEwIEBAIHN0cnVjdCB6aWxvZ19sYXlvdXQgew0KICNk ZWZpbmUJQ0hBVHhJUAkweDEwCQkvKiBDaGFubmVsIEEgVHggSVAgKi8NCiAj ZGVmaW5lCUNIQVJ4SVAJMHgyMAkJLyogQ2hhbm5lbCBBIFJ4IElQICovDQog DQorLyogUmVhZCBSZWdpc3RlciA2IChMU0IgZnJhbWUgYnl0ZSBjb3VudCBb Tm90IG9uIE5NT1NdKSAqLw0KKw0KKy8qIFJlYWQgUmVnaXN0ZXIgNyAoTVNC IGZyYW1lIGJ5dGUgY291bnQgYW5kIEZJRk8gc3RhdHVzIFtOb3Qgb24gTk1P U10pICovDQorDQogLyogUmVhZCBSZWdpc3RlciA4IChyZWNlaXZlIGRhdGEg cmVnaXN0ZXIpICovDQogDQogLyogUmVhZCBSZWdpc3RlciAxMCAgKG1pc2Mg c3RhdHVzIGJpdHMpICovDQo= --1750305931-1222026540-1177884029=:1747--