[1079] in linux-net channel archive
Token Ring patch for 1.3.24
daemon@ATHENA.MIT.EDU (Pascal ANDRE)
Sun Sep 10 05:55:03 1995
Date: Thu, 7 Sep 1995 23:40:55 -0400 (EDT)
From: Pascal ANDRE <andre@chimay.via.ecp.fr>
To: Linux Net <linux-net@vger.rutgers.edu>,
Linux Kernel <linux-kernel@vger.rutgers.edu>
Cc: Linus.Torvalds@cs.Helsinki.FI
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.
---1014314880-1107186331-810531655=:1432
Content-Type: TEXT/PLAIN; charset=US-ASCII
The token ring driver was not working since 1.3.6 kernels.
I have made some corrections that fix it with kernel 1.3.24.
The modifications are :
- pointer handling in driver ibmtr.c
- include modification (default packet size)
The patch includes too a modification of the driver boot output
that was requested by some users here (configurable by a #define
in ibmtr.c).
The patched kernel have been tested on a multi ring LAN for 17 hours
before this release. As traffic was high I think it is pretty stable.
PS : thanks to VIA (student network manager) that handle this 'big' token
ring network on which I have been able to test the patch.
PPS : thanks to Alan Cox for the default packet size idea.
---
Pascal ANDRE, student at Ecole Centrale Paris.
andre@chimay.via.ecp.fr, andre@zen.via.ecp.fr
---1014314880-1107186331-810531655=:1432
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="TR-1.3.24.patch"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.3.91.950907234055.1432B@chimay.via.ecp.fr>
Content-Description:
ZGlmZiAtTiAtciAtdSBsaW51eC0xLjMuMjQtb3JpZy9kcml2ZXJzL25ldC9p
Ym10ci5jIGxpbnV4LTEuMy4yNC9kcml2ZXJzL25ldC9pYm10ci5jDQotLS0g
bGludXgtMS4zLjI0LW9yaWcvZHJpdmVycy9uZXQvaWJtdHIuYwlUdWUgQXVn
IDE1IDExOjA4OjMzIDE5OTUNCisrKyBsaW51eC0xLjMuMjQvZHJpdmVycy9u
ZXQvaWJtdHIuYwlUaHUgU2VwICA3IDEzOjM2OjE5IDE5OTUNCkBAIC0yNCw2
ICsyNCwxNiBAQA0KICAgICAgICAgICAgICAgICAgLSBBZGQgY29tbWVudHMs
IG1pc2MgcmVvcmcgZm9yIGNsYXJpdHkNCiAgICAgICAgICAgICAgICAgIC0g
RmxhdHRlbiBpbnRlcnJ1cHQgaGFuZGxlciBsZXZlbHMNCiANCisgICBDaGFu
Z2VzIGJ5IEZhcnphZCBGYXJpZCAoZmFyenlAemVuLnZpYS5lY3AuZnIpDQor
ICAgYW5kIFBhc2NhbCBBbmRyZSAoYW5kcmVAY2hpbWF5LnZpYS5lY3AuZnIp
IChNYXJjaCA5IDE5OTUpIDoNCisgICAgICAgIC0gbXVsdGkgcmluZyBzdXBw
b3J0IGNsZWFuIHVwDQorICAgICAgICAtIFJGQzEwNDIgY29tcGxpYW5jZSBl
bmhhbmNlZA0KKw0KKyAgIENoYW5nZXMgYnkgUGFzY2FsIEFuZHJlIChhbmRy
ZUBjaGltYXkudmlhLmVjcC5mcikgKFNlcHRlbWJlciA3IDE5OTUpIDoNCisg
ICAgICAgIC0gYnVnIGNvcnJlY3Rpb24gaW4gdHJfdHgNCisgICAgICAgIC0g
cmVtb3ZlZCByZWR1bmRhbnQgaW5mb3JtYXRpb24gZGlzcGxheQ0KKyAgICAg
ICAgLSBzb21lIGNvZGUgcmV3b3JraW5nDQorDQogICAgV2FybmluZ3MgISEh
ISEhISEhISEhISENCiAgICAgICBUaGlzIGRyaXZlciBpcyBvbmx5IHBhcnRp
YWxseSBzYW5pdGl6ZWQgZm9yIHN1cHBvcnQgb2YgbXVsdGlwbGUNCiAgICAg
ICBhZGFwdGVycy4gIEl0IHdpbGwgYWxtb3N0IGRlZmluYXRlbHkgZmFpbCBp
ZiBtb3JlIHRoYW4gb25lDQpAQCAtNDIsOCArNTIsMTUgQEANCiAjZGVmaW5l
IEZBTFNFIDANCiAjZGVmaW5lIFRSVUUgKCFGQUxTRSkNCiANCi1zdGF0aWMg
Y29uc3QgY2hhciAqdmVyc2lvbiA9ICJpYm10ci5jOnYxLjEuNDggOC83Lzk0
IFBldGVyIERlIFNjaHJpanZlciBhbmQgTWFyayBTd2Fuc29uXG4iDQotICAg
ICAgICAgICAgICAgICAgICAgICAiICAgICAgICAgICBtb2RpZmllZCAxMC8z
Lzk0IERhdmlkIFcuIE1vcnJpc1xuIjsNCisvKiBjaGFuZ2VzIHRoZSBvdXRw
dXQgZm9ybWF0IG9mIGRyaXZlciBpbml0aWFsaXNhdGlvbiAqLw0KKyNkZWZp
bmUgVFJfTkVXRk9STUFUCTENCisNCisvKiBzb21lIDk1IE9TIHNlbmQgbWFu
eSBub24gVUkgZnJhbWU7IHRoaXMgYWxsb3cgcmVtb3ZpbmcgdGhlIHdhcm5p
bmcgKi8NCisjZGVmaW5lIFRSX0ZJTFRFUk5PTlVJCTENCisNCisvKiB2ZXJz
aW9uIGFuZCBjcmVkaXRzICovDQorc3RhdGljIGNvbnN0IGNoYXIgKnZlcnNp
b24gPSAiaWJtdHIuYzogdjEuMy4yNCA4LzcvOTQgUGV0ZXIgRGUgU2Nocmlq
dmVyIGFuZCBNYXJrIFN3YW5zb25cbiINCisiICAgbW9kaWZpZWQgMTAvMy85
NCBEVyBNb3JyaXMsIDMvOS85NSBGIEZhcmlkIGFuZCBQIEFuZHJlLCA5Lzcv
OTUgUCBBbmRyZVxuIjsNCiANCiBzdGF0aWMgY2hhciBwY2NoYW5uZWxpZFtd
PXsweDA1LCAweDAwLCAweDA0LCAweDA5LA0KIAkJCSAweDA0LCAweDAzLCAw
eDA0LCAweDBmLA0KQEAgLTgyLDYgKzk5LDIzIEBADQogI2RlZmluZSBEUFJJ
TlRLKGZvcm1hdCwgYXJncy4uLikgcHJpbnRrKCIlczogIiBmb3JtYXQsIGRl
di0+bmFtZSAsICMjIGFyZ3MpDQogI2RlZmluZSBEUFJJTlREKGZvcm1hdCwg
YXJncy4uLikgRHVtbXlDYWxsKCIlczogIiBmb3JtYXQsIGRldi0+bmFtZSAs
ICMjIGFyZ3MpDQogDQorI2lmZGVmIFRSX05FV0ZPUk1BVA0KKy8qIHRoaXMg
YWxsb3dzIGRpc3BsYXlpbmcgZnVsbCBhZGFwdGVyIGluZm9ybWF0aW9uICov
DQorY29uc3QgY2hhciAqY2hhbm5lbF9kZWZbXSA9IHsgIklTQSIsICJNQ0Ei
LCAiSVNBIFAmUCIgfTsNCitjaGFyICphZGFwdGVyX2RlZihjaGFyIHR5cGUp
DQorew0KKyAgICAgICBzd2l0Y2ggKHR5cGUpDQorICAgICAgIHsNCisgICAg
ICAgICAgICAgICBjYXNlICdmJzoNCisgICAgICAgICAgICAgICBjYXNlICdG
JyA6IHJldHVybiAiQWRhcHRlci9BIjsNCisgICAgICAgICAgICAgICBjYXNl
ICdlJzoNCisgICAgICAgICAgICAgICBjYXNlICdFJyA6IHJldHVybiAiMTYv
NCBBZGFwdGVyL0lJIjsNCisgICAgICAgICAgICAgICBkZWZhdWx0IDoNCisg
ICAgICAgICAgICAgICAgICAgICAgIHByaW50aygiVW5rbm93IGFkYXB0ZXIg
JWNcbiIsIHR5cGUpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJu
ICJhZGFwdGVyIjsNCisgICAgICAgfTsNCit9Ow0KKyNlbmRpZg0KIA0KICNp
ZiAwDQogc3RydWN0IHRva19pbmZvIHRva19pbmZvMTsgICAvKiAgV0FSTklO
RzogdGhpcyBhcmVhIG11c3QgYmUgcmVwbGljYXRlZA0KQEAgLTkxLDggKzEy
NSwxMiBAQA0KIHZvaWQgKCpkb190b2tfaW50KShzdHJ1Y3QgZGV2aWNlICpk
ZXYpPU5VTEw7DQogI2VuZGlmDQogDQorI2lmbmRlZiBUUl9ORVdGT1JNQVQN
CiB1bnNpZ25lZCBjaGFyIGlibXRyX2RlYnVnX3RyYWNlPTE7ICAvKiAgUGF0
Y2ggb3Igb3RoZXJ3aXNlIGFsdGVyIHRvDQogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sIHRva2VucmluZyB0cmFj
aW5nLiAgKi8NCisjZWxzZQ0KK3Vuc2lnbmVkIGNoYXIgaWJtdHJfZGVidWdf
dHJhY2U9MDsNCisjZW5kaWYNCiAjZGVmaW5lIFRSQ19JTklUIDB4MDEgICAg
ICAgICAgICAgIC8qICBUcmFjZSBpbml0aWFsaXphdGlvbiAmIFBST0JFcyAq
Lw0KICNkZWZpbmUgVFJDX0lOSVRWIDB4MDIgICAgICAgICAgICAgLyogIHZl
cmJvc2UgaW5pdCB0cmFjZSBwb2ludHMgICAgICovDQogDQpAQCAtMjc0LDcg
KzMxMiw5IEBADQogICAgICAgaWYgKGludHI9PTMpIGlycT03Ow0KICAgICAg
IHRpLT5nbG9iYWxfaW50X2VuYWJsZT1HTE9CQUxfSU5UX0VOQUJMRSsoKGly
cT09OSkgPyAyIDogaXJxKTsNCiAgICAgICB0aS0+c3JhbT1OVUxMOw0KKyNp
Zm5kZWYgVFJfTkVXRk9STUFUDQogICAgICAgRFBSSU5USygidGktPmdsb2Jh
bF9pbnRfZW5hYmxlOiAlMDRYXG4iLHRpLT5nbG9iYWxfaW50X2VuYWJsZSk7
DQorI2VuZGlmDQogICAgICAgYnJlYWs7DQogICAgIGNhc2UgVFJfTUNBOg0K
ICAgICAgIGlmIChpbnRyPT0wKSBpcnE9OTsNCkBAIC0zMDYsMTcgKzM0Niwy
NiBAQA0KICAgICBwcmludGsoIi5cbiIpOw0KICAgfQ0KIA0KLSAgRFBSSU5U
SygiaHcgYWRkcmVzczogIik7DQogICAvKiBHZXQgaHcgYWRkcmVzcyBvZiB0
b2tlbiByaW5nIGNhcmQgKi8NCisjaWZuZGVmIFRSX05FV0ZPUk1BVCANCisg
IERQUklOVEsoImh3IGFkZHJlc3M6ICIpOw0KKyNlbmRpZg0KICAgaj0wOw0K
ICAgZm9yIChpPTA7IGk8MHgxODsgaT1pKzIpIHsNCiAgICAgdGVtcCA9ICoo
Y2hhciAqKSgodWxvbmcpQUlQICsgKHVsb25nKWkgKyB0aS0+bW1pbykgJiAw
eDBmOyAvKiBUZWNoIHJlZiBzdGF0ZXMgbXVzdCBkbyB0aGlzICovDQorI2lm
bmRlZiBUUl9ORVdGT1JNQVQNCiAgICAgcHJpbnRrKCIlMVgiLHRpLT5od19h
ZGRyZXNzW2pdPXRlbXApOw0KKyNlbHNlDQorICAgIHRpLT5od19hZGRyZXNz
W2pdPXRlbXA7DQorI2VuZGlmDQogICAgIGlmKGomMSkNCiAgICAgICBkZXYt
PmRldl9hZGRyWyhqLzIpXT10aS0+aHdfYWRkcmVzc1tqXSsodGktPmh3X2Fk
ZHJlc3Nbai0xXTw8NCk7DQogICAgICsrajsNCiAgIH0NCisjaWZuZGVmIFRS
X05FV0ZPUk1BVA0KICAgcHJpbnRrKCJcbiIpOw0KKyNlbmRpZg0KKw0KIA0K
ICAgLyogZ2V0IEFkYXB0ZXIgdHlwZTogICdGJyA9IEFkYXB0ZXIvQSwgJ0Un
ID0gMTYvNCBBZGFwdGVyIElJLC4uLiovDQogICB0aS0+YWRhcHRlcl90eXBl
ID0gKihjaGFyICopKHRpLT5tbWlvICsgQUlQQURBUFRZUEUpOw0KQEAgLTM0
MCw5ICszODksMTEgQEANCiAgIC8qIEF2YWlsYWJsZSBESEIgMTZNYiBzaXpl
OiAgRj0yMDQ4LCBFPTQwOTYsIEQ9ODE5MiwgQz0xNjM4NCwgQj0xNzk2MCAq
Lw0KICAgdGktPmRoYl9zaXplMTZtYiA9ICooY2hhciAqKSh0aS0+bW1pbyAr
IEFJUDE2TUJESEIpOw0KIA0KKyNpZm5kZWYgVFJfTkVXRk9STUFUDQogICBE
UFJJTlRLKCJhdHlwZT0leCwgZHJhdGU9JXgsIHRyZWw9JXgsIGFzcmFtPSVk
Sywgc3JwPSV4LCBkaGIoNG1iPSV4LCAxNm1iPSV4KVxuIix0aS0+YWRhcHRl
cl90eXBlLA0KIAkgIHRpLT5kYXRhX3JhdGUsIHRpLT50b2tlbl9yZWxlYXNl
LCB0aS0+YXZhaWxfc2hhcmVkX3JhbS8yLCB0aS0+c2hhcmVkX3JhbV9wYWdp
bmcsDQogCSAgdGktPmRoYl9zaXplNG1iLCB0aS0+ZGhiX3NpemUxNm1iKTsN
CisjZW5kaWYNCiANCiAgIC8qIFdlIG11c3QgZmlndXJlIG91dCBob3cgbXVj
aCBzaGFyZWQgbWVtb3J5IHNwYWNlIHRoaXMgYWRhcHRlcg0KICAgICAgd2ls
bCBvY2N1cHkgc28gdGhhdCBpZiB0aGVyZSBhcmUgdHdvIGFkYXB0ZXJzIHdl
IGNhbiBmaXQgYm90aA0KQEAgLTM2Miw3ICs0MTMsOSBAQA0KICAgICB1bnNp
Z25lZCBjaGFyIHBnX3NpemU7DQogI2VuZGlmDQogDQorI2lmbmRlZiBUUl9O
RVdGT1JNQVQNCiAgICAgRFBSSU5USygic2hhcmVkIHJhbSBwYWdlIHNpemU6
ICVkS1xuIix0aS0+bWFwcGVkX3JhbV9zaXplLzIpOw0KKyNlbmRpZg0KICNp
ZmRlZiBFTkFCTEVfUEFHSU5HDQogICAgIHN3aXRjaCh0aS0+c2hhcmVkX3Jh
bV9wYWdpbmcpIHsNCiAgICAgICBjYXNlIDB4ZjoNCkBAIC00MzAsOCArNDgz
LDkgQEANCiAgICAgICAgIGJhaWwgb3V0IGluIGEgcmF0aGVyIGJlbmlnbiBm
YXNoaW9uLiAgICAqLw0KIA0KICAgaWYgKGJhZHRpKSByZXR1cm4gRU5PREVW
Ow0KLQ0KKyNpZm5kZWYgVFJfTkVXRk9STUFUDQogICBEUFJJTlRLKCJVc2lu
ZyAlZEsgc2hhcmVkIFJBTVxuIix0aS0+bWFwcGVkX3JhbV9zaXplLzIpOw0K
KyNlbmRpZg0KIA0KICAgaWYgKHJlcXVlc3RfaXJxIChkZXYtPmlycSA9IGly
cSwgJnRva19pbnRlcnJ1cHQsMCwiSUJNIFRSIikgIT0gMCkgew0KICAgICBE
UFJJTlRLKCJDb3VsZCBub3QgZ3JhYiBpcnEgJWQuICBIYWx0aW5nIFRva2Vu
IFJpbmcgZHJpdmVyLlxuIixpcnEpOw0KQEAgLTQ0Myw5ICs0OTcsMTkgQEAN
CiAgIC8qPz8gTm93LCBhbGxvY2F0ZSBzb21lIG9mIHRoZSBQSU8gUE9SVHMg
Zm9yIHRoaXMgZHJpdmVyLi4gKi8NCiAgIHJlcXVlc3RfcmVnaW9uKFBJT2Fk
ZHIsVFJfSU9fRVhURU5ULCJpYm10ciIpOyAgLyogcmVjb3JkIFBJT2FkZHIg
cmFuZ2UNCiAJCQkJCQkgICAgYXMgYnVzeSAqLw0KKyNpZm5kZWYgVFJfTkVX
Rk9STUFUDQorICAgRFBSSU5USygiJXMiLHZlcnNpb24pOyAvKiBBcyB3ZSBo
YXZlIHBhc3NlZCBjYXJkIGlkZW50aWZpY2F0aW9uLA0KKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbGV0IHRoZSB3b3JsZCBrbm93IHdlJ3JlIGhl
cmUhICovDQorI2Vsc2UNCisgIHByaW50aygiJXMiLHZlcnNpb24pOw0KKyAg
RFBSSU5USygiJXMgJXMgZm91bmQgdXNpbmcgaXJxICVkLCBQSU9hZGRyICU0
aHgsICVkSyBzaGFyZWQgUkFNLlxuIiwNCisgICAgICAgY2hhbm5lbF9kZWZb
Y2FyZHByZXNlbnQtMV0sIGFkYXB0ZXJfZGVmKHRpLT5hZGFwdGVyX3R5cGUp
LCBpcnEsDQorICAgICAgICBQSU9hZGRyLCB0aS0+bWFwcGVkX3JhbV9zaXpl
LzIpOw0KKyAgRFBSSU5USygiSGFyZHdhcmUgYWRkcmVzcyA6ICUwMlg6JTAy
WDolMDJYOiUwMlg6JTAyWDolMDJYXG4iLA0KKyAgICAgICBkZXYtPmRldl9h
ZGRyWzBdLCBkZXYtPmRldl9hZGRyWzFdLCBkZXYtPmRldl9hZGRyWzJdLA0K
KyAgICAgICAgZGV2LT5kZXZfYWRkclszXSwgZGV2LT5kZXZfYWRkcls0XSwg
ZGV2LT5kZXZfYWRkcls1XSk7DQorI2VuZGlmDQogDQotICBEUFJJTlRLKCIl
cyIsdmVyc2lvbik7IC8qIEFzIHdlIGhhdmUgcGFzc2VkIGNhcmQgaWRlbnRp
ZmljYXRpb24sDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCB0
aGUgd29ybGQga25vdyB3ZSdyZSBoZXJlISAqLw0KICAgZGV2LT5iYXNlX2Fk
ZHI9UElPYWRkcjsgLyogc2V0IHRoZSB2YWx1ZSBmb3IgZGV2aWNlICovDQog
DQogICBkZXYtPm9wZW49dG9rX29wZW47DQpAQCAtNjQ2LDcgKzcxMCwxMSBA
QA0KIAkJCQkJCWVsc2UgRFBSSU5USygiVW5yZWNvdmVyYWJsZSBlcnJvcjog
ZXJyb3IgY29kZSA9ICUwMlhcbiIsb3Blbl9yZXNwb25zZS0+ZXJyb3JfY29k
ZSk7DQogCQkJCQl9DQogCQkJCQllbHNlIGlmKCFvcGVuX3Jlc3BvbnNlLT5y
ZXRfY29kZSkgew0KKyNpZm5kZWYgVFJfTkVXRk9STUFUDQogCQkJCQkJRFBS
SU5USygiYm9hcmQgb3BlbmVkLi4uXG4iKTsNCisjZWxzZQ0KKwkJCQkJCURQ
UklOVEsoIkFkYXB0ZXIgaW5pdGlhbGl6ZWQgYW5kIG9wZW5lZC5cbiIpOw0K
KyNlbmRpZg0KIAkJCQkJCSoodW5zaWduZWQgY2hhciAqKSh0aS0+bW1pbyAr
IEFDQV9PRkZTRVQgKyBBQ0FfUkVTRVQgKyBJU1JQX09ERCk9fihTUkJfUkVT
UF9JTlQpOw0KIAkJCQkJCSoodW5zaWduZWQgY2hhciAqKSh0aS0+bW1pbyAr
IEFDQV9PRkZTRVQgKyBBQ0FfUkVTRVQgKyBJU1JBX09ERCk9fihDTURfSU5f
U1JCKTsNCiAJCQkJCQlvcGVuX3NhcChFWFRFTkRFRF9TQVAsZGV2KTsNCkBA
IC04MjEsNyArODg5LDkgQEANCiANCiBzdGF0aWMgdm9pZCBpbml0aWFsX3Rv
a19pbnQoc3RydWN0IGRldmljZSAqZGV2KSB7DQogDQorI2lmbmRlZiBUUl9O
RVdGT1JNQVQNCiAgIGludCBpOw0KKyNlbmRpZg0KICAgdW5zaWduZWQgY2hh
ciAqZW5jb2RlZF9hZGRyOw0KICAgc3RydWN0IHRva19pbmZvICp0aTsNCiAN
CkBAIC04MzUsNyArOTA1LDkgQEANCiANCiAJdGktPmRvX3Rva19pbnQ9Tk9U
X0ZJUlNUOw0KIA0KKyNpZm5kZWYgVFJfTkVXRk9STUFUDQogCURQUklOVEso
IkluaXRpYWwgdG9rIGludCByZWNlaXZlZFxuIik7DQorI2VuZGlmDQogDQog
CWlmKCF0aS0+c3JhbSkgeyAgLyogd2UgYXNzaWduIHRoZSBhZGRyZXNzIGZv
ciBJU0EgZGV2aWNlcyAqLw0KIAkJCS8qIHNldCBSUlIgZXZlbiB0byBEMDAw
IGZvciBzaGFyZWQgcmFtIGFkZHJlc3MgKi8NCkBAIC04NDYsMjcgKzkxOCwz
NCBAQA0KIAl0aS0+aW5pdF9zcmI9dGktPnNyYW0rbnRvaHMoKih1bnNpZ25l
ZCBzaG9ydCAqKSh0aS0+bW1pbysgQUNBX09GRlNFVCArIFdSQlJfRVZFTikp
Ow0KIAlTRVRfUEFHRShudG9ocygqKHVuc2lnbmVkIHNob3J0ICopKHRpLT5t
bWlvKyBBQ0FfT0ZGU0VUICsgV1JCUl9FVkVOKSkpOw0KIA0KLSNpZiAxDQor
I2lmIDANCiAJRFBSSU5USygiaW5pdF9zcmIoJXApOiIsdGktPmluaXRfc3Ji
KTsNCiAJZm9yKGk9MDtpPDE3O2krKykNCiAJCXByaW50aygiJTAyWCAiLCoo
dGktPmluaXRfc3JiK2kpKTsNCiAJcHJpbnRrKCJcbiIpOw0KICNlbmRpZg0K
IA0KLQkJDQorI2lmbmRlZiBUUl9ORVdGT1JNQVQJCQ0KIAlEUFJJTlRLKCJz
cmJfaW5pdF9yZXNwb25zZS0+ZW5jb2RlZF9hZGRyZXNzOiAlMDRYXG4iLCgo
c3RydWN0IHNyYl9pbml0X3Jlc3BvbnNlICopdGktPmluaXRfc3JiKS0+ZW5j
b2RlZF9hZGRyZXNzKTsNCiAJRFBSSU5USygibnRvaHMoc3JiX2luaXRfcmVz
cG9uc2UtPmVuY29kZWRfYWRkcmVzcyk6ICUwNFhcbiIsbnRvaHMoKChzdHJ1
Y3Qgc3JiX2luaXRfcmVzcG9uc2UgKil0aS0+aW5pdF9zcmIpLT5lbmNvZGVk
X2FkZHJlc3MpKTsNCisjZW5kaWYNCiAJZW5jb2RlZF9hZGRyPSh1bnNpZ25l
ZCBjaGFyICopKHRpLT5zcmFtICsgbnRvaHMoKChzdHJ1Y3Qgc3JiX2luaXRf
cmVzcG9uc2UgKil0aS0+aW5pdF9zcmIpLT5lbmNvZGVkX2FkZHJlc3MpKTsN
CiANCisjaWZuZGVmIFRSX05FV0ZPUk1BVA0KIAlEUFJJTlRLKCJlbmNvZGVk
IGFkZHIgKCUwNFgsJTA0WCwlcCk6ICIsDQogCQkJKChzdHJ1Y3Qgc3JiX2lu
aXRfcmVzcG9uc2UgKil0aS0+aW5pdF9zcmIpLT5lbmNvZGVkX2FkZHJlc3Ms
DQogCQkJbnRvaHMoKChzdHJ1Y3Qgc3JiX2luaXRfcmVzcG9uc2UgKil0aS0+
aW5pdF9zcmIpLT5lbmNvZGVkX2FkZHJlc3MpLAkNCiAJCQllbmNvZGVkX2Fk
ZHIpOw0KKyNlbHNlDQorICAgICAgIERQUklOVEsoIkluaXRpYWwgaW50ZXJy
dXB0IDogc2hhcmVkIFJBTSBsb2NhdGVkIGF0ICVwLlxuIiwgZW5jb2RlZF9h
ZGRyKTsNCisjZW5kaWYNCiAJdGktPmF1dG9fcmluZ3NwZWVkc2F2ZT0oKHN0
cnVjdCBzcmJfaW5pdF9yZXNwb25zZSAqKXRpLT5pbml0X3NyYiktPmluaXRf
c3RhdHVzXzIgJiAweDQgPyBUUlVFIDogRkFMU0U7DQogDQorI2lmbmRlZiBU
Ul9ORVdGT1JNQVQNCiAJZm9yKGk9MDtpPFRSX0FMRU47aSsrKQ0KIAkJcHJp
bnRrKCIlMDJYJXMiLGRldi0+ZGV2X2FkZHJbaV09ZW5jb2RlZF9hZGRyW2ld
LChpPT1UUl9BTEVOLTEpID8gIiIgOiAiOiIgKTsNCiAJcHJpbnRrKCJcbiIp
Ow0KKyNlbmRpZg0KIA0KIAl0b2tfb3Blbl9hZGFwdGVyKCh1bnNpZ25lZCBs
b25nKWRldik7DQogDQpAQCAtODk1LDExICs5NzQsMTUgQEANCiAjZW5kaWYN
CiANCiAJKih1bnNpZ25lZCBjaGFyICopKHRpLT5tbWlvICsgQUNBX09GRlNF
VCArIEFDQV9SRVNFVCArIElTUlBfRVZFTik9fihJTlRfRU5BQkxFKTsNCisj
aWZuZGVmIFRSX05FV0ZPUk1BVA0KIAlEUFJJTlRLKCJyZXNldHRpbmcgY2Fy
ZFxuIik7DQorI2VuZGlmDQogCW91dGIoMCxQSU9hZGRyK0FEQVBUUkVTRVQp
Ow0KIAlmb3IoaT1qaWZmaWVzKzU7amlmZmllczw9aTspOyAvKiB3YWl0IDUw
bXMgKi8NCiAJb3V0YigwLFBJT2FkZHIrQURBUFRSRVNFVFJFTCk7DQorI2lm
bmRlZiBUUl9ORVdGT1JNQVQNCiAJRFBSSU5USygiY2FyZCByZXNldFxuIik7
DQorI2VuZGlmDQogDQogICAgICAgICB0aS0+b3Blbl9zdGF0dXM9SU5fUFJP
R1JFU1M7DQogDQpAQCAtOTYyLDYgKzEwNDUsNyBAQA0KIAlzdHJ1Y3QgYXNi
X3htaXRfcmVzcCAqeG1pdF9yZXNwPShzdHJ1Y3QgYXNiX3htaXRfcmVzcCAq
KXRpLT5hc2I7DQogCXN0cnVjdCBhcmJfeG1pdF9yZXEgKnhtaXRfcmVxPShz
dHJ1Y3QgYXJiX3htaXRfcmVxICopdGktPmFyYjsNCiAJc3RydWN0IHNyYl94
bWl0ICp4bWl0PShzdHJ1Y3Qgc3JiX3htaXQgKil0aS0+c3JiOw0KKwlzdHJ1
Y3QgdHJoX2hkciAqdHJoZHI9KHN0cnVjdCB0cmhfaGRyICopdGktPmN1cnJl
bnRfc2tiLT5kYXRhOw0KIAl1bnNpZ25lZCBpbnQgaGRyX2xlbjsNCiAJdW5z
aWduZWQgY2hhciAqZGhiOw0KIA0KQEAgLTEwMTEsNyArMTA5NSw3IEBADQog
DQogICAgICAvKiAgVFIgYXJjaC4gaWRlbnRpZmllcyBpZiBSSUYgcHJlc2Vu
dCBieSBoaWdoIGJpdCBvZiBzb3VyY2UNCiAgICAgICAgICBhZGRyZXNzLiAg
U28gaGVyZSB3ZSBjaGVjayBpZiBSSUYgcHJlc2VudCAqLw0KLSAgaWYoISgo
KHN0cnVjdCB0cmhfaGRyICopKCZ0aS0+Y3VycmVudF9za2ItPmRhdGEpKS0+
c2FkZHJbMF0gJiAweDgwKSkgew0KKyAgaWYoISh0cmhkci0+c2FkZHJbMF0g
JiAweDgwKSkgew0KICAgICBoZHJfbGVuPXNpemVvZihzdHJ1Y3QgdHJoX2hk
ciktMTg7DQogI2lmIDANCiBEUFJJTlRLKCgiaGRyX2xlbmd0aDogJWQsIGZy
YW1lIGxlbmd0aDogJWxkXG4iLGhkcl9sZW4sDQpAQCAtMTAxOSwxMSArMTEw
MywxMSBAQA0KICNlbmRpZg0KICAgfSAgIC8qICBUUiBwYWNrZXQgaW5jbHVk
ZXMgUklGIGRhdGEgLi4uIHByZXNlcnZlIGl0ICovDQogICBlbHNlIHsNCi0g
ICAgaGRyX2xlbj0oKG50b2hzKCgoc3RydWN0IHRyaF9oZHIgKikoJnRpLT5j
dXJyZW50X3NrYi0+ZGF0YSkpLT5yY2YpDQorICAgIGhkcl9sZW49KChudG9o
cyh0cmhkci0+cmNmKQ0KICAgICAgICAgICAgICAmIFRSX1JDRl9MRU5fTUFT
Syk+PjgpK3NpemVvZihzdHJ1Y3QgdHJoX2hkciktMTg7DQogI2lmIDANCiAv
KiByZXdvcmsgdGhlIGZvbGxvd2luZyBpZiBhY3RpdmF0ZWQsIGhkcl9sZW4g
PD4gcmlmX2xlbiAqLw0KLURQUklOVEsoInJjZjogJTAyWCByaWZfbGVuOiAl
ZFxuIiwoKHN0cnVjdCB0cmhfaGRyICopJnRpLT5jdXJyZW50X3NrYi0+ZGF0
YSktPnJjZix3cmtfbGVuKTsNCitEUFJJTlRLKCJyY2Y6ICUwMlggcmlmX2xl
bjogJWRcbiIsIHRyaGRyLT5yY2Ysd3JrX2xlbik7DQogRFBSSU5USygiaGRy
X2xlbmd0aDogJWQsIGZyYW1lIGxlbmd0aDogJWxkXG4iLHNpemVvZihzdHJ1
Y3QgdHJoX2hkciktMTgraGRyX2xlbiwNCiAgICAgICB0aS0+Y3VycmVudF9z
a2ItPmxlbi0xOCtoZHJfbGVuKTsNCiAjZW5kaWYNCkBAIC0xMDgyLDggKzEx
NjYsOSBAQA0KICNlbmRpZg0KIA0KIAlpZihsbGMtPmxsYyE9VUlfQ01EKSB7
DQotCQkNCisjaWZuZGVmIFRSX0ZJTFRFUk5PTlVJCQkNCiAJCURQUklOVEso
Im5vbi1VSSBmcmFtZSBhcnJpdmVkLiBkcm9wcGVkLiBsbGM9ICUwMlhcbiIs
bGxjLT5sbGMpOw0KKyNlbmRpZg0KIAkJcmVjX3Jlc3AtPnJldF9jb2RlPURB
VEFfTE9TVDsNCiAJCXRpLT50cl9zdGF0cy5yeF9kcm9wcGVkKys7DQogCQkq
KHVuc2lnbmVkIGNoYXIgKikodGktPm1taW8gKyBBQ0FfT0ZGU0VUICsgQUNB
X1NFVCArIElTUkFfT0REKT1SRVNQX0lOX0FTQjsNCmRpZmYgLU4gLXIgLXUg
bGludXgtMS4zLjI0LW9yaWcvaW5jbHVkZS9saW51eC9uZXRkZXZpY2UuaCBs
aW51eC0xLjMuMjQvaW5jbHVkZS9saW51eC9uZXRkZXZpY2UuaA0KLS0tIGxp
bnV4LTEuMy4yNC1vcmlnL2luY2x1ZGUvbGludXgvbmV0ZGV2aWNlLmgJVHVl
IFNlcCAgNSAwNzoxNDo0NCAxOTk1DQorKysgbGludXgtMS4zLjI0L2luY2x1
ZGUvbGludXgvbmV0ZGV2aWNlLmgJVGh1IFNlcCAgNyAwMTo0NToxNCAxOTk1
DQpAQCAtMzIsNyArMzIsMTEgQEANCiAjZGVmaW5lIERFVl9OVU1CVUZGUwkz
DQogI2RlZmluZSBNQVhfQUREUl9MRU4JNw0KICNpZm5kZWYgQ09ORklHX0FY
MjUNCisjaWZuZGVmIENPTkZJR19UUg0KICNkZWZpbmUgTUFYX0hFQURFUgkz
MgkJLyogV2UgcmVhbGx5IG5lZWQgYWJvdXQgMTggd29yc3QgY2FzZSAuLiBz
byAzMiBpcyBhbGlnbmVkICovDQorI2Vsc2UNCisjZGVmaW5lIE1BWF9IRUFE
RVIJNDgJCS8qIFRva2VuIFJpbmcgaGVhZGVyIG5lZWRzIDQwIGJ5dGVzIC4u
LiA0OCBpcyBhbGlnbmVkICovIA0KKyNlbmRpZg0KICNlbHNlDQogI2RlZmlu
ZSBNQVhfSEVBREVSCTk2CQkvKiBBWC4yNSArIE5ldFJPTSAqLw0KICNlbmRp
Zg0K
---1014314880-1107186331-810531655=:1432--