Re: AVM A1 pcmcia, kernel 2.4.5-ac11 problem

Andreas Klein (asklein@cip.physik.uni-wuerzburg.de)
Thu, 14 Jun 2001 01:20:42 +0200 (METDST)


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.

--2003038337-851401618-992474442=:2297
Content-Type: TEXT/PLAIN; charset=US-ASCII

Hello,

On Wed, 13 Jun 2001, Kai Germaschewski wrote:

> On Tue, 12 Jun 2001, Boenisch Joerg wrote:
>
> If you dig it up somewhere and get it working with 2.4.5, it would be nice
> if you let me know. We can then work together to integrate it into the
> kernel tree - I can't do it myself, because I don't have the card.
>
> --Kai

I am using the attached patch without problems with the 2.4.X series of
the linux-kernel (at the moment I am runnign 2.4.5-ac13). The patch is the
same, as the one Jochen Friedrich has sent a few day ago (including a
small fix).

Bye,

-- Andreas Klein
asklein@cip.physik.uni-wuerzburg.de
root / webmaster @cip.physik.uni-wuerzburg.de
root / webmaster @www.physik.uni-wuerzburg.de
_____________________________________
| |
| Long live our gracious AMIGA! |
|___________________________________|

--2003038337-851401618-992474442=:2297
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="avm.dif"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.GHP.4.21.0106140120420.2297@wpax13.physik.uni-wuerzburg.de>
Content-Description:
Content-Disposition: attachment; filename="avm.dif"

