CPU suspend when running X ..?

Arwi (arwie@arwi)
Tue, 19 Mar 1996 18:51:10 +0700 (GMT+0700)


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--