Messages in this thread | | | Date | Tue, 19 Mar 1996 18:51:10 +0700 (GMT+0700) | From | Arwi <> | Subject | CPU suspend when running X ..? |
| |
Hi..all
I have problem when running X-Window Why my system (Pentium witFrom owner-linux-kernel-outgoing@vger.rutgers.edu Tue Mar 19 07:15:44 1996 Received: from orchard.washtenaw.cc.mi.us (orchard.washtenaw.cc.mi.us [198.111.176.4]) by herbie.ucs.indiana.edu (8.6.12/8.6.12) with ESMTP id HAA01180 for <linuxkernel@herbie.ucs.indiana.edu>; Tue, 19 Mar 1996 07:15:43 -0500 Received: from vger.rutgers.edu by orchard.washtenaw.cc.mi.us (8.6.10/2.3) with ESMTP id HAA00368; Tue, 19 Mar 1996 07:14:06 -0500 Received: by vger.rutgers.edu id <105641-19189>; Tue, 19 Mar 1996 07:07:23 -0500 Date: Tue, 19 Mar 1996 12:01:24 +0100 (MET) From: Giuseppe Ciaccio <ciaccio@hobbes.disi.unige.it> To: linux kernel developers <linux-kernel@vger.rutgers.edu> cc: andrew@inweb.co.uk, becker@cesdis.gfsc.nasa.gov.disi.unige.it Subject: 3c59x driver: Patch for "transmit timed out" and other things. Message-ID: <Pine.LNX.3.91.960319113651.363A-200000@hobbes> MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="-75343811-256057862-827233284=:363" Sender: owner-linux-kernel@vger.rutgers.edu Precedence: bulk
This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info.
---75343811-256057862-827233284=:363 Content-Type: TEXT/PLAIN; charset=US-ASCII
Working with both 3c590 and 3c595 ethercards, I detected two problems:
1) During FTP transmissions of bulky files, the message "transmit timed out" appeared, and the transmission was blocked.
2) Having installed both the cards, the driver detected the 3c590 card only, regardless of having put 'append = "ether=0,0,eth1"' in /etc/lilo.conf to force the detection of a further ethercard.
Here follows a patch for the "Vortex" driver for 3c590/3c595 ethercards. With this patch, everything works properly (at least, it seems to).
There are two releases of 3c590 cards: 8K buffer and 32K buffers. The patched driver has shown a significant, though not tragic, loss of performance with cards of the former type. To understand why, please read the comments in the patch.
This is my first attempt to patch something in Linux, I hope the followed procedure is OK. Apologies for poor English and/or protocol violation.
Regards >>>>>> ( @ @ ) |-------------------------oOOo-(____)-oOOo--------------------------| | | | Giuseppe Ciaccio E-mail, Finger: ciaccio@disi.unige.it | | Please use "finger" to get phone numbers, addresses, etc. | |-------------------------------------------------------------------| | Sex is not the answer; sex is the question. "Yes" is the answer! | |-------------------------------------------------------------------| || || oooO Oooo ---75343811-256057862-827233284=:363 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=3c59xpatch Content-Transfer-Encoding: BASE64 Content-ID: <Pine.LNX.3.91.960319120124.363B@hobbes> Content-Description:
LS0tIDNjNTl4b2xkLmMJVGh1IE1hciAxNCAxNTowMToxNSAxOTk2DQorKysg M2M1OXhuZXcuYwlUdWUgTWFyIDE5IDExOjI5OjA3IDE5OTYNCkBAIC0yLDYg KzIsOCBAQA0KIC8qDQogCVdyaXR0ZW4gMTk5NSBieSBEb25hbGQgQmVja2Vy Lg0KIA0KKwlSZXZpc2VkIDMvMTkvMTk5NiBieSBHaXVzZXBwZSBDaWFjY2lv ICBjaWFjY2lvQGRpc2kudW5pZ2UuaXQNCisNCiAJVGhpcyBzb2Z0d2FyZSBt YXkgYmUgdXNlZCBhbmQgZGlzdHJpYnV0ZWQgYWNjb3JkaW5nIHRvIHRoZSB0 ZXJtcw0KIAlvZiB0aGUgR05VIFB1YmxpYyBMaWNlbnNlLCBpbmNvcnBvcmF0 ZWQgaGVyZWluIGJ5IHJlZmVyZW5jZS4NCiANCkBAIC0xNCw3ICsxNiw3IEBA DQogCSAgIENvZGUgOTMwLjUsIEdvZGRhcmQgU3BhY2UgRmxpZ2h0IENlbnRl ciwgR3JlZW5iZWx0IE1EIDIwNzcxDQogKi8NCiANCi1zdGF0aWMgY2hhciAq dmVyc2lvbiA9ICIzYzU5eC5jOnYwLjEzIDIvMTMvOTYgYmVja2VyQGNlc2Rp cy5nc2ZjLm5hc2EuZ292XG4iOw0KK3N0YXRpYyBjaGFyICp2ZXJzaW9uID0g IjNjNTl4LmM6djAuMTMgMi8xMy85NiBiZWNrZXJAY2VzZGlzLmdzZmMubmFz YS5nb3ZcbnJldmlzZWQ6ICAgICAgMy8xOS85NiBjaWFjY2lvQGRpc2kudW5p Z2UuaXRcbiI7DQogDQogLyogIktub2JzIiB0aGF0IHR1cm4gb24gc3BlY2lh bCBmZWF0dXJlcy4gKi8NCiAvKiBBbGxvdyB0aGUgdXNlIG9mIGJ1cyBtYXN0 ZXIgdHJhbnNmZXJzIGluc3RlYWQgb2YgcHJvZ3JhbW1lZC1JL08gZm9yIHRo ZQ0KQEAgLTI1LDYgKzI3LDE4IEBADQogLyogUHV0IG91dCBzb21ld2hhdCBt b3JlIGRlYnVnZ2luZyBtZXNzYWdlcy4gKDAgLSBubyBtc2csIDEgbWluaW1h bCBtc2dzKS4gKi8NCiAjZGVmaW5lIFZPUlRFWF9ERUJVRyAxDQogDQorDQor LyogIFNvbWV0aW1lcyBpdCBpcyBzYWZlIHRvIHdhaXQgYSBtb21lbnQuLi4g ICovDQorI2RlZmluZSBXQUlUX0xBUFNFIDIwDQorI2RlZmluZSBMT05HX1dB SVRfTEFQU0UgMjAwDQorI2RlZmluZSBXQUlUX1RYX0FWQUlMIDIwMA0KKyNk ZWZpbmUgTUFYX1RJQ0tTX1NPX0ZBUiA0MA0KKw0KKw0KKy8qICBNYXggcGFj a2V0IHNpemUgaXMgMTUzNiwgYnV0IGNhbiBjaGFuZ2UgaW4gdGhlIGZ1dHVy ZS4uLiAgKi8NCisjZGVmaW5lIE1BWF9QQUNLRVRfU0laRSAxNTM2DQorDQor DQogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPg0KIA0KICNpbmNsdWRlIDxs aW51eC9rZXJuZWwuaD4NCkBAIC02Niw3ICs4MCwxMSBAQA0KIGludCB2b3J0 ZXhfZGVidWcgPSAxOw0KICNlbmRpZg0KIA0KLXN0YXRpYyBpbnQgcHJvZHVj dF9pZHNbXSA9IHsweDU5MDAsIDB4NTk1MCwgMHg1OTUxLCAweDU5NTIsIDAs IDB9Ow0KKy8qICBUaGVzZSBhcmUgZm9yIFBDSSBvbmx5ICAqLw0KK3N0YXRp YyBpbnQgcHJvZHVjdF9pZHNbXSA9IHsweDU5MDAsIDB4NTk1MCwgMHg1OTUx LCAweDU5NTIsIDB9Ow0KKyNkZWZpbmUgSE9XX01BTllfUENJX1BST0RVQ1RT IDQNCisNCisvKiAgVGhlc2UgYXJlIGZvciBib3RoIFBDSSBhbmQgRUlTQSAg Ki8NCiBzdGF0aWMgY29uc3QgY2hhciAqcHJvZHVjdF9uYW1lc1tdID0gew0K IAkiM2M1OTAgVm9ydGV4IDEwTWJwcyIsDQogCSIzYzU5NSBWb3J0ZXggMTAw YmFzZVRYIiwNCkBAIC03NCw3ICs5Miw5IEBADQogCSIzYzU5NSBWb3J0ZXgg MTAwYmFzZS1NSUkiLA0KIAkiRUlTQSBWb3J0ZXggM2M1OTciLA0KIH07DQot I2RlZmluZSBERU1PTl9JTkRFWCA1CQkJLyogQ2F1dGlvbiEgIE11c3QgYmUg Y29uc2lzdGVudCB3aXRoIGFib3ZlISAqLw0KKw0KKy8qIENhdXRpb24hICBN dXN0IGJlIGNvbnNpc3RlbnQgd2l0aCBhYm92ZSEgKi8NCisjZGVmaW5lIERF TU9OX0lOREVYIEhPV19NQU5ZX1BDSV9QUk9EVUNUUysxDQogDQogLyoNCiAJ CQkJVGhlb3J5IG9mIE9wZXJhdGlvbg0KQEAgLTEyMyw2ICsxNDMsMTYgQEAN CiBUaGUgbmV3IGNoaXBzIHN1cHBvcnQgYm90aCBldGhlcm5ldCAoMS41Sykg YW5kIEZEREkgKDQuNUspIHBhY2tldCBzaXplcyENCiBUaGlzIGRyaXZlciBv bmx5IHN1cHBvcnRzIGV0aGVybmV0IHBhY2tldHMgYmVjYXVzZSBvZiB0aGUg c2tidWZmIGFsbG9jYXRpb24NCiBsaW1pdCBvZiA0Sy4NCisNCitJbiBvcmRl ciB0byBzaWduYWwgcm9vbSBhdmFpbGFiaWxpdHkgaW4gdGhlIFR4IGJ1ZmZl ciwgdGhlIG5ldHdvcmsgYWRhcHRlcg0KK2lzIHByb2dyYW1tZWQgdG8gc2Vu ZCBhbiBpbnRlcnJ1cHQsIHdoaWNoIGNhdXNlcyB0aGUgZmxhZyBkZXYtPnRi dXN5DQordG8gYmUgemVyb2VkIHdoZW4gY2F0Y2hlZCAoZnVuY3Rpb24gdm9y dGV4X2ludGVycnVwdCkuICBIb3dldmVyLCBpdCBzZWVtcw0KK3RoYXQgM2M1 OTAgYm9hcmRzIHNvbWV0aW1lcyBmb3JnZXQgdG8gc2VuZCB0aGF0IGludGVy cnVwdC4gIEFzIGEgcmVzdWx0LCANCit0aGUgb25nb2luZyBjb21tdW5pY2F0 aW9uIGlzIGJsb2NrZWQuDQorVGhlIHByb2JsZW0gaXMgc29sdmVkIGJ5IGJ1 c3ktd2FpdGluZyByb29tIGF2YWlsYWJpbGl0eSBlYWNoIHRpbWUgYSBuZXcN Cit0cmFuc21pc3Npb24gaXMgdG8gc3RhcnQgYW5kIGRldi0+dGJ1c3kgaXMg bm90IHplcm8NCisoZnVuY3Rpb24gdm9ydGV4X3N0YXJ0X3htaXQpLg0KKw0K ICovDQogDQogI2RlZmluZSBUQ09NX1ZFTkRPUl9JRAkweDEwQjcJCS8qIDND b20ncyBtYW51ZmFjdHVyZXIncyBJRC4gKi8NCkBAIC0zMDEsNTYgKzMzMSw2 MSBAQA0KIAlpbnQgY2FyZHNfZm91bmQgPSAwOw0KIA0KIAlpZiAocGNpYmlv c19wcmVzZW50KCkpIHsNCi0JCXN0YXRpYyBpbnQgcGNpX2luZGV4ID0gMDsN CisJCXN0YXRpYyBpbnQgcGNpX2luZGV4Ow0KIAkJZm9yICg7IHBjaV9pbmRl eCA8IDg7IHBjaV9pbmRleCsrKSB7DQogCQkJdW5zaWduZWQgY2hhciBwY2lf YnVzLCBwY2lfZGV2aWNlX2ZuLCBwY2lfaXJxX2xpbmUsIHBjaV9sYXRlbmN5 Ow0KIAkJCXVuc2lnbmVkIGludCBwY2lfaW9hZGRyOw0KIAkJCXVuc2lnbmVk IHNob3J0IHBjaV9jb21tYW5kOw0KIAkJCWludCBpbmRleDsNCisJCQlpbnQg Zm91bmQ7DQogDQotCQkJZm9yIChpbmRleCA9IDA7IHByb2R1Y3RfaWRzW2lu ZGV4XTsgaW5kZXgrKykgew0KLQkJCQlpZiAoICEgcGNpYmlvc19maW5kX2Rl dmljZShUQ09NX1ZFTkRPUl9JRCwgcHJvZHVjdF9pZHNbaW5kZXhdLA0KKwkJ CWZvciAoaW5kZXggPSAwOyBpbmRleCA8IDU7IGluZGV4KyspIHsNCisJCQkJ Zm91bmQgPSAwOw0KKwkJCQlpZiAoIHBjaWJpb3NfZmluZF9kZXZpY2UoVENP TV9WRU5ET1JfSUQsIHByb2R1Y3RfaWRzW2luZGV4XSwNCiAJCQkJCQkJCQkJ ICAgcGNpX2luZGV4LCAmcGNpX2J1cywNCiAJCQkJCQkJCQkJICAgJnBjaV9k ZXZpY2VfZm4pKQ0KLQkJCQkJYnJlYWs7DQotCQkJfQ0KLQkJCWlmICggISBw cm9kdWN0X2lkc1tpbmRleF0pDQotCQkJCWJyZWFrOw0KLQ0KLQkJCXBjaWJp b3NfcmVhZF9jb25maWdfYnl0ZShwY2lfYnVzLCBwY2lfZGV2aWNlX2ZuLA0K LQkJCQkJCQkJCSBQQ0lfSU5URVJSVVBUX0xJTkUsICZwY2lfaXJxX2xpbmUp Ow0KLQkJCXBjaWJpb3NfcmVhZF9jb25maWdfZHdvcmQocGNpX2J1cywgcGNp X2RldmljZV9mbiwNCi0JCQkJCQkJCQkgIFBDSV9CQVNFX0FERFJFU1NfMCwg JnBjaV9pb2FkZHIpOw0KLQkJCS8qIFJlbW92ZSBJL08gc3BhY2UgbWFya2Vy IGluIGJpdCAwLiAqLw0KLQkJCXBjaV9pb2FkZHIgJj0gfjM7DQorCQkJCQlj b250aW51ZTsNCiANCisJCQkJLyogIEEga25vd24gUENJIGNhcmQgd2FzIGZv dW5kICAqLw0KKwkJCQlmb3VuZCA9IDE7DQorCQkJCQ0KKwkJCQlwY2liaW9z X3JlYWRfY29uZmlnX2J5dGUocGNpX2J1cywgcGNpX2RldmljZV9mbiwNCisJ CQkJCQkJCQkJIFBDSV9JTlRFUlJVUFRfTElORSwgJnBjaV9pcnFfbGluZSk7 DQorCQkJCXBjaWJpb3NfcmVhZF9jb25maWdfZHdvcmQocGNpX2J1cywgcGNp X2RldmljZV9mbiwNCisJCQkJCQkJCQkJICBQQ0lfQkFTRV9BRERSRVNTXzAs ICZwY2lfaW9hZGRyKTsNCisJCQkJLyogUmVtb3ZlIEkvTyBzcGFjZSBtYXJr ZXIgaW4gYml0IDAuICovDQorCQkJCXBjaV9pb2FkZHIgJj0gfjM7DQorCQ0K ICNpZmRlZiBWT1JURVhfQlVTX01BU1RFUg0KLQkJCS8qIEdldCBhbmQgY2hl Y2sgdGhlIGJ1cy1tYXN0ZXIgYW5kIGxhdGVuY3kgdmFsdWVzLg0KLQkJCSAg IFNvbWUgUENJIEJJT1NlcyBmYWlsIHRvIHNldCB0aGUgbWFzdGVyLWVuYWJs ZSBiaXQsIGFuZA0KLQkJCSAgIHRoZSBsYXRlbmN5IHRpbWVyIG11c3QgYmUg c2V0IHRvIHRoZSBtYXhpbXVtIHZhbHVlIHRvIGF2b2lkDQotCQkJICAgZGF0 YSBjb3JydXB0aW9uIHRoYXQgb2NjdXJzIHdoZW4gdGhlIHRpbWVyIGV4cGly ZXMgZHVyaW5nDQotCQkJICAgYSB0cmFuc2Zlci4gIFllcywgaXQncyBhIGJ1 Zy4gKi8NCi0JCQlwY2liaW9zX3JlYWRfY29uZmlnX3dvcmQocGNpX2J1cywg cGNpX2RldmljZV9mbiwNCi0JCQkJCQkJCQkgUENJX0NPTU1BTkQsICZwY2lf Y29tbWFuZCk7DQotCQkJaWYgKCAhIChwY2lfY29tbWFuZCAmIFBDSV9DT01N QU5EX01BU1RFUikpIHsNCi0JCQkJcHJpbnRrKCIgIFBDSSBNYXN0ZXIgQml0 IGhhcyBub3QgYmVlbiBzZXQhIFNldHRpbmcuLi5cbiIpOw0KLQkJCQlwY2lf Y29tbWFuZCB8PSBQQ0lfQ09NTUFORF9NQVNURVI7DQotCQkJCXBjaWJpb3Nf d3JpdGVfY29uZmlnX3dvcmQocGNpX2J1cywgcGNpX2RldmljZV9mbiwNCi0J CQkJCQkJCQkJICBQQ0lfQ09NTUFORCwgcGNpX2NvbW1hbmQpOw0KLQkJCX0N Ci0JCQlwY2liaW9zX3JlYWRfY29uZmlnX2J5dGUocGNpX2J1cywgcGNpX2Rl dmljZV9mbiwNCi0JCQkJCQkJCQkJIFBDSV9MQVRFTkNZX1RJTUVSLCAmcGNp X2xhdGVuY3kpOw0KLQkJCWlmIChwY2lfbGF0ZW5jeSAhPSAyNTUpIHsNCi0J CQkJcHJpbnRrKCIgIE92ZXJyaWRpbmcgUENJIGxhdGVuY3kgdGltZXIgKENG TFQpIHNldHRpbmcgb2YgJWQsIG5ldyB2YWx1ZSBpcyAyNTUuXG4iLCBwY2lf bGF0ZW5jeSk7DQotCQkJCXBjaWJpb3Nfd3JpdGVfY29uZmlnX2J5dGUocGNp X2J1cywgcGNpX2RldmljZV9mbiwNCi0JCQkJCQkJCQkJICBQQ0lfTEFURU5D WV9USU1FUiwgMjU1KTsNCi0JCQl9DQorCQkJCS8qIEdldCBhbmQgY2hlY2sg dGhlIGJ1cy1tYXN0ZXIgYW5kIGxhdGVuY3kgdmFsdWVzLg0KKwkJCQkgICBT b21lIFBDSSBCSU9TZXMgZmFpbCB0byBzZXQgdGhlIG1hc3Rlci1lbmFibGUg Yml0LCBhbmQNCisJCQkJICAgdGhlIGxhdGVuY3kgdGltZXIgbXVzdCBiZSBz ZXQgdG8gdGhlIG1heGltdW0gdmFsdWUgdG8gYXZvaWQNCisJCQkJICAgZGF0 YSBjb3JydXB0aW9uIHRoYXQgb2NjdXJzIHdoZW4gdGhlIHRpbWVyIGV4cGly ZXMgZHVyaW5nDQorCQkJCSAgIGEgdHJhbnNmZXIuICBZZXMsIGl0J3MgYSBi dWcuICovDQorCQkJCXBjaWJpb3NfcmVhZF9jb25maWdfd29yZChwY2lfYnVz LCBwY2lfZGV2aWNlX2ZuLA0KKwkJCQkJCQkJCQkgUENJX0NPTU1BTkQsICZw Y2lfY29tbWFuZCk7DQorCQkJCWlmICggISAocGNpX2NvbW1hbmQgJiBQQ0lf Q09NTUFORF9NQVNURVIpKSB7DQorCQkJCQlwcmludGsoIiAgUENJIE1hc3Rl ciBCaXQgaGFzIG5vdCBiZWVuIHNldCEgU2V0dGluZy4uLlxuIik7DQorCQkJ CQlwY2lfY29tbWFuZCB8PSBQQ0lfQ09NTUFORF9NQVNURVI7DQorCQkJCQlw Y2liaW9zX3dyaXRlX2NvbmZpZ193b3JkKHBjaV9idXMsIHBjaV9kZXZpY2Vf Zm4sDQorCQkJCQkJCQkJCQkgIFBDSV9DT01NQU5ELCBwY2lfY29tbWFuZCk7 DQorCQkJCX0NCisJCQkJcGNpYmlvc19yZWFkX2NvbmZpZ19ieXRlKHBjaV9i dXMsIHBjaV9kZXZpY2VfZm4sDQorCQkJCQkJCQkJCQkgUENJX0xBVEVOQ1lf VElNRVIsICZwY2lfbGF0ZW5jeSk7DQorCQkJCWlmIChwY2lfbGF0ZW5jeSAh PSAyNTUpIHsNCisJCQkJCXByaW50aygiICBPdmVycmlkaW5nIFBDSSBsYXRl bmN5IHRpbWVyIChDRkxUKSBzZXR0aW5nIG9mICVkLCBuZXcgdmFsdWUgaXMg MjU1LlxuIiwgcGNpX2xhdGVuY3kpOw0KKwkJCQkJcGNpYmlvc193cml0ZV9j b25maWdfYnl0ZShwY2lfYnVzLCBwY2lfZGV2aWNlX2ZuLA0KKwkJCQkJCQkJ CQkJICBQQ0lfTEFURU5DWV9USU1FUiwgMjU1KTsNCisJCQkJfQ0KICNlbmRp ZiAgLyogVk9SVEVYX0JVU19NQVNURVIgKi8NCi0JCQl2b3J0ZXhfZm91bmRf ZGV2aWNlKGRldiwgcGNpX2lvYWRkciwgcGNpX2lycV9saW5lLCBpbmRleCwN Ci0JCQkJCQkJCWRldiAmJiBkZXYtPm1lbV9zdGFydCA/IGRldi0+bWVtX3N0 YXJ0DQotCQkJCQkJCQk6IG9wdGlvbnNbY2FyZHNfZm91bmRdKTsNCi0JCQlk ZXYgPSAwOw0KLQkJCWNhcmRzX2ZvdW5kKys7DQorCQkJCXZvcnRleF9mb3Vu ZF9kZXZpY2UoZGV2LCBwY2lfaW9hZGRyLCBwY2lfaXJxX2xpbmUsIGluZGV4 LA0KKwkJCQkJCQkJCWRldiAmJiBkZXYtPm1lbV9zdGFydCA/IGRldi0+bWVt X3N0YXJ0DQorCQkJCQkJCQkJOiBvcHRpb25zW2NhcmRzX2ZvdW5kXSk7DQor CQkJCWRldiA9IDA7DQorCQkJCWNhcmRzX2ZvdW5kKys7DQorCQkJfQ0KKwkJ CS8qICBJZiBubyBrbm93biBjYXJkIHdhcyBmb3VuZCwgc3RvcCBzY2Fubmlu Zy4gICovDQorCQkJaWYgKCFmb3VuZCkgYnJlYWs7DQogCQl9DQogCX0NCiAN CkBAIC01MzAsMTMgKzU2NSwxMyBAQA0KIAl9DQogDQogCW91dHcoVHhSZXNl dCwgaW9hZGRyICsgRUwzX0NNRCk7DQotCWZvciAoaSA9IDIwOyBpID49IDAg OyBpLS0pDQorCWZvciAoaSA9IFdBSVRfTEFQU0U7IGkgPj0gMCA7IGktLSkN CiAJCWlmICggISBpbncoaW9hZGRyICsgRUwzX1NUQVRVUykgJiBDbWRJblBy b2dyZXNzKQ0KIAkJCWJyZWFrOw0KIA0KIAlvdXR3KFJ4UmVzZXQsIGlvYWRk ciArIEVMM19DTUQpOw0KIAkvKiBXYWl0IGEgZmV3IHRpY2tzIGZvciB0aGUg UnhSZXNldCBjb21tYW5kIHRvIGNvbXBsZXRlLiAqLw0KLQlmb3IgKGkgPSAy MDsgaSA+PSAwIDsgaS0tKQ0KKwlmb3IgKGkgPSBXQUlUX0xBUFNFOyBpID49 IDAgOyBpLS0pDQogCQlpZiAoICEgaW53KGlvYWRkciArIEVMM19TVEFUVVMp ICYgQ21kSW5Qcm9ncmVzcykNCiAJCQlicmVhazsNCiANCkBAIC02MzgsMjYg KzY3MywyOCBAQA0KIAlzdHJ1Y3Qgdm9ydGV4X3ByaXZhdGUgKnZwID0gKHN0 cnVjdCB2b3J0ZXhfcHJpdmF0ZSAqKWRldi0+cHJpdjsNCiAJaW50IGlvYWRk ciA9IGRldi0+YmFzZV9hZGRyOw0KIA0KLQkvKiBUcmFuc21pdHRlciB0aW1l b3V0LCBzZXJpb3VzIHByb2JsZW1zLiAqLw0KIAlpZiAoZGV2LT50YnVzeSkg ew0KLQkJaW50IHRpY2tzc29mYXIgPSBqaWZmaWVzIC0gZGV2LT50cmFuc19z dGFydDsNCi0JCWlmICh0aWNrc3NvZmFyIDwgNDApDQotCQkJcmV0dXJuIDE7 DQotCQlwcmludGsoIiVzOiB0cmFuc21pdCB0aW1lZCBvdXQsIHR4X3N0YXR1 cyAlMi4yeCBzdGF0dXMgJTQuNHguXG4iLA0KLQkJCSAgIGRldi0+bmFtZSwg aW5iKGlvYWRkciArIFR4U3RhdHVzKSwgaW53KGlvYWRkciArIEVMM19TVEFU VVMpKTsNCi0JCXZwLT5zdGF0cy50eF9lcnJvcnMrKzsNCi0JCS8qIElzc3Vl IFRYX1JFU0VUIGFuZCBUWF9TVEFSVCBjb21tYW5kcy4gKi8NCi0JCW91dHco VHhSZXNldCwgaW9hZGRyICsgRUwzX0NNRCk7DQotCQl7DQotCQkJaW50IGk7 DQotCQkJZm9yIChpID0gMjA7IGkgPj0gMCA7IGktLSkNCi0JCQkJaWYgKCAh IGludyhpb2FkZHIgKyBFTDNfU1RBVFVTKSAmIENtZEluUHJvZ3Jlc3MpDQot CQkJCQlicmVhazsNCi0JCX0NCi0JCW91dHcoVHhFbmFibGUsIGlvYWRkciAr IEVMM19DTUQpOw0KLQkJZGV2LT50cmFuc19zdGFydCA9IGppZmZpZXM7DQot CQlkZXYtPnRidXN5ID0gMDsNCi0JCXJldHVybiAwOw0KKwkJLyogIE1pc3Np bmcgaW50ZXJydXB0IG9mIFR4QXZhaWxhYmxlID8gICovDQorICAgICAgICAg ICAgICAgIC8qICBMZXQncyBoYXZlIGEgbGl0dGxlIGJ1c3ktd2FpdGluZyBm b3IgICovDQorCQkvKiAgcm9vbSBhdmFpbGFibGUgaW4gVHggYnVmZmVyICAq Lw0KKwkJaW50IGkgPSBXQUlUX1RYX0FWQUlMOw0KKwkJd2hpbGUgKChpbnco aW9hZGRyICsgVHhGcmVlKSA8PSBNQVhfUEFDS0VUX1NJWkUpICYmIC0taSk7 DQorCQlpZiAoIWkpIHsNCisgICAgICAgICAgICAgICAgICAgaWYgKChqaWZm aWVzIC0gZGV2LT50cmFuc19zdGFydCkgPCBNQVhfVElDS1NfU09fRkFSKQ0K KyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KKyAgICAgICAg ICAgICAgICAgICBwcmludGsoIiVzOiB0cmFuc21pdCB0aW1lZCBvdXQsIHR4 X3N0YXR1cyAlMi4yeCBzdGF0dXMgJTQuNHguXG4iLA0KKwkJCWRldi0+bmFt ZSwgaW5iKGlvYWRkciArIFR4U3RhdHVzKSwgaW53KGlvYWRkciArIEVMM19T VEFUVVMpKTsNCisJCSAgIHZwLT5zdGF0cy50eF9lcnJvcnMrKzsNCisJICAg ICAJICAgLyogSXNzdWUgVFhfUkVTRVQgYW5kIFRYX1NUQVJUIGNvbW1hbmRz LiAqLw0KKyAgICAgICAgICAgICAgICAgICBvdXR3KFR4UmVzZXQsIGlvYWRk ciArIEVMM19DTUQpOw0KKyAgICAgICAgICAgICAgICAgICBmb3IgKGkgPSAy MDsgaSA+PSAwIDsgaS0tKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgaWYg KCAhIGludyhpb2FkZHIgKyBFTDNfU1RBVFVTKSAmIENtZEluUHJvZ3Jlc3Mp ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFr Ow0KKyAgICAgICAgICAgICAgICAgICBvdXR3KFR4RW5hYmxlLCBpb2FkZHIg KyBFTDNfQ01EKTsNCisgICAgICAgICAgICAgICAgICAgZGV2LT50cmFuc19z dGFydCA9IGppZmZpZXM7DQorICAgICAgICAgICAgICAgICAgIGRldi0+dGJ1 c3kgPSAwOw0KKyAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsNCisJCX0N CisJICAgICAgICBkZXYtPnRidXN5ID0gMDsNCiAJfQ0KIA0KIAlpZiAoc2ti ID09IE5VTEwgfHwgc2tiLT5sZW4gPD0gMCkgew0KQEAgLTY4OCwyMSArNzI1 LDE5IEBADQogCQkvKiAuLi4gYW5kIHRoZSBwYWNrZXQgcm91bmRlZCB0byBh IGRvdWJsZXdvcmQuICovDQogCQlvdXRzbChpb2FkZHIgKyBUWF9GSUZPLCBz a2ItPmRhdGEsIChza2ItPmxlbiArIDMpID4+IDIpOw0KIAkJZGV2X2tmcmVl X3NrYiAoc2tiLCBGUkVFX1dSSVRFKTsNCi0JCWlmIChpbncoaW9hZGRyICsg VHhGcmVlKSA+IDE1MzYpIHsNCi0JCQlkZXYtPnRidXN5ID0gMDsNCi0JCX0g ZWxzZQ0KKwkJaWYgKGludyhpb2FkZHIgKyBUeEZyZWUpID4gTUFYX1BBQ0tF VF9TSVpFKSBkZXYtPnRidXN5ID0gMDsNCisJCWVsc2UNCiAJCQkvKiBJbnRl cnJ1cHQgdXMgd2hlbiB0aGUgRklGTyBoYXMgcm9vbSBmb3IgbWF4LXNpemVk IHBhY2tldC4gKi8NCi0JCQlvdXR3KFNldFR4VGhyZXNob2xkICsgMTUzNiwg aW9hZGRyICsgRUwzX0NNRCk7DQorCQkJb3V0dyhTZXRUeFRocmVzaG9sZCAr IE1BWF9QQUNLRVRfU0laRSwgaW9hZGRyICsgRUwzX0NNRCk7DQogCX0NCiAj ZWxzZQ0KIAkvKiAuLi4gYW5kIHRoZSBwYWNrZXQgcm91bmRlZCB0byBhIGRv dWJsZXdvcmQuICovDQogCW91dHNsKGlvYWRkciArIFRYX0ZJRk8sIHNrYi0+ ZGF0YSwgKHNrYi0+bGVuICsgMykgPj4gMik7DQogCWRldl9rZnJlZV9za2Ig KHNrYiwgRlJFRV9XUklURSk7DQotCWlmIChpbncoaW9hZGRyICsgVHhGcmVl KSA+IDE1MzYpIHsNCi0JCWRldi0+dGJ1c3kgPSAwOw0KLQl9IGVsc2UNCisJ aWYgKGludyhpb2FkZHIgKyBUeEZyZWUpID4gTUFYX1BBQ0tFVF9TSVpFKSBk ZXYtPnRidXN5ID0gMDsNCisJZWxzZQ0KIAkJLyogSW50ZXJydXB0IHVzIHdo ZW4gdGhlIEZJRk8gaGFzIHJvb20gZm9yIG1heC1zaXplZCBwYWNrZXQuICov DQotCQlvdXR3KFNldFR4VGhyZXNob2xkICsgMTUzNiwgaW9hZGRyICsgRUwz X0NNRCk7DQorCQlvdXR3KFNldFR4VGhyZXNob2xkICsgTUFYX1BBQ0tFVF9T SVpFLCBpb2FkZHIgKyBFTDNfQ01EKTsNCiAjZW5kaWYgIC8qIGJ1cyBtYXN0 ZXIgKi8NCiANCiAJZGV2LT50cmFuc19zdGFydCA9IGppZmZpZXM7DQpAQCAt NzIyLDcgKzc1Nyw3IEBADQogCQkJCWlmICh0eF9zdGF0dXMgJiAweDMwKSB7 DQogCQkJCQlpbnQgajsNCiAJCQkJCW91dHcoVHhSZXNldCwgaW9hZGRyICsg RUwzX0NNRCk7DQotCQkJCQlmb3IgKGogPSAyMDsgaiA+PSAwIDsgai0tKQ0K KwkJCQkJZm9yIChqID0gV0FJVF9MQVBTRTsgaiA+PSAwIDsgai0tKQ0KIAkJ CQkJCWlmICggISBpbncoaW9hZGRyICsgRUwzX1NUQVRVUykgJiBDbWRJblBy b2dyZXNzKQ0KIAkJCQkJCQlicmVhazsNCiAJCQkJfQ0KQEAgLTgwMiwxMSAr ODM3LDExIEBADQogI2VuZGlmDQogCQlpZiAoc3RhdHVzICYgKEFkYXB0ZXJG YWlsdXJlIHwgUnhFYXJseSB8IFN0YXRzRnVsbCkpIHsNCiAJCQkvKiBIYW5k bGUgYWxsIHVuY29tbW9uIGludGVycnVwdHMgYXQgb25jZS4gKi8NCi0JCQlp ZiAoc3RhdHVzICYgUnhFYXJseSkgewkJCQkvKiBSeCBlYXJseSBpcyB1bnVz ZWQuICovDQorCQkJaWYgKHN0YXR1cyAmIFJ4RWFybHkpIHsJLyogUnggZWFy bHkgaXMgdW51c2VkLiAqLw0KIAkJCQl2b3J0ZXhfcngoZGV2KTsNCiAJCQkJ b3V0dyhBY2tJbnRyIHwgUnhFYXJseSwgaW9hZGRyICsgRUwzX0NNRCk7DQog CQkJfQ0KLQkJCWlmIChzdGF0dXMgJiBTdGF0c0Z1bGwpIHsgCS8qIEVtcHR5 IHN0YXRpc3RpY3MuICovDQorCQkJaWYgKHN0YXR1cyAmIFN0YXRzRnVsbCkg ewkvKiBFbXB0eSBzdGF0aXN0aWNzLiAqLw0KIAkJCQlzdGF0aWMgaW50IERv bmVEaWRUaGF0ID0gMDsNCiAJCQkJaWYgKHZvcnRleF9kZWJ1ZyA+IDQpDQog CQkJCQlwcmludGsoIiVzOiBVcGRhdGluZyBzdGF0cy5cbiIsIGRldi0+bmFt ZSk7DQpAQCAtODQyLDYgKzg3Nyw5IEBADQogCQkJfQ0KIAkJfQ0KIA0KKwkJ aWYgKCEoc3RhdHVzICYgKFJ4Q29tcGxldGUgfCBUeEF2YWlsYWJsZSB8IERN QURvbmUgfCBBZGFwdGVyRmFpbHVyZSB8IFJ4RWFybHkgfCBTdGF0c0Z1bGwp KSkNCisJCSAgICBwcmludGsoIiVzOiAgdm9ydGV4X2ludGVycnVwdCgpOiAg aXJxICVkIHdpdGggdW5rbm93biBzdGF0dXMuXG4iLCBkZXYtPm5hbWUsIGly cSk7DQorDQogCQlpZiAoKytpID4gMTApIHsNCiAJCQlwcmludGsoIiVzOiBJ bmZpbml0ZSBsb29wIGluIGludGVycnVwdCwgc3RhdHVzICU0LjR4LiAgIg0K IAkJCQkgICAiRGlzYWJsaW5nIGZ1bmN0aW9ucyAoJTQuNHgpLlxuIiwNCkBA IC05MDQsNyArOTQyLDcgQEANCiAJCQkJbmV0aWZfcngoc2tiKTsNCiAJCQkJ b3V0dyhSeERpc2NhcmQsIGlvYWRkciArIEVMM19DTUQpOyAvKiBQb3AgdG9w IFJ4IHBhY2tldC4gKi8NCiAJCQkJLyogV2FpdCBhIGxpbWl0ZWQgdGltZSB0 byBnbyB0byBuZXh0IHBhY2tldC4gKi8NCi0JCQkJZm9yIChpID0gMjAwOyBp ID49IDA7IGktLSkNCisJCQkJZm9yIChpID0gTE9OR19XQUlUX0xBUFNFOyBp ID49IDA7IGktLSkNCiAJCQkJCWlmICggISBpbncoaW9hZGRyICsgRUwzX1NU QVRVUykgJiBDbWRJblByb2dyZXNzKQ0KIAkJCQkJCWJyZWFrOw0KIAkJCQl2 cC0+c3RhdHMucnhfcGFja2V0cysrOw0KQEAgLTkxNiw3ICs5NTQsNyBAQA0K IAkJdnAtPnN0YXRzLnJ4X2Ryb3BwZWQrKzsNCiAJCW91dHcoUnhEaXNjYXJk LCBpb2FkZHIgKyBFTDNfQ01EKTsNCiAJCS8qIFdhaXQgYSBsaW1pdGVkIHRp bWUgdG8gc2tpcCB0aGlzIHBhY2tldC4gKi8NCi0JCWZvciAoaSA9IDIwMDsg aSA+PSAwOyBpLS0pDQorCQlmb3IgKGkgPSBMT05HX1dBSVRfTEFQU0U7IGkg Pj0gMDsgaS0tKQ0KIAkJCWlmICggISBpbncoaW9hZGRyICsgRUwzX1NUQVRV UykgJiBDbWRJblByb2dyZXNzKQ0KIAkJCQlicmVhazsNCiAJfQ0K ---75343811-256057862-827233284=:363--
| |