ZGlmZiAtdSAtciAtTiBsaW51eC9kcml2ZXJzL2lzZG4vTWFrZWZpbGUgbGlu
dXgtMi40LjIvZHJpdmVycy9pc2RuL01ha2VmaWxlDQotLS0gbGludXgvZHJp
dmVycy9pc2RuL01ha2VmaWxlCUZyaSBEZWMgMjkgMjM6NDA6NTQgMjAwMA0K
KysrIGxpbnV4LTIuNC4yL2RyaXZlcnMvaXNkbi9NYWtlZmlsZQlTYXQgTWFy
IDEwIDE1OjU1OjU5IDIwMDENCkBAIC00NSw2ICs0NSwxNSBAQA0KIHN1YmRp
ci0kKENPTkZJR19JU0ROX0RSVl9FSUNPTikJCSs9IGVpY29uDQogc3ViZGly
LSQoQ09ORklHX0hZU0ROKQkJCSs9IGh5c2RuDQogDQoraWZlcSAoJChDT05G
SUdfUENNQ0lBKSx5KQ0KKyAgc3ViZGlyLXkgKz0gcGNtY2lhDQorICBzdWJk
aXItbSArPSBwY21jaWENCitlbHNlDQorICBpZmVxICgkKENPTkZJR19QQ01D
SUEpLG0pDQorICAgIHN1YmRpci1tICs9IHBjbWNpYQ0KKyAgZW5kaWYNCitl
bmRpZg0KKw0KIG9iai15ICs9ICQoYWRkc3VmZml4IC92bWxpbnV4LW9iai5v
LCAkKHN1YmRpci15KSkNCiANCiAjIFRoZSBnbG9iYWwgUnVsZXMubWFrZS4N
CmRpZmYgLXUgLXIgLU4gbGludXgvZHJpdmVycy9pc2RuL3BjbWNpYS9NYWtl
ZmlsZSBsaW51eC0yLjQuMi9kcml2ZXJzL2lzZG4vcGNtY2lhL01ha2VmaWxl
DQotLS0gbGludXgvZHJpdmVycy9pc2RuL3BjbWNpYS9NYWtlZmlsZQlUaHUg
SmFuICAxIDAxOjAwOjAwIDE5NzANCisrKyBsaW51eC0yLjQuMi9kcml2ZXJz
L2lzZG4vcGNtY2lhL01ha2VmaWxlCVNhdCBNYXIgMTAgMTU6NTU6MzAgMjAw
MQ0KQEAgLTAsMCArMSwyMCBAQA0KKyMNCisjIE1ha2VmaWxlIGZvciBkcml2
ZXJzL2lzZG4vcGNtY2lhDQorIw0KKyMgTm90ZSEgRGVwZW5kZW5jaWVzIGFy
ZSBkb25lIGF1dG9tYWdpY2FsbHkgYnkgJ21ha2UgZGVwJywgd2hpY2ggYWxz
bw0KKyMgcmVtb3ZlcyBhbnkgb2xkIGRlcGVuZGVuY2llcy4gRE9OJ1QgcHV0
IHlvdXIgb3duIGRlcGVuZGVuY2llcyBoZXJlDQorIyB1bmxlc3MgaXQncyBz
b21ldGhpbmcgc3BlY2lhbCAoaWUgbm90IGEgLmMgZmlsZSkuDQorIw0KKw0K
K29iai15ICAgOj0NCitvYmotbiAgIDo9DQorb2JqLW0gICA6PQ0KK29iai0g
ICAgOj0NCisNCitpZmVxICgkKENPTkZJR19JU0ROX0RSVl9ISVNBWCksbSkN
CisgIGlmZXEgKCQoQ09ORklHX0hJU0FYX0FWTV9BMV9QQ01DSUEpLHkpDQor
ICAgIG9iai1tICs9IGF2bWExX2NzLm8NCisgIGVuZGlmDQorZW5kaWYNCisN
CitpbmNsdWRlICQoVE9QRElSKS9SdWxlcy5tYWtlDQpkaWZmIC11IC1yIC1O
IGxpbnV4L2RyaXZlcnMvaXNkbi9wY21jaWEvYXZtYTFfY3MuYyBsaW51eC0y
LjQuMi9kcml2ZXJzL2lzZG4vcGNtY2lhL2F2bWExX2NzLmMNCi0tLSBsaW51
eC9kcml2ZXJzL2lzZG4vcGNtY2lhL2F2bWExX2NzLmMJVGh1IEphbiAgMSAw
MTowMDowMCAxOTcwDQorKysgbGludXgtMi40LjIvZHJpdmVycy9pc2RuL3Bj
bWNpYS9hdm1hMV9jcy5jCVNhdCBNYXIgMTAgMTU6NTU6MzAgMjAwMQ0KQEAg
LTAsMCArMSw1NDEgQEANCisvKj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0N
CisNCisgICAgQSBQQ01DSUEgY2xpZW50IGRyaXZlciBmb3IgQVZNIEIxL00x
L00yDQorDQorICAgIFdyaXR0ZW4gYnkgQ2Fyc3RlbiBQYWV0aCwgY2FsbGVA
Y2FsbGUuaW4tYmVybGluLmRlDQorICAgIA0KKz09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0qLw0KKw0KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4NCisj
aW5jbHVkZSA8bGludXgva2VybmVsLmg+DQorI2luY2x1ZGUgPGxpbnV4L3Nj
aGVkLmg+DQorI2luY2x1ZGUgPGxpbnV4L3B0cmFjZS5oPg0KKyNpbmNsdWRl
IDxsaW51eC9tYWxsb2MuaD4NCisjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+
DQorI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+DQorI2luY2x1ZGUgPGFzbS9p
by5oPg0KKyNpbmNsdWRlIDxhc20vc3lzdGVtLmg+DQorDQorI2luY2x1ZGUg
PHBjbWNpYS92ZXJzaW9uLmg+DQorI2luY2x1ZGUgPHBjbWNpYS9jc190eXBl
cy5oPg0KKyNpbmNsdWRlIDxwY21jaWEvY3MuaD4NCisjaW5jbHVkZSA8cGNt
Y2lhL2Npc3RwbC5oPg0KKyNpbmNsdWRlIDxwY21jaWEvZHMuaD4NCisNCitp
bnQgYXZtX2ExX2luaXRfcGNtY2lhKHZvaWQgKnBjbV9pb2IsIGludCBwY21f
aXJxLCBpbnQgKmJ1c3lfZmxhZywgaW50IHByb3QpOw0KK3ZvaWQgSGlTYXhf
Y2xvc2VjYXJkKGludCBjYXJkbnIpOw0KKw0KKw0KKy8qDQorICAgQWxsIHRo
ZSBQQ01DSUEgbW9kdWxlcyB1c2UgUENNQ0lBX0RFQlVHIHRvIGNvbnRyb2wg
ZGVidWdnaW5nLiAgSWYNCisgICB5b3UgZG8gbm90IGRlZmluZSBQQ01DSUFf
REVCVUcgYXQgYWxsLCBhbGwgdGhlIGRlYnVnIGNvZGUgd2lsbCBiZQ0KKyAg
IGxlZnQgb3V0LiAgSWYgeW91IGNvbXBpbGUgd2l0aCBQQ01DSUFfREVCVUc9
MCwgdGhlIGRlYnVnIGNvZGUgd2lsbA0KKyAgIGJlIHByZXNlbnQgYnV0IGRp
c2FibGVkIC0tIGJ1dCBpdCBjYW4gdGhlbiBiZSBlbmFibGVkIGZvciBzcGVj
aWZpYw0KKyAgIG1vZHVsZXMgYXQgbG9hZCB0aW1lIHdpdGggYSAncGNfZGVi
dWc9Iycgb3B0aW9uIHRvIGluc21vZC4NCisqLw0KKyNpZmRlZiBQQ01DSUFf
REVCVUcNCitzdGF0aWMgaW50IHBjX2RlYnVnID0gUENNQ0lBX0RFQlVHOw0K
K01PRFVMRV9QQVJNKHBjX2RlYnVnLCAiaSIpOw0KKyNkZWZpbmUgREVCVUco
biwgYXJncy4uLikgaWYgKHBjX2RlYnVnPihuKSkgcHJpbnRrKEtFUk5fREVC
VUcgYXJncyk7DQorc3RhdGljIGNoYXIgKnZlcnNpb24gPQ0KKyJhdm1hMV9j
cy5jIDEuMDAgMTk5OC8wMS8yMyAxMDowMDowMCAoQ2Fyc3RlbiBQYWV0aCki
Ow0KKyNlbHNlDQorI2RlZmluZSBERUJVRyhuLCBhcmdzLi4uKQ0KKyNlbmRp
Zg0KKw0KKy8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KKw0KKy8qIFBh
cmFtZXRlcnMgdGhhdCBjYW4gYmUgc2V0IHdpdGggJ2luc21vZCcgKi8NCisN
CitzdGF0aWMgaW50IGRlZmF1bHRfaXJxX2xpc3RbMTFdID0geyAxNSwgMTMs
IDEyLCAxMSwgMTAsIDksIDcsIDUsIDQsIDMsIC0xIH07DQorc3RhdGljIGlu
dCBpcnFfbGlzdFsxMV0gPSB7IC0xIH07DQorc3RhdGljIGludCBpc2RucHJv
dCA9IDI7DQorDQorTU9EVUxFX1BBUk0oaXJxX2xpc3QsICIxLTExaSIpOw0K
K01PRFVMRV9QQVJNKGlzZG5wcm90LCAiMS00aSIpOw0KKw0KKy8qPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0qLw0KKw0KKy8qDQorICAgVGhlIGV2ZW50KCkg
ZnVuY3Rpb24gaXMgdGhpcyBkcml2ZXIncyBDYXJkIFNlcnZpY2VzIGV2ZW50
IGhhbmRsZXIuDQorICAgSXQgd2lsbCBiZSBjYWxsZWQgYnkgQ2FyZCBTZXJ2
aWNlcyB3aGVuIGFuIGFwcHJvcHJpYXRlIGNhcmQgc3RhdHVzDQorICAgZXZl
bnQgaXMgcmVjZWl2ZWQuICBUaGUgY29uZmlnKCkgYW5kIHJlbGVhc2UoKSBl
bnRyeSBwb2ludHMgYXJlDQorICAgdXNlZCB0byBjb25maWd1cmUgb3IgcmVs
ZWFzZSBhIHNvY2tldCwgaW4gcmVzcG9uc2UgdG8gY2FyZCBpbnNlcnRpb24N
CisgICBhbmQgZWplY3Rpb24gZXZlbnRzLiAgVGhleSBhcmUgaW52b2tlZCBm
cm9tIHRoZSBza2VsZXRvbiBldmVudA0KKyAgIGhhbmRsZXIuDQorKi8NCisN
CitzdGF0aWMgdm9pZCBhdm1hMWNzX2NvbmZpZyhkZXZfbGlua190ICpsaW5r
KTsNCitzdGF0aWMgdm9pZCBhdm1hMWNzX3JlbGVhc2UodV9sb25nIGFyZyk7
DQorc3RhdGljIGludCBhdm1hMWNzX2V2ZW50KGV2ZW50X3QgZXZlbnQsIGlu
dCBwcmlvcml0eSwNCisJCQkgIGV2ZW50X2NhbGxiYWNrX2FyZ3NfdCAqYXJn
cyk7DQorDQorLyoNCisgICBUaGUgYXR0YWNoKCkgYW5kIGRldGFjaCgpIGVu
dHJ5IHBvaW50cyBhcmUgdXNlZCB0byBjcmVhdGUgYW5kIGRlc3Ryb3kNCisg
ICAiaW5zdGFuY2VzIiBvZiB0aGUgZHJpdmVyLCB3aGVyZSBlYWNoIGluc3Rh
bmNlIHJlcHJlc2VudHMgZXZlcnl0aGluZw0KKyAgIG5lZWRlZCB0byBtYW5h
Z2Ugb25lIGFjdHVhbCBQQ01DSUEgY2FyZC4NCisqLw0KKw0KK3N0YXRpYyBk
ZXZfbGlua190ICphdm1hMWNzX2F0dGFjaCh2b2lkKTsNCitzdGF0aWMgdm9p
ZCBhdm1hMWNzX2RldGFjaChkZXZfbGlua190ICopOw0KKw0KKy8qDQorICAg
VGhlIGRldl9pbmZvIHZhcmlhYmxlIGlzIHRoZSAia2V5IiB0aGF0IGlzIHVz
ZWQgdG8gbWF0Y2ggdXAgdGhpcw0KKyAgIGRldmljZSBkcml2ZXIgd2l0aCBh
cHByb3ByaWF0ZSBjYXJkcywgdGhyb3VnaCB0aGUgY2FyZCBjb25maWd1cmF0
aW9uDQorICAgZGF0YWJhc2UuDQorKi8NCisNCitzdGF0aWMgZGV2X2luZm9f
dCBkZXZfaW5mbyA9ICJhdm1hMV9jcyI7DQorDQorLyoNCisgICBBIGxpbmtl
ZCBsaXN0IG9mICJpbnN0YW5jZXMiIG9mIHRoZSBza2VsZXRvbiBkZXZpY2Uu
ICBFYWNoIGFjdHVhbA0KKyAgIFBDTUNJQSBjYXJkIGNvcnJlc3BvbmRzIHRv
IG9uZSBkZXZpY2UgaW5zdGFuY2UsIGFuZCBpcyBkZXNjcmliZWQNCisgICBi
eSBvbmUgZGV2X2xpbmtfdCBzdHJ1Y3R1cmUgKGRlZmluZWQgaW4gZHMuaCku
DQorDQorICAgWW91IG1heSBub3Qgd2FudCB0byB1c2UgYSBsaW5rZWQgbGlz
dCBmb3IgdGhpcyAtLSBmb3IgZXhhbXBsZSwgdGhlDQorICAgbWVtb3J5IGNh
cmQgZHJpdmVyIHVzZXMgYW4gYXJyYXkgb2YgZGV2X2xpbmtfdCBwb2ludGVy
cywgd2hlcmUgbWlub3INCisgICBkZXZpY2UgbnVtYmVycyBhcmUgdXNlZCB0
byBkZXJpdmUgdGhlIGNvcnJlc3BvbmRpbmcgYXJyYXkgaW5kZXguDQorKi8N
CisNCitzdGF0aWMgZGV2X2xpbmtfdCAqZGV2X2xpc3QgPSBOVUxMOw0KKw0K
Ky8qDQorICAgQSBkZXZfbGlua190IHN0cnVjdHVyZSBoYXMgZmllbGRzIGZv
ciBtb3N0IHRoaW5ncyB0aGF0IGFyZSBuZWVkZWQNCisgICB0byBrZWVwIHRy
YWNrIG9mIGEgc29ja2V0LCBidXQgdGhlcmUgd2lsbCB1c3VhbGx5IGJlIHNv
bWUgZGV2aWNlDQorICAgc3BlY2lmaWMgaW5mb3JtYXRpb24gdGhhdCBhbHNv
IG5lZWRzIHRvIGJlIGtlcHQgdHJhY2sgb2YuICBUaGUNCisgICAncHJpdicg
cG9pbnRlciBpbiBhIGRldl9saW5rX3Qgc3RydWN0dXJlIGNhbiBiZSB1c2Vk
IHRvIHBvaW50IHRvDQorICAgYSBkZXZpY2Utc3BlY2lmaWMgcHJpdmF0ZSBk
YXRhIHN0cnVjdHVyZSwgbGlrZSB0aGlzLg0KKw0KKyAgIEEgZHJpdmVyIG5l
ZWRzIHRvIHByb3ZpZGUgYSBkZXZfbm9kZV90IHN0cnVjdHVyZSBmb3IgZWFj
aCBkZXZpY2UNCisgICBvbiBhIGNhcmQuICBJbiBzb21lIGNhc2VzLCB0aGVy
ZSBpcyBvbmx5IG9uZSBkZXZpY2UgcGVyIGNhcmQgKGZvcg0KKyAgIGV4YW1w
bGUsIGV0aGVybmV0IGNhcmRzLCBtb2RlbXMpLiAgSW4gb3RoZXIgY2FzZXMs
IHRoZXJlIG1heSBiZQ0KKyAgIG1hbnkgYWN0dWFsIG9yIGxvZ2ljYWwgZGV2
aWNlcyAoU0NTSSBhZGFwdGVycywgbWVtb3J5IGNhcmRzIHdpdGgNCisgICBt
dWx0aXBsZSBwYXJ0aXRpb25zKS4gIFRoZSBkZXZfbm9kZV90IHN0cnVjdHVy
ZXMgbmVlZCB0byBiZSBrZXB0DQorICAgaW4gYSBsaW5rZWQgbGlzdCBzdGFy
dGluZyBhdCB0aGUgJ2RldicgZmllbGQgb2YgYSBkZXZfbGlua190DQorICAg
c3RydWN0dXJlLiAgV2UgYWxsb2NhdGUgdGhlbSBpbiB0aGUgY2FyZCdzIHBy
aXZhdGUgZGF0YSBzdHJ1Y3R1cmUsDQorICAgYmVjYXVzZSB0aGV5IGdlbmVy
YWxseSBjYW4ndCBiZSBhbGxvY2F0ZWQgZHluYW1pY2FsbHkuDQorKi8NCisg
ICANCit0eXBlZGVmIHN0cnVjdCBsb2NhbF9pbmZvX3Qgew0KKyAgICBkZXZf
bm9kZV90CW5vZGU7DQorfSBsb2NhbF9pbmZvX3Q7DQorDQorLyo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PSovDQorDQorc3RhdGljIHZvaWQgY3NfZXJyb3Io
Y2xpZW50X2hhbmRsZV90IGhhbmRsZSwgaW50IGZ1bmMsIGludCByZXQpDQor
ew0KKyAgICBlcnJvcl9pbmZvX3QgZXJyID0geyBmdW5jLCByZXQgfTsNCisg
ICAgQ2FyZFNlcnZpY2VzKFJlcG9ydEVycm9yLCBoYW5kbGUsICZlcnIpOw0K
K30NCisNCisvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCisNCisgICAg
YXZtYTFjc19hdHRhY2goKSBjcmVhdGVzIGFuICJpbnN0YW5jZSIgb2YgdGhl
IGRyaXZlciwgYWxsb2NhdGluZw0KKyAgICBsb2NhbCBkYXRhIHN0cnVjdHVy
ZXMgZm9yIG9uZSBkZXZpY2UuICBUaGUgZGV2aWNlIGlzIHJlZ2lzdGVyZWQN
CisgICAgd2l0aCBDYXJkIFNlcnZpY2VzLg0KKw0KKyAgICBUaGUgZGV2X2xp
bmsgc3RydWN0dXJlIGlzIGluaXRpYWxpemVkLCBidXQgd2UgZG9uJ3QgYWN0
dWFsbHkNCisgICAgY29uZmlndXJlIHRoZSBjYXJkIGF0IHRoaXMgcG9pbnQg
LS0gd2Ugd2FpdCB1bnRpbCB3ZSByZWNlaXZlIGENCisgICAgY2FyZCBpbnNl
cnRpb24gZXZlbnQuDQorICAgIA0KKz09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0qLw0KKw0KK3N0YXRpYyBkZXZfbGlua190ICphdm1hMWNzX2F0dGFjaCh2
b2lkKQ0KK3sNCisgICAgY2xpZW50X3JlZ190IGNsaWVudF9yZWc7DQorICAg
IGRldl9saW5rX3QgKmxpbms7DQorICAgIGxvY2FsX2luZm9fdCAqbG9jYWw7
DQorICAgIGludCByZXQsIGk7DQorICAgIA0KKyAgICBERUJVRygwLCAiYXZt
YTFjc19hdHRhY2goKVxuIik7DQorDQorICAgIC8qIEluaXRpYWxpemUgdGhl
IGRldl9saW5rX3Qgc3RydWN0dXJlICovDQorICAgIGxpbmsgPSBrbWFsbG9j
KHNpemVvZihzdHJ1Y3QgZGV2X2xpbmtfdCksIEdGUF9LRVJORUwpOw0KKyAg
ICBtZW1zZXQobGluaywgMCwgc2l6ZW9mKHN0cnVjdCBkZXZfbGlua190KSk7
DQorICAgIGxpbmstPnJlbGVhc2UuZnVuY3Rpb24gPSAmYXZtYTFjc19yZWxl
YXNlOw0KKyAgICBsaW5rLT5yZWxlYXNlLmRhdGEgPSAodV9sb25nKWxpbms7
DQorDQorICAgIC8qIFRoZSBpbyBzdHJ1Y3R1cmUgZGVzY3JpYmVzIElPIHBv
cnQgbWFwcGluZyAqLw0KKyAgICBsaW5rLT5pby5OdW1Qb3J0czEgPSAxNjsN
CisgICAgbGluay0+aW8uQXR0cmlidXRlczEgPSBJT19EQVRBX1BBVEhfV0lE
VEhfODsNCisgICAgbGluay0+aW8uTnVtUG9ydHMyID0gMTY7DQorICAgIGxp
bmstPmlvLkF0dHJpYnV0ZXMyID0gSU9fREFUQV9QQVRIX1dJRFRIXzE2Ow0K
KyAgICBsaW5rLT5pby5JT0FkZHJMaW5lcyA9IDU7DQorDQorICAgIC8qIElu
dGVycnVwdCBzZXR1cCAqLw0KKyAgICBsaW5rLT5pcnEuQXR0cmlidXRlcyA9
IElSUV9UWVBFX0VYQ0xVU0lWRTsNCisgICAgbGluay0+aXJxLkF0dHJpYnV0
ZXMgPSBJUlFfVFlQRV9EWU5BTUlDX1NIQVJJTkd8SVJRX0ZJUlNUX1NIQVJF
RDsNCisNCisgICAgbGluay0+aXJxLklSUUluZm8xID0gSVJRX0lORk8yX1ZB
TElEfElSUV9MRVZFTF9JRDsNCisgICAgaWYgKGlycV9saXN0WzBdICE9IC0x
KSB7DQorCSAgICBmb3IgKGkgPSAwOyBpIDwgMTAgJiYgaXJxX2xpc3RbaV0g
PiAwOyBpKyspDQorCSAgICAgICBsaW5rLT5pcnEuSVJRSW5mbzIgfD0gMSA8
PCBpcnFfbGlzdFtpXTsNCisgICAgfSBlbHNlIHsNCisJICAgIGZvciAoaSA9
IDA7IGkgPCAxMCAmJiBkZWZhdWx0X2lycV9saXN0W2ldID4gMDsgaSsrKQ0K
KwkgICAgICAgbGluay0+aXJxLklSUUluZm8yIHw9IDEgPDwgZGVmYXVsdF9p
cnFfbGlzdFtpXTsNCisgICAgfQ0KKyAgICANCisgICAgLyogR2VuZXJhbCBz
b2NrZXQgY29uZmlndXJhdGlvbiAqLw0KKyAgICBsaW5rLT5jb25mLkF0dHJp
YnV0ZXMgPSBDT05GX0VOQUJMRV9JUlE7DQorICAgIGxpbmstPmNvbmYuVmNj
ID0gNTA7DQorICAgIGxpbmstPmNvbmYuSW50VHlwZSA9IElOVF9NRU1PUllf
QU5EX0lPOw0KKyAgICBsaW5rLT5jb25mLkNvbmZpZ0luZGV4ID0gMTsNCisg
ICAgbGluay0+Y29uZi5QcmVzZW50ID0gUFJFU0VOVF9PUFRJT047DQorDQor
ICAgIC8qIEFsbG9jYXRlIHNwYWNlIGZvciBwcml2YXRlIGRldmljZS1zcGVj
aWZpYyBkYXRhICovDQorICAgIGxvY2FsID0ga21hbGxvYyhzaXplb2YobG9j
YWxfaW5mb190KSwgR0ZQX0tFUk5FTCk7DQorICAgIG1lbXNldChsb2NhbCwg
MCwgc2l6ZW9mKGxvY2FsX2luZm9fdCkpOw0KKyAgICBsaW5rLT5wcml2ID0g
bG9jYWw7DQorICAgIA0KKyAgICAvKiBSZWdpc3RlciB3aXRoIENhcmQgU2Vy
dmljZXMgKi8NCisgICAgbGluay0+bmV4dCA9IGRldl9saXN0Ow0KKyAgICBk
ZXZfbGlzdCA9IGxpbms7DQorICAgIGNsaWVudF9yZWcuZGV2X2luZm8gPSAm
ZGV2X2luZm87DQorICAgIGNsaWVudF9yZWcuQXR0cmlidXRlcyA9IElORk9f
SU9fQ0xJRU5UIHwgSU5GT19DQVJEX1NIQVJFOw0KKyAgICBjbGllbnRfcmVn
LkV2ZW50TWFzayA9DQorCUNTX0VWRU5UX0NBUkRfSU5TRVJUSU9OIHwgQ1Nf
RVZFTlRfQ0FSRF9SRU1PVkFMIHwNCisJQ1NfRVZFTlRfUkVTRVRfUEhZU0lD
QUwgfCBDU19FVkVOVF9DQVJEX1JFU0VUIHwNCisJQ1NfRVZFTlRfUE1fU1VT
UEVORCB8IENTX0VWRU5UX1BNX1JFU1VNRTsNCisgICAgY2xpZW50X3JlZy5l
dmVudF9oYW5kbGVyID0gJmF2bWExY3NfZXZlbnQ7DQorICAgIGNsaWVudF9y
ZWcuVmVyc2lvbiA9IDB4MDIxMDsNCisgICAgY2xpZW50X3JlZy5ldmVudF9j
YWxsYmFja19hcmdzLmNsaWVudF9kYXRhID0gbGluazsNCisgICAgcmV0ID0g
Q2FyZFNlcnZpY2VzKFJlZ2lzdGVyQ2xpZW50LCAmbGluay0+aGFuZGxlLCAm
Y2xpZW50X3JlZyk7DQorICAgIGlmIChyZXQgIT0gMCkgew0KKwljc19lcnJv
cihsaW5rLT5oYW5kbGUsIFJlZ2lzdGVyQ2xpZW50LCByZXQpOw0KKwlhdm1h
MWNzX2RldGFjaChsaW5rKTsNCisJcmV0dXJuIE5VTEw7DQorICAgIH0NCisN
CisgICAgcmV0dXJuIGxpbms7DQorfSAvKiBhdm1hMWNzX2F0dGFjaCAqLw0K
Kw0KKy8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKw0KKyAgICBUaGlz
IGRlbGV0ZXMgYSBkcml2ZXIgImluc3RhbmNlIi4gIFRoZSBkZXZpY2UgaXMg
ZGUtcmVnaXN0ZXJlZA0KKyAgICB3aXRoIENhcmQgU2VydmljZXMuICBJZiBp
dCBoYXMgYmVlbiByZWxlYXNlZCwgYWxsIGxvY2FsIGRhdGENCisgICAgc3Ry
dWN0dXJlcyBhcmUgZnJlZWQuICBPdGhlcndpc2UsIHRoZSBzdHJ1Y3R1cmVz
IHdpbGwgYmUgZnJlZWQNCisgICAgd2hlbiB0aGUgZGV2aWNlIGlzIHJlbGVh
c2VkLg0KKw0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLw0KKw0KK3N0
YXRpYyB2b2lkIGF2bWExY3NfZGV0YWNoKGRldl9saW5rX3QgKmxpbmspDQor
ew0KKyAgICBkZXZfbGlua190ICoqbGlua3A7DQorDQorICAgIERFQlVHKDAs
ICJhdm1hMWNzX2RldGFjaCgweCVwKVxuIiwgbGluayk7DQorICAgIA0KKyAg
ICAvKiBMb2NhdGUgZGV2aWNlIHN0cnVjdHVyZSAqLw0KKyAgICBmb3IgKGxp
bmtwID0gJmRldl9saXN0OyAqbGlua3A7IGxpbmtwID0gJigqbGlua3ApLT5u
ZXh0KQ0KKwlpZiAoKmxpbmtwID09IGxpbmspIGJyZWFrOw0KKyAgICBpZiAo
KmxpbmtwID09IE5VTEwpDQorCXJldHVybjsNCisNCisgICAgLyoNCisgICAg
ICAgSWYgdGhlIGRldmljZSBpcyBjdXJyZW50bHkgY29uZmlndXJlZCBhbmQg
YWN0aXZlLCB3ZSB3b24ndA0KKyAgICAgICBhY3R1YWxseSBkZWxldGUgaXQg
eWV0LiAgSW5zdGVhZCwgaXQgaXMgbWFya2VkIHNvIHRoYXQgd2hlbg0KKyAg
ICAgICB0aGUgcmVsZWFzZSgpIGZ1bmN0aW9uIGlzIGNhbGxlZCwgdGhhdCB3
aWxsIHRyaWdnZXIgYSBwcm9wZXINCisgICAgICAgZGV0YWNoKCkuDQorICAg
ICovDQorICAgIGlmIChsaW5rLT5zdGF0ZSAmIERFVl9DT05GSUcpIHsNCisj
aWZkZWYgUENNQ0lBX0RFQlVHDQorCXByaW50ayhLRVJOX0RFQlVHICJhdm1h
MV9jczogZGV0YWNoIHBvc3Rwb25lZCwgJyVzJyAiDQorCSAgICAgICAic3Rp
bGwgbG9ja2VkXG4iLCBsaW5rLT5kZXYtPmRldl9uYW1lKTsNCisjZW5kaWYN
CisJbGluay0+c3RhdGUgfD0gREVWX1NUQUxFX0xJTks7DQorCXJldHVybjsN
CisgICAgfQ0KKw0KKyAgICAvKiBCcmVhayB0aGUgbGluayB3aXRoIENhcmQg
U2VydmljZXMgKi8NCisgICAgaWYgKGxpbmstPmhhbmRsZSkNCisJQ2FyZFNl
cnZpY2VzKERlcmVnaXN0ZXJDbGllbnQsIGxpbmstPmhhbmRsZSk7DQorICAg
IA0KKyAgICAvKiBVbmxpbmsgZGV2aWNlIHN0cnVjdHVyZSwgZnJlZSBwaWVj
ZXMgKi8NCisgICAgKmxpbmtwID0gbGluay0+bmV4dDsNCisgICAgaWYgKGxp
bmstPnByaXYpIHsNCisJa2ZyZWUobGluay0+cHJpdik7DQorICAgIH0NCisg
ICAga2ZyZWUobGluayk7DQorICAgIA0KK30gLyogYXZtYTFjc19kZXRhY2gg
Ki8NCisNCisvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCisNCisgICAg
YXZtYTFjc19jb25maWcoKSBpcyBzY2hlZHVsZWQgdG8gcnVuIGFmdGVyIGEg
Q0FSRF9JTlNFUlRJT04gZXZlbnQNCisgICAgaXMgcmVjZWl2ZWQsIHRvIGNv
bmZpZ3VyZSB0aGUgUENNQ0lBIHNvY2tldCwgYW5kIHRvIG1ha2UgdGhlDQor
ICAgIGV0aGVybmV0IGRldmljZSBhdmFpbGFibGUgdG8gdGhlIHN5c3RlbS4N
CisgICAgDQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovDQorDQorc3Rh
dGljIGludCBnZXRfdHVwbGUoaW50IGZuLCBjbGllbnRfaGFuZGxlX3QgaGFu
ZGxlLCB0dXBsZV90ICp0dXBsZSwNCisJCSAgICAgY2lzcGFyc2VfdCAqcGFy
c2UpDQorew0KKyAgICBpbnQgaTsNCisgICAgaSA9IENhcmRTZXJ2aWNlcyhm
biwgaGFuZGxlLCB0dXBsZSk7DQorICAgIGlmIChpICE9IENTX1NVQ0NFU1Mp
IHJldHVybiBpOw0KKyAgICBpID0gQ2FyZFNlcnZpY2VzKEdldFR1cGxlRGF0
YSwgaGFuZGxlLCB0dXBsZSk7DQorICAgIGlmIChpICE9IENTX1NVQ0NFU1Mp
IHJldHVybiBpOw0KKyAgICByZXR1cm4gQ2FyZFNlcnZpY2VzKFBhcnNlVHVw
bGUsIGhhbmRsZSwgdHVwbGUsIHBhcnNlKTsNCit9DQorDQorI2RlZmluZSBm
aXJzdF90dXBsZShhLCBiLCBjKSBnZXRfdHVwbGUoR2V0Rmlyc3RUdXBsZSwg
YSwgYiwgYykNCisjZGVmaW5lIG5leHRfdHVwbGUoYSwgYiwgYykgZ2V0X3R1
cGxlKEdldE5leHRUdXBsZSwgYSwgYiwgYykNCisNCitzdGF0aWMgdm9pZCBh
dm1hMWNzX2NvbmZpZyhkZXZfbGlua190ICpsaW5rKQ0KK3sNCisgICAgY2xp
ZW50X2hhbmRsZV90IGhhbmRsZTsNCisgICAgdHVwbGVfdCB0dXBsZTsNCisg
ICAgY2lzcGFyc2VfdCBwYXJzZTsNCisgICAgY2lzdHBsX2NmdGFibGVfZW50
cnlfdCAqY2YgPSAmcGFyc2UuY2Z0YWJsZV9lbnRyeTsNCisgICAgbG9jYWxf
aW5mb190ICpkZXY7DQorICAgIGludCBpOw0KKyAgICB1X2NoYXIgYnVmWzY0
XTsNCisgICAgY2hhciBkZXZuYW1lWzEyOF07DQorICAgIGludCBidXN5ID0g
MDsNCisgICAgDQorICAgIGhhbmRsZSA9IGxpbmstPmhhbmRsZTsNCisgICAg
ZGV2ID0gbGluay0+cHJpdjsNCisNCisgICAgREVCVUcoMCwgImF2bWExY3Nf
Y29uZmlnKDB4JXApXG4iLCBsaW5rKTsNCisNCisgICAgLyoNCisgICAgICAg
VGhpcyByZWFkcyB0aGUgY2FyZCdzIENPTkZJRyB0dXBsZSB0byBmaW5kIGl0
cyBjb25maWd1cmF0aW9uDQorICAgICAgIHJlZ2lzdGVycy4NCisgICAgKi8N
CisgICAgZG8gew0KKwl0dXBsZS5EZXNpcmVkVHVwbGUgPSBDSVNUUExfQ09O
RklHOw0KKwlpID0gQ2FyZFNlcnZpY2VzKEdldEZpcnN0VHVwbGUsIGhhbmRs
ZSwgJnR1cGxlKTsNCisJaWYgKGkgIT0gQ1NfU1VDQ0VTUykgYnJlYWs7DQor
CXR1cGxlLlR1cGxlRGF0YSA9IGJ1ZjsNCisJdHVwbGUuVHVwbGVEYXRhTWF4
ID0gNjQ7DQorCXR1cGxlLlR1cGxlT2Zmc2V0ID0gMDsNCisJaSA9IENhcmRT
ZXJ2aWNlcyhHZXRUdXBsZURhdGEsIGhhbmRsZSwgJnR1cGxlKTsNCisJaWYg
KGkgIT0gQ1NfU1VDQ0VTUykgYnJlYWs7DQorCWkgPSBDYXJkU2VydmljZXMo
UGFyc2VUdXBsZSwgaGFuZGxlLCAmdHVwbGUsICZwYXJzZSk7DQorCWlmIChp
ICE9IENTX1NVQ0NFU1MpIGJyZWFrOw0KKwlsaW5rLT5jb25mLkNvbmZpZ0Jh
c2UgPSBwYXJzZS5jb25maWcuYmFzZTsNCisgICAgfSB3aGlsZSAoMCk7DQor
ICAgIGlmIChpICE9IENTX1NVQ0NFU1MpIHsNCisJY3NfZXJyb3IobGluay0+
aGFuZGxlLCBQYXJzZVR1cGxlLCBpKTsNCisJbGluay0+c3RhdGUgJj0gfkRF
Vl9DT05GSUdfUEVORElORzsNCisJcmV0dXJuOw0KKyAgICB9DQorICAgIA0K
KyAgICAvKiBDb25maWd1cmUgY2FyZCAqLw0KKyAgICBsaW5rLT5zdGF0ZSB8
PSBERVZfQ09ORklHOw0KKw0KKyAgICBkbyB7DQorDQorCXR1cGxlLkF0dHJp
YnV0ZXMgPSAwOw0KKwl0dXBsZS5UdXBsZURhdGEgPSBidWY7DQorCXR1cGxl
LlR1cGxlRGF0YU1heCA9IDI1NDsNCisJdHVwbGUuVHVwbGVPZmZzZXQgPSAw
Ow0KKwl0dXBsZS5EZXNpcmVkVHVwbGUgPSBDSVNUUExfVkVSU18xOw0KKw0K
KwlkZXZuYW1lWzBdID0gMDsNCisJaWYoICFmaXJzdF90dXBsZShoYW5kbGUs
ICZ0dXBsZSwgJnBhcnNlKSAmJiBwYXJzZS52ZXJzaW9uXzEubnMgPiAxICkg
ew0KKwkgICAgc3RybmNweShkZXZuYW1lLHBhcnNlLnZlcnNpb25fMS5zdHIg
KyBwYXJzZS52ZXJzaW9uXzEub2ZzWzFdLCANCisJCQlzaXplb2YoZGV2bmFt
ZSkpOw0KKwl9DQorCS8qDQorICAgICAgICAgKiBmaW5kIElPIHBvcnQNCisg
ICAgICAgICAqLw0KKwl0dXBsZS5UdXBsZURhdGEgPSAoY2lzZGF0YV90ICop
YnVmOw0KKwl0dXBsZS5UdXBsZU9mZnNldCA9IDA7IHR1cGxlLlR1cGxlRGF0
YU1heCA9IDI1NTsNCisJdHVwbGUuQXR0cmlidXRlcyA9IDA7DQorCXR1cGxl
LkRlc2lyZWRUdXBsZSA9IENJU1RQTF9DRlRBQkxFX0VOVFJZOw0KKwlpID0g
Zmlyc3RfdHVwbGUoaGFuZGxlLCAmdHVwbGUsICZwYXJzZSk7DQorCXdoaWxl
IChpID09IENTX1NVQ0NFU1MpIHsNCisJICAgIGlmIChjZi0+aW8ubndpbiA+
IDApIHsNCisJCWxpbmstPmNvbmYuQ29uZmlnSW5kZXggPSBjZi0+aW5kZXg7
DQorCQlsaW5rLT5pby5CYXNlUG9ydDEgPSBjZi0+aW8ud2luWzBdLmJhc2U7
DQorCQlsaW5rLT5pby5OdW1Qb3J0czEgPSBjZi0+aW8ud2luWzBdLmxlbjsN
CisJCWxpbmstPmlvLkJhc2VQb3J0MiA9IDA7DQorCQlsaW5rLT5pby5OdW1Q
b3J0czIgPSAwOw0KKyAgICAgICAgICAgICAgICBwcmludGsoS0VSTl9JTkZP
ICJhdm1hMV9jczogdGVzdGluZyBpL28gJSN4LSUjeFxuIiwNCisJCQlsaW5r
LT5pby5CYXNlUG9ydDEsDQorCQkgICAgICAgIGxpbmstPmlvLkJhc2VQb3J0
MStsaW5rLT5pby5OdW1Qb3J0czEpOw0KKwkJaSA9IENhcmRTZXJ2aWNlcyhS
ZXF1ZXN0SU8sIGxpbmstPmhhbmRsZSwgJmxpbmstPmlvKTsNCisJCWlmIChp
ID09IENTX1NVQ0NFU1MpIGdvdG8gZm91bmRfcG9ydDsNCisJICAgIH0NCisJ
ICAgIGkgPSBuZXh0X3R1cGxlKGhhbmRsZSwgJnR1cGxlLCAmcGFyc2UpOw0K
Kwl9DQorZm91bmRfcG9ydDoNCisJaWYgKGkgIT0gQ1NfU1VDQ0VTUykgew0K
KwkgICAgY3NfZXJyb3IobGluay0+aGFuZGxlLCBSZXF1ZXN0SU8sIGkpOw0K
KwkgICAgYnJlYWs7DQorCX0NCisJDQorCS8qDQorCSAqIGFsbG9jYXRlIGFu
IGludGVycnVwdCBsaW5lDQorCSAqLw0KKwlpID0gQ2FyZFNlcnZpY2VzKFJl
cXVlc3RJUlEsIGxpbmstPmhhbmRsZSwgJmxpbmstPmlycSk7DQorCWlmIChp
ICE9IENTX1NVQ0NFU1MpIHsNCisJICAgIGNzX2Vycm9yKGxpbmstPmhhbmRs
ZSwgUmVxdWVzdElSUSwgaSk7DQorCSAgICBDYXJkU2VydmljZXMoUmVsZWFz
ZUlPLCBsaW5rLT5oYW5kbGUsICZsaW5rLT5pbyk7DQorCSAgICBicmVhazsN
CisJfQ0KKwkNCisJLyoNCisgICAgICAgICAqIGNvbmZpZ3VyZSB0aGUgUENN
Q0lBIHNvY2tldA0KKwkgICovDQorCWkgPSBDYXJkU2VydmljZXMoUmVxdWVz
dENvbmZpZ3VyYXRpb24sIGxpbmstPmhhbmRsZSwgJmxpbmstPmNvbmYpOw0K
KwlpZiAoaSAhPSBDU19TVUNDRVNTKSB7DQorCSAgICBjc19lcnJvcihsaW5r
LT5oYW5kbGUsIFJlcXVlc3RDb25maWd1cmF0aW9uLCBpKTsNCisJICAgIENh
cmRTZXJ2aWNlcyhSZWxlYXNlSU8sIGxpbmstPmhhbmRsZSwgJmxpbmstPmlv
KTsNCisJICAgIENhcmRTZXJ2aWNlcyhSZWxlYXNlSVJRLCBsaW5rLT5oYW5k
bGUsICZsaW5rLT5pcnEpOw0KKwkgICAgYnJlYWs7DQorCX0NCisNCisgICAg
fSB3aGlsZSAoMCk7DQorDQorICAgIC8qIEF0IHRoaXMgcG9pbnQsIHRoZSBk
ZXZfbm9kZV90IHN0cnVjdHVyZShzKSBzaG91bGQgYmUNCisgICAgICAgaW5p
dGlhbGl6ZWQgYW5kIGFycmFuZ2VkIGluIGEgbGlua2VkIGxpc3QgYXQgbGlu
ay0+ZGV2LiAqLw0KKw0KKyAgICBzdHJjcHkoZGV2LT5ub2RlLmRldl9uYW1l
LCAiQTEiKTsNCisgICAgZGV2LT5ub2RlLm1ham9yID0gNDU7DQorICAgIGRl
di0+bm9kZS5taW5vciA9IDA7DQorICAgIGxpbmstPmRldiA9ICZkZXYtPm5v
ZGU7DQorICAgIA0KKyAgICBsaW5rLT5zdGF0ZSAmPSB+REVWX0NPTkZJR19Q
RU5ESU5HOw0KKyAgICAvKiBJZiBhbnkgc3RlcCBmYWlsZWQsIHJlbGVhc2Ug
YW55IHBhcnRpYWxseSBjb25maWd1cmVkIHN0YXRlICovDQorICAgIGlmIChp
ICE9IDApIHsNCisJYXZtYTFjc19yZWxlYXNlKCh1X2xvbmcpbGluayk7DQor
CXJldHVybjsNCisgICAgfQ0KKw0KKyAgICBwcmludGsoS0VSTl9OT1RJQ0Ug
ImF2bWExX2NzOiBjaGVja2luZyBhdCBpL28gJSN4LCBpcnEgJWRcbiIsDQor
CQkJCWxpbmstPmlvLkJhc2VQb3J0MSwgbGluay0+aXJxLkFzc2lnbmVkSVJR
KTsNCisNCisgICAgaWYgKGF2bV9hMV9pbml0X3BjbWNpYSgodm9pZCAqKShp
bnQpbGluay0+aW8uQmFzZVBvcnQxLA0KKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGxpbmstPmlycS5Bc3NpZ25lZElSUSwNCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAmYnVzeSwgaXNkbnByb3QpICE9IDApIHsNCisgICAg
ICAgcHJpbnRrKEtFUk5fRVJSICJhdm1hMV9jczogZmFpbGVkIHRvIGluaXRp
YWxpemUgQVZNIEExIFBDTUNJQSAlZCBhdCBpL28gJSN4XG4iLCBpLCBsaW5r
LT5pby5CYXNlUG9ydDEpOw0KKyAgICAgICByZXR1cm47DQorICAgIH0NCisN
CisgICAgaSA9IDA7IC8qIG5vIHJldHVybmNvZGUgZm9yIGNhcmRuciA6LSgg
Ki8NCisNCisgICAgZGV2LT5ub2RlLm1pbm9yID0gaTsNCisNCit9IC8qIGF2
bWExY3NfY29uZmlnICovDQorDQorLyo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09DQorDQorICAgIEFmdGVyIGEgY2FyZCBpcyByZW1vdmVkLCBhdm1hMWNz
X3JlbGVhc2UoKSB3aWxsIHVucmVnaXN0ZXIgdGhlIG5ldA0KKyAgICBkZXZp
Y2UsIGFuZCByZWxlYXNlIHRoZSBQQ01DSUEgY29uZmlndXJhdGlvbi4gIElm
IHRoZSBkZXZpY2UgaXMNCisgICAgc3RpbGwgb3BlbiwgdGhpcyB3aWxsIGJl
IHBvc3Rwb25lZCB1bnRpbCBpdCBpcyBjbG9zZWQuDQorICAgIA0KKz09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0qLw0KKw0KK3N0YXRpYyB2b2lkIGF2bWEx
Y3NfcmVsZWFzZSh1X2xvbmcgYXJnKQ0KK3sNCisgICAgZGV2X2xpbmtfdCAq
bGluayA9IChkZXZfbGlua190ICopYXJnOw0KKyAgICBsb2NhbF9pbmZvX3Qg
KmxvY2FsID0gbGluay0+cHJpdjsNCisNCisgICAgREVCVUcoMCwgImF2bWEx
Y3NfcmVsZWFzZSgweCVwKVxuIiwgbGluayk7DQorDQorICAgIC8qDQorICAg
ICAgIElmIHRoZSBkZXZpY2UgaXMgY3VycmVudGx5IGluIHVzZSwgd2Ugd29u
J3QgcmVsZWFzZSB1bnRpbCBpdA0KKyAgICAgICBpcyBhY3R1YWxseSBjbG9z
ZWQuDQorICAgICovDQorICAgIGlmIChsaW5rLT5vcGVuKSB7DQorCURFQlVH
KDEsICJhdm1hMV9jczogcmVsZWFzZSBwb3N0cG9uZWQsICclcycgc3RpbGwg
b3BlblxuIiwNCisJICAgICAgbGluay0+ZGV2LT5kZXZfbmFtZSk7DQorCWxp
bmstPnN0YXRlIHw9IERFVl9TVEFMRV9DT05GSUc7DQorCXJldHVybjsNCisg
ICAgfQ0KKw0KKyAgICAvKiBubyB1bnJlZ2lzdGVyIGZ1bmN0aW9uIHdpdGgg
aGlzYXggKi8NCisgICAgSGlTYXhfY2xvc2VjYXJkKGxvY2FsLT5ub2RlLm1p
bm9yKTsNCisNCisgICAgLyogVW5saW5rIHRoZSBkZXZpY2UgY2hhaW4gKi8N
CisgICAgbGluay0+ZGV2ID0gTlVMTDsNCisgICAgDQorICAgIC8qIERvbid0
IGJvdGhlciBjaGVja2luZyB0byBzZWUgaWYgdGhlc2Ugc3VjY2VlZCBvciBu
b3QgKi8NCisgICAgQ2FyZFNlcnZpY2VzKFJlbGVhc2VDb25maWd1cmF0aW9u
LCBsaW5rLT5oYW5kbGUpOw0KKyAgICBDYXJkU2VydmljZXMoUmVsZWFzZUlP
LCBsaW5rLT5oYW5kbGUsICZsaW5rLT5pbyk7DQorICAgIENhcmRTZXJ2aWNl
cyhSZWxlYXNlSVJRLCBsaW5rLT5oYW5kbGUsICZsaW5rLT5pcnEpOw0KKyAg
ICBsaW5rLT5zdGF0ZSAmPSB+REVWX0NPTkZJRzsNCisgICAgDQorICAgIGlm
IChsaW5rLT5zdGF0ZSAmIERFVl9TVEFMRV9MSU5LKQ0KKwlhdm1hMWNzX2Rl
dGFjaChsaW5rKTsNCisgICAgDQorfSAvKiBhdm1hMWNzX3JlbGVhc2UgKi8N
CisNCisvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCisNCisgICAgVGhl
IGNhcmQgc3RhdHVzIGV2ZW50IGhhbmRsZXIuICBNb3N0bHksIHRoaXMgc2No
ZWR1bGVzIG90aGVyDQorICAgIHN0dWZmIHRvIHJ1biBhZnRlciBhbiBldmVu
dCBpcyByZWNlaXZlZC4gIEEgQ0FSRF9SRU1PVkFMIGV2ZW50DQorICAgIGFs
c28gc2V0cyBzb21lIGZsYWdzIHRvIGRpc2NvdXJhZ2UgdGhlIG5ldCBkcml2
ZXJzIGZyb20gdHJ5aW5nDQorICAgIHRvIHRhbGsgdG8gdGhlIGNhcmQgYW55
IG1vcmUuDQorDQorICAgIFdoZW4gYSBDQVJEX1JFTU9WQUwgZXZlbnQgaXMg
cmVjZWl2ZWQsIHdlIGltbWVkaWF0ZWx5IHNldCBhIGZsYWcNCisgICAgdG8g
YmxvY2sgZnV0dXJlIGFjY2Vzc2VzIHRvIHRoaXMgZGV2aWNlLiAgQWxsIHRo
ZSBmdW5jdGlvbnMgdGhhdA0KKyAgICBhY3R1YWxseSBhY2Nlc3MgdGhlIGRl
dmljZSBzaG91bGQgY2hlY2sgdGhpcyBmbGFnIHRvIG1ha2Ugc3VyZQ0KKyAg
ICB0aGUgY2FyZCBpcyBzdGlsbCBwcmVzZW50Lg0KKyAgICANCis9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ki8NCisNCitzdGF0aWMgaW50IGF2bWExY3Nf
ZXZlbnQoZXZlbnRfdCBldmVudCwgaW50IHByaW9yaXR5LA0KKwkJCSAgZXZl
bnRfY2FsbGJhY2tfYXJnc190ICphcmdzKQ0KK3sNCisgICAgZGV2X2xpbmtf
dCAqbGluayA9IGFyZ3MtPmNsaWVudF9kYXRhOw0KKw0KKyAgICBERUJVRygx
LCAiYXZtYTFjc19ldmVudCgweCUwNngpXG4iLCBldmVudCk7DQorICAgIA0K
KyAgICBzd2l0Y2ggKGV2ZW50KSB7DQorICAgIGNhc2UgQ1NfRVZFTlRfQ0FS
RF9SRU1PVkFMOg0KKwlsaW5rLT5zdGF0ZSAmPSB+REVWX1BSRVNFTlQ7DQor
CWlmIChsaW5rLT5zdGF0ZSAmIERFVl9DT05GSUcpIHsNCisJICAgIGxpbmst
PnJlbGVhc2UuZXhwaXJlcyA9IChqaWZmaWVzKyhIWi8yMCkpOw0KKwkgICAg
YWRkX3RpbWVyKCZsaW5rLT5yZWxlYXNlKTsNCisJfQ0KKwlicmVhazsNCisg
ICAgY2FzZSBDU19FVkVOVF9DQVJEX0lOU0VSVElPTjoNCisJbGluay0+c3Rh
dGUgfD0gREVWX1BSRVNFTlQgfCBERVZfQ09ORklHX1BFTkRJTkc7DQorCWF2
bWExY3NfY29uZmlnKGxpbmspOw0KKwlicmVhazsNCisgICAgY2FzZSBDU19F
VkVOVF9QTV9TVVNQRU5EOg0KKwlsaW5rLT5zdGF0ZSB8PSBERVZfU1VTUEVO
RDsNCisJLyogRmFsbCB0aHJvdWdoLi4uICovDQorICAgIGNhc2UgQ1NfRVZF
TlRfUkVTRVRfUEhZU0lDQUw6DQorCWlmIChsaW5rLT5zdGF0ZSAmIERFVl9D
T05GSUcpDQorCSAgICBDYXJkU2VydmljZXMoUmVsZWFzZUNvbmZpZ3VyYXRp
b24sIGxpbmstPmhhbmRsZSk7DQorCWJyZWFrOw0KKyAgICBjYXNlIENTX0VW
RU5UX1BNX1JFU1VNRToNCisJbGluay0+c3RhdGUgJj0gfkRFVl9TVVNQRU5E
Ow0KKwkvKiBGYWxsIHRocm91Z2guLi4gKi8NCisgICAgY2FzZSBDU19FVkVO
VF9DQVJEX1JFU0VUOg0KKwlpZiAobGluay0+c3RhdGUgJiBERVZfQ09ORklH
KQ0KKwkgICAgQ2FyZFNlcnZpY2VzKFJlcXVlc3RDb25maWd1cmF0aW9uLCBs
aW5rLT5oYW5kbGUsICZsaW5rLT5jb25mKTsNCisJYnJlYWs7DQorICAgIH0N
CisgICAgcmV0dXJuIDA7DQorfSAvKiBhdm1hMWNzX2V2ZW50ICovDQorDQor
Lyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PSovDQorDQoraW50IGluaXRfbW9k
dWxlKHZvaWQpDQorew0KKyAgICBzZXJ2aW5mb190IHNlcnY7DQorICAgIERF
QlVHKDAsICIlc1xuIiwgdmVyc2lvbik7DQorICAgIENhcmRTZXJ2aWNlcyhH
ZXRDYXJkU2VydmljZXNJbmZvLCAmc2Vydik7DQorICAgIGlmIChzZXJ2LlJl
dmlzaW9uICE9IENTX1JFTEVBU0VfQ09ERSkgew0KKwlwcmludGsoS0VSTl9O
T1RJQ0UgImF2bWExX2NzOiBDYXJkIFNlcnZpY2VzIHJlbGVhc2UgIg0KKwkg
ICAgICAgImRvZXMgbm90IG1hdGNoIVxuIik7DQorCXJldHVybiAtMTsNCisg
ICAgfQ0KKyAgICByZWdpc3Rlcl9wY21jaWFfZHJpdmVyKCZkZXZfaW5mbywg
JmF2bWExY3NfYXR0YWNoLCAmYXZtYTFjc19kZXRhY2gpOw0KKyAgICByZXR1
cm4gMDsNCit9DQorDQordm9pZCBjbGVhbnVwX21vZHVsZSh2b2lkKQ0KK3sN
CisgICAgREVCVUcoMCwgImF2bWExX2NzOiB1bmxvYWRpbmdcbiIpOw0KKyAg
ICB1bnJlZ2lzdGVyX3BjbWNpYV9kcml2ZXIoJmRldl9pbmZvKTsNCisgICAg
d2hpbGUgKGRldl9saXN0ICE9IE5VTEwpIHsNCisJaWYgKGRldl9saXN0LT5z
dGF0ZSAmIERFVl9DT05GSUcpDQorCSAgICBhdm1hMWNzX3JlbGVhc2UoKHVf
bG9uZylkZXZfbGlzdCk7DQorCWF2bWExY3NfZGV0YWNoKGRldl9saXN0KTsN
CisgICAgfQ0KK30NCg==
--2003038337-851401618-992474442=:2297--
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/