Chipsets, DVD-RAM, and timeouts....

Andre Hedrick (andre@linux-ide.org)
Mon, 1 Jan 2001 00:07:34 -0800 (PST)


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.

---1019260510-992132526-978336454=:21836
Content-Type: text/plain; charset=us-ascii

ide.2.4.0-prerelease.1231.patch

./drivers/ide/cs5530.c
./drivers/ide/hpt366.c
./drivers/ide/ide-dma.c
./drivers/ide/ide-features.c
./drivers/ide/ide-pci.c
./drivers/ide/osb4.c
./drivers/ide/piix.c
./drivers/ide/sis5513.c
./drivers/pci/pci.ids
./include/linux/pci_ids.h

Chipset fixes, validity bits fixed, dma-timeout fix noted but
solution still in the works.

ide.2.4.0-prerelease.cd.1231.patch :

./drivers/ide/ide-cd.c
./drivers/ide/ide-cd.h

Adds ATAPI DVD-RAM native read/write mode for any FS.
mke2fs -b 2048 /dev/hdc
You must format to 2048 size blocks.
UDF is an unknown.

Regards,

Andre Hedrick
CTO Timpanogas Research Group
EVP Linux Development, TRG
Linux ATA Development

---1019260510-992132526-978336454=:21836
Content-Type: text/plain; charset=us-ascii; name="ide.2.4.0-prerelease.1231.patch"
Content-Transfer-Encoding: base64
Content-ID: <Pine.LNX.4.10.10101010007340.21836@master.linux-ide.org>
Content-Description:
Content-Disposition: attachment; filename="ide.2.4.0-prerelease.1231.patch"

ZGlmZiAtdXJOIGxpbnV4LTIuNC4wLXByZXJlbGVhc2UtcHJpc3RpbmUvZHJp
dmVycy9pZGUvY3M1NTMwLmMgbGludXgtMi40LjAtcHJlcmVsZWFzZS9kcml2
ZXJzL2lkZS9jczU1MzAuYw0KLS0tIGxpbnV4LTIuNC4wLXByZXJlbGVhc2Ut
cHJpc3RpbmUvZHJpdmVycy9pZGUvY3M1NTMwLmMJVHVlIEp1biAyMCAwNzo1
MjozNiAyMDAwDQorKysgbGludXgtMi40LjAtcHJlcmVsZWFzZS9kcml2ZXJz
L2lkZS9jczU1MzAuYwlTdW4gRGVjIDMxIDIxOjUzOjE3IDIwMDANCkBAIC0y
NTcsNiArMjU3LDE0IEBADQogCXVuc2lnbmVkIHNob3J0IHBjaWNtZCA9IDA7
DQogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7DQogDQorI2lmIGRlZmluZWQoRElT
UExBWV9DUzU1MzBfVElNSU5HUykgJiYgZGVmaW5lZChDT05GSUdfUFJPQ19G
UykNCisJaWYgKCFjczU1MzBfcHJvYykgew0KKwkJY3M1NTMwX3Byb2MgPSAx
Ow0KKwkJYm1pZGVfZGV2ID0gZGV2Ow0KKwkJY3M1NTMwX2Rpc3BsYXlfaW5m
byA9ICZjczU1MzBfZ2V0X2luZm87DQorCX0NCisjZW5kaWYgLyogRElTUExB
WV9DUzU1MzBfVElNSU5HUyAmJiBDT05GSUdfUFJPQ19GUyAqLw0KKw0KIAlw
Y2lfZm9yX2VhY2hfZGV2IChkZXYpIHsNCiAJCWlmIChkZXYtPnZlbmRvciA9
PSBQQ0lfVkVORE9SX0lEX0NZUklYKSB7DQogCQkJc3dpdGNoIChkZXYtPmRl
dmljZSkgew0KQEAgLTMyNiwxNCArMzM0LDYgQEANCiAJcGNpX3dyaXRlX2Nv
bmZpZ19ieXRlKG1hc3Rlcl8wLCAweDQzLCAweGMxKTsNCiANCiAJcmVzdG9y
ZV9mbGFncyhmbGFncyk7DQotDQotI2lmIGRlZmluZWQoRElTUExBWV9DUzU1
MzBfVElNSU5HUykgJiYgZGVmaW5lZChDT05GSUdfUFJPQ19GUykNCi0JaWYg
KCFjczU1MzBfcHJvYykgew0KLQkJY3M1NTMwX3Byb2MgPSAxOw0KLQkJYm1p
ZGVfZGV2ID0gZGV2Ow0KLQkJY3M1NTMwX2Rpc3BsYXlfaW5mbyA9ICZjczU1
MzBfZ2V0X2luZm87DQotCX0NCi0jZW5kaWYgLyogRElTUExBWV9DUzU1MzBf
VElNSU5HUyAmJiBDT05GSUdfUFJPQ19GUyAqLw0KIA0KIAlyZXR1cm4gMDsN
CiB9DQpkaWZmIC11ck4gbGludXgtMi40LjAtcHJlcmVsZWFzZS1wcmlzdGlu
ZS9kcml2ZXJzL2lkZS9ocHQzNjYuYyBsaW51eC0yLjQuMC1wcmVyZWxlYXNl
L2RyaXZlcnMvaWRlL2hwdDM2Ni5jDQotLS0gbGludXgtMi40LjAtcHJlcmVs
ZWFzZS1wcmlzdGluZS9kcml2ZXJzL2lkZS9ocHQzNjYuYwlUdWUgTm92ICA3
IDExOjAyOjI0IDIwMDANCisrKyBsaW51eC0yLjQuMC1wcmVyZWxlYXNlL2Ry
aXZlcnMvaWRlL2hwdDM2Ni5jCVN1biBEZWMgMzEgMjE6NTM6MTcgMjAwMA0K
QEAgLTM0Niw2ICszNDYsOSBAQA0KIA0KIHN0YXRpYyBpbnQgaHB0M3h4X3R1
bmVfY2hpcHNldCAoaWRlX2RyaXZlX3QgKmRyaXZlLCBieXRlIHNwZWVkKQ0K
IHsNCisJaWYgKChkcml2ZS0+bWVkaWEgIT0gaWRlX2Rpc2spICYmIChzcGVl
ZCA8IFhGRVJfU1dfRE1BXzApKQ0KKwkJcmV0dXJuIC0xOw0KKw0KIAlpZiAo
IWRyaXZlLT5pbml0X3NwZWVkKQ0KIAkJZHJpdmUtPmluaXRfc3BlZWQgPSBz
cGVlZDsNCiANCkBAIC00MjgsNiArNDMxLDkgQEANCiAJYnl0ZSB1bHRyYTY2
CQk9IGVpZ2h0eV9uaW50eV90aHJlZShkcml2ZSk7DQogCWludCAgcnZhbDsN
CiANCisJaWYgKChkcml2ZS0+bWVkaWEgIT0gaWRlX2Rpc2spICYmIChzcGVl
ZCA8IFhGRVJfU1dfRE1BXzApKQ0KKwkJcmV0dXJuICgoaW50KSBpZGVfZG1h
X29mZl9xdWlldGx5KTsNCisNCiAJaWYgKChpZC0+ZG1hX3VsdHJhICYgMHgw
MDIwKSAmJg0KIAkgICAgKCFjaGVja19pbl9kcml2ZV9saXN0cyhkcml2ZSwg
YmFkX2F0YTEwMF81KSkgJiYNCiAJICAgIChIUFQzNzBfQUxMT1dfQVRBMTAw
XzUpICYmDQpAQCAtNjE3LDggKzYyMywxNCBAQA0KIAkJcGNpX3dyaXRlX2Nv
bmZpZ19ieXRlKGRldiwgUENJX1JPTV9BRERSRVNTLCBkZXYtPnJlc291cmNl
W1BDSV9ST01fUkVTT1VSQ0VdLnN0YXJ0IHwgUENJX1JPTV9BRERSRVNTX0VO
QUJMRSk7DQogDQogCXBjaV9yZWFkX2NvbmZpZ19ieXRlKGRldiwgUENJX0NB
Q0hFX0xJTkVfU0laRSwgJnRlc3QpOw0KKw0KKyNpZiAwDQogCWlmICh0ZXN0
ICE9IDB4MDgpDQogCQlwY2lfd3JpdGVfY29uZmlnX2J5dGUoZGV2LCBQQ0lf
Q0FDSEVfTElORV9TSVpFLCAweDA4KTsNCisjZWxzZQ0KKwlpZiAodGVzdCAh
PSAoTDFfQ0FDSEVfQllURVMgLyA0KSkNCisJCXBjaV93cml0ZV9jb25maWdf
Ynl0ZShkZXYsIFBDSV9DQUNIRV9MSU5FX1NJWkUsIChMMV9DQUNIRV9CWVRF
UyAvIDQpKTsNCisjZW5kaWYNCiANCiAJcGNpX3JlYWRfY29uZmlnX2J5dGUo
ZGV2LCBQQ0lfTEFURU5DWV9USU1FUiwgJnRlc3QpOw0KIAlpZiAodGVzdCAh
PSAweDc4KQ0KZGlmZiAtdXJOIGxpbnV4LTIuNC4wLXByZXJlbGVhc2UtcHJp
c3RpbmUvZHJpdmVycy9pZGUvaWRlLWRtYS5jIGxpbnV4LTIuNC4wLXByZXJl
bGVhc2UvZHJpdmVycy9pZGUvaWRlLWRtYS5jDQotLS0gbGludXgtMi40LjAt
cHJlcmVsZWFzZS1wcmlzdGluZS9kcml2ZXJzL2lkZS9pZGUtZG1hLmMJVGh1
IEp1bCAyNyAxNjo0MDo1NyAyMDAwDQorKysgbGludXgtMi40LjAtcHJlcmVs
ZWFzZS9kcml2ZXJzL2lkZS9pZGUtZG1hLmMJU3VuIERlYyAzMSAyMTo1Mzox
NyAyMDAwDQpAQCAtOTAsNiArOTAsOCBAQA0KICNpbmNsdWRlIDxhc20vaW8u
aD4NCiAjaW5jbHVkZSA8YXNtL2lycS5oPg0KIA0KKyN1bmRlZiBDT05GSUdf
QkxLX0RFVl9JREVETUFfVElNRU9VVA0KKw0KIGV4dGVybiBjaGFyICppZGVf
ZG1hZnVuY192ZXJib3NlKGlkZV9kbWFfYWN0aW9uX3QgZG1hZnVuYyk7DQog
DQogI2lmZGVmIENPTkZJR19JREVETUFfTkVXX0RSSVZFX0xJU1RJTkdTDQpA
QCAtMjY1LDYgKzI2NywxMiBAQA0KIAkJY3VyX2FkZHIgPSBzZ19kbWFfYWRk
cmVzcyhzZyk7DQogCQljdXJfbGVuID0gc2dfZG1hX2xlbihzZyk7DQogDQor
CQkvKg0KKwkJICogRmlsbCBpbiB0aGUgZG1hIHRhYmxlLCB3aXRob3V0IGNy
b3NzaW5nIGFueSA2NGtCIGJvdW5kYXJpZXMuDQorCQkgKiBNb3N0IGhhcmR3
YXJlIHJlcXVpcmVzIDE2LWJpdCBhbGlnbm1lbnQgb2YgYWxsIGJsb2NrcywN
CisJCSAqIGJ1dCB0aGUgdHJtMjkwIHJlcXVpcmVzIDMyLWJpdCBhbGlnbm1l
bnQuDQorCQkgKi8NCisNCiAJCXdoaWxlIChjdXJfbGVuKSB7DQogCQkJaWYg
KCsrY291bnQgPj0gUFJEX0VOVFJJRVMpIHsNCiAJCQkJcHJpbnRrKCIlczog
RE1BIHRhYmxlIHRvbyBzbWFsbFxuIiwgZHJpdmUtPm5hbWUpOw0KQEAgLTUx
NSw5ICs1MjMsMTcgQEANCiAJCQlyZXR1cm4gY2hlY2tfZHJpdmVfbGlzdHMo
ZHJpdmUsIChmdW5jID09IGlkZV9kbWFfZ29vZF9kcml2ZSkpOw0KIAkJY2Fz
ZSBpZGVfZG1hX3ZlcmJvc2U6DQogCQkJcmV0dXJuIHJlcG9ydF9kcml2ZV9k
bWFpbmcoZHJpdmUpOw0KKwkJY2FzZSBpZGVfZG1hX3RpbWVvdXQ6DQorI2lm
ZGVmIENPTkZJR19CTEtfREVWX0lERURNQV9USU1FT1VUDQorCQkJLyoNCisJ
CQkgKiBIYXZlIHRvIGlzc3VlIGFuIGFib3J0IGFuZCByZXF1ZXVlIHRoZSBy
ZXF1ZXN0DQorCQkJICogRE1BIGVuZ2luZSBnb3QgdHVybmVkIG9mZiBieSBh
IGdvb2Z5IEFTSUMsIGFuZA0KKwkJCSAqIHdlIGhhdmUgdG8gY2xlYW4gdXAg
dGhlIG1lc3MsIGFuZCBoZXJlIGlzIGFzIGdvb2QNCisJCQkgKiBhcyBhbnku
ICBEbyBpdCBnbG9iYWxseSBmb3IgYWxsIGNoaXBzZXRzLg0KKwkJCSAqLw0K
KyNlbmRpZiAvKiBDT05GSUdfQkxLX0RFVl9JREVETUFfVElNRU9VVCAqLw0K
IAkJY2FzZSBpZGVfZG1hX3JldHVuZToNCiAJCWNhc2UgaWRlX2RtYV9sb3N0
aXJxOg0KLQkJY2FzZSBpZGVfZG1hX3RpbWVvdXQ6DQogCQkJcHJpbnRrKCJp
ZGVfZG1hcHJvYzogY2hpcHNldCBzdXBwb3J0ZWQgJXMgZnVuYyBvbmx5OiAl
ZFxuIiwgaWRlX2RtYWZ1bmNfdmVyYm9zZShmdW5jKSwgIGZ1bmMpOw0KIAkJ
CXJldHVybiAxOw0KIAkJZGVmYXVsdDoNCmRpZmYgLXVyTiBsaW51eC0yLjQu
MC1wcmVyZWxlYXNlLXByaXN0aW5lL2RyaXZlcnMvaWRlL2lkZS1mZWF0dXJl
cy5jIGxpbnV4LTIuNC4wLXByZXJlbGVhc2UvZHJpdmVycy9pZGUvaWRlLWZl
YXR1cmVzLmMNCi0tLSBsaW51eC0yLjQuMC1wcmVyZWxlYXNlLXByaXN0aW5l
L2RyaXZlcnMvaWRlL2lkZS1mZWF0dXJlcy5jCU1vbiBPY3QgMTYgMTI6MjE6
NDAgMjAwMA0KKysrIGxpbnV4LTIuNC4wLXByZXJlbGVhc2UvZHJpdmVycy9p
ZGUvaWRlLWZlYXR1cmVzLmMJU3VuIERlYyAzMSAyMTo1MzoxNyAyMDAwDQpA
QCAtMjI0LDcgKzIyNCw3IEBADQogI2lmbmRlZiBDT05GSUdfSURFRE1BX0lW
Qg0KIAkJaWYgKChkcml2ZS0+aWQtPmh3X2NvbmZpZyAmIDB4NjAwMCkgPT0g
MCkgew0KICNlbHNlIC8qICFDT05GSUdfSURFRE1BX0lWQiAqLw0KLQkJaWYg
KCgoZHJpdmUtPmlkLT5od19jb25maWcgJiAweDIwMDApID09IDApIHx8DQor
CQlpZiAoKChkcml2ZS0+aWQtPmh3X2NvbmZpZyAmIDB4MjAwMCkgPT0gMCkg
JiYNCiAJCSAgICAoKGRyaXZlLT5pZC0+aHdfY29uZmlnICYgMHg0MDAwKSA9
PSAwKSkgew0KICNlbmRpZiAvKiBDT05GSUdfSURFRE1BX0lWQiAqLw0KIAkJ
CXByaW50aygiJXM6IFNwZWVkIHdhcm5pbmdzIFVETUEgMy80LzUgaXMgbm90
IGZ1bmN0aW9uYWwuXG4iLCBkcml2ZS0+bmFtZSk7DQpkaWZmIC11ck4gbGlu
dXgtMi40LjAtcHJlcmVsZWFzZS1wcmlzdGluZS9kcml2ZXJzL2lkZS9pZGUt
cGNpLmMgbGludXgtMi40LjAtcHJlcmVsZWFzZS9kcml2ZXJzL2lkZS9pZGUt
cGNpLmMNCi0tLSBsaW51eC0yLjQuMC1wcmVyZWxlYXNlLXByaXN0aW5lL2Ry
aXZlcnMvaWRlL2lkZS1wY2kuYwlUdWUgTm92ICA3IDExOjAyOjI0IDIwMDAN
CisrKyBsaW51eC0yLjQuMC1wcmVyZWxlYXNlL2RyaXZlcnMvaWRlL2lkZS1w
Y2kuYwlTdW4gRGVjIDMxIDIxOjUzOjE3IDIwMDANCkBAIC01NjEsNyArNTYx
LDcgQEANCiAJaWYgKElERV9QQ0lfREVWSURfRVEoZC0+ZGV2aWQsIERFVklE
X0hQVDM0WCkpIHsNCiAJCS8qIHNlZSBjb21tZW50cyBpbiBocHQzNHguYyBv
biB3aHkuLi4uLiAqLw0KIAkJY2hhciAqY2hpcHNldF9uYW1lc1tdID0geyJI
UFQzNDMiLCAiSFBUMzQ1In07DQotCQlzdHJjcHkoZC0+bmFtZSwgY2hpcHNl
dF9uYW1lc1socGNpY21kICYgUENJX0NPTU1BTkRfTUVNT1JZKV0pOw0KKwkJ
c3RyY3B5KGQtPm5hbWUsIGNoaXBzZXRfbmFtZXNbKHBjaWNtZCAmIFBDSV9D
T01NQU5EX01FTU9SWSkgPyAxIDogMF0pOw0KIAkJZC0+Ym9vdGFibGUgPSAo
cGNpY21kICYgUENJX0NPTU1BTkRfTUVNT1JZKSA/IE9GRl9CT0FSRCA6IE5F
VkVSX0JPQVJEOw0KIAl9DQogDQpAQCAtNzUzLDYgKzc1MywxMiBAQA0KIAkJ
CWlmIChocHQzNjNfc2hhcmVkX3BpbiAmJiBocHQzNjNfc2hhcmVkX2lycSkg
ew0KIAkJCQlkLT5ib290YWJsZSA9IE9OX0JPQVJEOw0KIAkJCQlwcmludGso
IiVzOiBvbmJvYXJkIHZlcnNpb24gb2YgY2hpcHNldCwgcGluMT0lZCBwaW4y
PSVkXG4iLCBkLT5uYW1lLCBwaW4xLCBwaW4yKTsNCisjaWYgMA0KKwkJCQkv
KiBJIGZvcmdvdCB3aHkgSSBkaWQgdGhpcyBvbmNlLCBidXQgaXQgZml4ZWQg
c29tZXRoaW5nLiAqLw0KKwkJCQlwY2lfd3JpdGVfY29uZmlnX2J5dGUoZGV2
MiwgUENJX0lOVEVSUlVQVF9QSU4sIGRldi0+aXJxKTsNCisJCQkJcHJpbnRr
KCJQQ0k6ICVzOiBGaXhpbmcgaW50ZXJydXB0ICVkIHBpbiAlZCB0byBaRVJP
IFxuIiwgZC0+bmFtZSwgZGV2Mi0+aXJxLCBwaW4yKTsNCisJCQkJcGNpX3dy
aXRlX2NvbmZpZ19ieXRlKGRldjIsIFBDSV9JTlRFUlJVUFRfTElORSwgMCk7
DQorI2VuZGlmDQogCQkJfQ0KIAkJCWJyZWFrOw0KIAkJfQ0KZGlmZiAtdXJO
IGxpbnV4LTIuNC4wLXByZXJlbGVhc2UtcHJpc3RpbmUvZHJpdmVycy9pZGUv
b3NiNC5jIGxpbnV4LTIuNC4wLXByZXJlbGVhc2UvZHJpdmVycy9pZGUvb3Ni
NC5jDQotLS0gbGludXgtMi40LjAtcHJlcmVsZWFzZS1wcmlzdGluZS9kcml2
ZXJzL2lkZS9vc2I0LmMJVGh1IE9jdCAyNiAxNDoxMTozOSAyMDAwDQorKysg
bGludXgtMi40LjAtcHJlcmVsZWFzZS9kcml2ZXJzL2lkZS9vc2I0LmMJU3Vu
IERlYyAzMSAyMTo1MzoxNyAyMDAwDQpAQCAtNjAsMTQgKzYwLDEzIEBADQog
I2luY2x1ZGUgPGxpbnV4L3N0YXQuaD4NCiAjaW5jbHVkZSA8bGludXgvcHJv
Y19mcy5oPg0KIA0KLXN0YXRpYyBieXRlIG9zYjRfcmV2aXNpb24gPSAwOw0K
IHN0YXRpYyBzdHJ1Y3QgcGNpX2RldiAqYm1pZGVfZGV2Ow0KIA0KLXN0YXRp
YyBpbnQgb3NiNF9nZXRfaW5mbyhjaGFyICosIGNoYXIgKiosIG9mZl90LCBp
bnQsIGludCk7DQotZXh0ZXJuIGludCAoKm9zYjRfZGlzcGxheV9pbmZvKShj
aGFyICosIGNoYXIgKiosIG9mZl90LCBpbnQsIGludCk7IC8qIGlkZS1wcm9j
LmMgKi8NCitzdGF0aWMgaW50IG9zYjRfZ2V0X2luZm8oY2hhciAqLCBjaGFy
ICoqLCBvZmZfdCwgaW50KTsNCitleHRlcm4gaW50ICgqb3NiNF9kaXNwbGF5
X2luZm8pKGNoYXIgKiwgY2hhciAqKiwgb2ZmX3QsIGludCk7IC8qIGlkZS1w
cm9jLmMgKi8NCiBleHRlcm4gY2hhciAqaWRlX21lZGlhX3ZlcmJvc2UoaWRl
X2RyaXZlX3QgKik7DQogDQotc3RhdGljIGludCBvc2I0X2dldF9pbmZvIChj
aGFyICpidWZmZXIsIGNoYXIgKiphZGRyLCBvZmZfdCBvZmZzZXQsIGludCBj
b3VudCwgaW50IGR1bW15KQ0KK3N0YXRpYyBpbnQgb3NiNF9nZXRfaW5mbyAo
Y2hhciAqYnVmZmVyLCBjaGFyICoqYWRkciwgb2ZmX3Qgb2Zmc2V0LCBpbnQg
Y291bnQpDQogew0KIAljaGFyICpwID0gYnVmZmVyOw0KIAl1MzIgYmlibWEg
PSBwY2lfcmVzb3VyY2Vfc3RhcnQoYm1pZGVfZGV2LCA0KTsNCkBAIC0xMTMs
MTE2ICsxMTIsMjAyIEBADQogfQ0KICNlbmRpZiAgLyogZGVmaW5lZChESVNQ
TEFZX09TQjRfVElNSU5HUykgJiYgZGVmaW5lZChDT05GSUdfUFJPQ19GUykg
Ki8NCiANCitzdGF0aWMgYnl0ZSBvc2I0X3JldmlzaW9uID0gMDsNCisNCiBi
eXRlIG9zYjRfcHJvYyA9IDA7DQogDQogZXh0ZXJuIGNoYXIgKmlkZV94ZmVy
X3ZlcmJvc2UgKGJ5dGUgeGZlcl9yYXRlKTsNCiANCi1zdGF0aWMgdm9pZCBv
c2I0X3R1bmVfZHJpdmUgKGlkZV9kcml2ZV90ICpkcml2ZSwgYnl0ZSBwaW8p
DQotew0KLSAgICAgICAgLyogY29tbWFuZC9yZWNvdmVyIHdpZHRocyAqLw0K
LQlieXRlIHRpbWluZ3NbXQk9IHsgMHg1ZCwgMHg0NywgMHgzNCwgMHgyMiwg
MHgyMCB9Ow0KLQlpbnQgcG9ydAkJPSBIV0lGKGRyaXZlKS0+aW5kZXggPyAw
eDQyIDogMHg0MDsNCi0NCi0JcGlvID0gaWRlX2dldF9iZXN0X3Bpb19tb2Rl
KGRyaXZlLCBwaW8sIDQsIE5VTEwpOw0KLQlpZiAoJkhXSUYoZHJpdmUpLT5k
cml2ZXNbMF0gPT0gZHJpdmUpICAvKiBtYXN0ZXIgZHJpdmUgKi8NCi0JCXBv
cnQrKzsNCi0JcGNpX3dyaXRlX2NvbmZpZ19ieXRlKEhXSUYoZHJpdmUpLT5w
Y2lfZGV2LCBwb3J0LCB0aW1pbmdzW3Bpb10pOw0KLX0NCitzdGF0aWMgc3Ry
dWN0IHBjaV9kZXYgKmlzYV9kZXY7DQogDQotI2lmIGRlZmluZWQoQ09ORklH
X0JMS19ERVZfSURFRE1BKSAmJiBkZWZpbmVkKENPTkZJR19CTEtfREVWX09T
QjQpDQogc3RhdGljIGludCBvc2I0X3R1bmVfY2hpcHNldCAoaWRlX2RyaXZl
X3QgKmRyaXZlLCBieXRlIHNwZWVkKQ0KIHsNCisJYnl0ZSB1ZG1hX21vZGVz
W10JPSB7IDB4MDAsIDB4MDEsIDB4MDIgfTsNCisJYnl0ZSBkbWFfbW9kZXNb
XQk9IHsgMHg3NywgMHgyMSwgMHgyMCB9Ow0KKwlieXRlIHBpb19tb2Rlc1td
CT0geyAweDVkLCAweDQ3LCAweDM0LCAweDIyLCAweDIwIH07DQorDQogCWlk
ZV9od2lmX3QgKmh3aWYJPSBIV0lGKGRyaXZlKTsNCiAJc3RydWN0IHBjaV9k
ZXYgKmRldgk9IGh3aWYtPnBjaV9kZXY7DQotCWJ5dGUgaXNfc2xhdmUgICAg
ICAgICAgID0gKCZIV0lGKGRyaXZlKS0+ZHJpdmVzWzFdID09IGRyaXZlKSA/
IDEgOiAwOw0KLQlieXRlIGJpdDgsIGVuYWJsZTsNCi0JaW50IGVycjsNCi0J
DQotCS8qIGNsZWFyIHVkbWEgcmVnaXN0ZXIgaWYgd2UgZG9uJ3Qgd2FudCB1
ZG1hICovDQotCWlmIChzcGVlZCA8IFhGRVJfVURNQV8wKSB7DQotCQllbmFi
bGUgPSAweDEgPDwgKGlzX3NsYXZlICsgKGh3aWYtPmNoYW5uZWwgPyAyIDog
MCkpOw0KLQkJcGNpX3JlYWRfY29uZmlnX2J5dGUoZGV2LCAweDU0LCAmYml0
OCk7DQotCQlwY2lfd3JpdGVfY29uZmlnX2J5dGUoZGV2LCAweDU0LCBiaXQ4
ICYgfmVuYWJsZSk7DQotCX0NCi0NCisJYnl0ZSB1bml0CQk9IChkcml2ZS0+
c2VsZWN0LmIudW5pdCAmIDB4MDEpOw0KICNpZmRlZiBDT05GSUdfQkxLX0RF
Vl9JREVETUENCi0JaWYgKHNwZWVkID49IFhGRVJfTVdfRE1BXzApIHsNCi0J
CWJ5dGUgY2hhbm5lbCA9IGh3aWYtPmNoYW5uZWwgPyAweDQ2IDogMHg0NDsN
Ci0JCWlmICghaXNfc2xhdmUpDQotCQkJY2hhbm5lbCsrOw0KKwl1bnNpZ25l
ZCBsb25nIGRtYV9iYXNlCT0gaHdpZi0+ZG1hX2Jhc2U7DQorI2VuZGlmIC8q
IENPTkZJR19CTEtfREVWX0lERURNQSAqLw0KKwlpbnQgZXJyOw0KIA0KLQkJ
c3dpdGNoIChzcGVlZCkgew0KLQkJY2FzZSBYRkVSX01XX0RNQV8wOg0KLQkJ
CWJpdDggPSAweDc3Ow0KLQkJCWJyZWFrOw0KLQkJY2FzZSBYRkVSX01XX0RN
QV8xOg0KLQkJCWJpdDggPSAweDIxOw0KLQkJCWJyZWFrOw0KLQkJY2FzZSBY
RkVSX01XX0RNQV8yOg0KKwlieXRlIGRyaXZlX3BjaQkJPSAweDAwOw0KKwli
eXRlIGRyaXZlX3BjaTIJCT0gMHgwMDsNCisJYnl0ZSBkcml2ZV9wY2kzCQk9
IGh3aWYtPmNoYW5uZWwgPyAweDU3IDogMHg1NjsNCisNCisJYnl0ZSB1bHRy
YV9lbmFibGUJPSAweDAwOw0KKwlieXRlIHVsdHJhX3RpbWluZwk9IDB4MDA7
DQorCWJ5dGUgZG1hX3RpbWluZwkJPSAweDAwOw0KKwlieXRlIHBpb190aW1p
bmcJCT0gMHgwMDsNCisNCisJYnl0ZSBwaW8JPSBpZGVfZ2V0X2Jlc3RfcGlv
X21vZGUoZHJpdmUsIDI1NSwgNSwgTlVMTCk7DQorDQorICAgICAgICBzd2l0
Y2ggKGRyaXZlLT5kbikgew0KKwkJY2FzZSAwOiBkcml2ZV9wY2kgPSAweDQx
OyBkcml2ZV9wY2kyID0gMHg0NTsgYnJlYWs7DQorCQljYXNlIDE6IGRyaXZl
X3BjaSA9IDB4NDA7IGRyaXZlX3BjaTIgPSAweDQ0OyBicmVhazsNCisJCWNh
c2UgMjogZHJpdmVfcGNpID0gMHg0MzsgZHJpdmVfcGNpMiA9IDB4NDc7IGJy
ZWFrOw0KKwkJY2FzZSAzOiBkcml2ZV9wY2kgPSAweDQyOyBkcml2ZV9wY2ky
ID0gMHg0NjsgYnJlYWs7DQogCQlkZWZhdWx0Og0KLQkJCWJpdDggPSAweDIw
Ow0KLQkJCWJyZWFrOw0KLQkJfQ0KLQkJcGNpX3dyaXRlX2NvbmZpZ19ieXRl
KGRldiwgY2hhbm5lbCwgYml0OCk7DQorCQkJcmV0dXJuIC0xOw0KIAl9DQog
DQotCWlmIChzcGVlZCA+PSBYRkVSX1VETUFfMCkgew0KLQkJYnl0ZSBjaGFu
bmVsID0gaHdpZi0+Y2hhbm5lbCA/IDB4NTcgOiAweDU2Ow0KLQkJaW50IHNs
YXZlID0gaXNfc2xhdmUgPyA0IDogMDsNCisJcGNpX3JlYWRfY29uZmlnX2J5
dGUoZGV2LCBkcml2ZV9wY2ksICZwaW9fdGltaW5nKTsNCisJcGNpX3JlYWRf
Y29uZmlnX2J5dGUoZGV2LCBkcml2ZV9wY2kyLCAmZG1hX3RpbWluZyk7DQor
CXBjaV9yZWFkX2NvbmZpZ19ieXRlKGRldiwgZHJpdmVfcGNpMywgJnVsdHJh
X3RpbWluZyk7DQorCXBjaV9yZWFkX2NvbmZpZ19ieXRlKGRldiwgMHg1NCwg
JnVsdHJhX2VuYWJsZSk7DQorDQorI2lmZGVmIERFQlVHDQorCXByaW50aygi
JXM6IFVETUEgMHglMDJ4IERNQVBJTyAweCUwMnggUElPIDB4JTAyeCAiLA0K
KwkJZHJpdmUtPm5hbWUsIHVsdHJhX3RpbWluZywgZG1hX3RpbWluZywgcGlv
X3RpbWluZyk7DQorI2VuZGlmDQogDQotCQlwY2lfcmVhZF9jb25maWdfYnl0
ZShkZXYsIGNoYW5uZWwsICZiaXQ4KTsNCi0JCWJpdDggJj0gfigweGYgPDwg
c2xhdmUpOw0KLQkJc3dpdGNoIChzcGVlZCkgew0KLQkJY2FzZSBYRkVSX1VE
TUFfMDoNCisJcGlvX3RpbWluZwkmPSB+MHhGRjsNCisJZG1hX3RpbWluZwkm
PSB+MHhGRjsNCisJdWx0cmFfdGltaW5nCSY9IH4oMHgwRiA8PCAoNCp1bml0
KSk7DQorCXVsdHJhX2VuYWJsZQkmPSB+KDB4MDEgPDwgZHJpdmUtPmRuKTsN
CisNCisJc3dpdGNoKHNwZWVkKSB7DQorCQljYXNlIFhGRVJfUElPXzQ6DQor
CQljYXNlIFhGRVJfUElPXzM6DQorCQljYXNlIFhGRVJfUElPXzI6DQorCQlj
YXNlIFhGRVJfUElPXzE6DQorCQljYXNlIFhGRVJfUElPXzA6DQorCQkJcGlv
X3RpbWluZyB8PSBwaW9fbW9kZXNbc3BlZWQgLSBYRkVSX1BJT18wXTsNCiAJ
CQlicmVhazsNCi0JCWNhc2UgWEZFUl9VRE1BXzE6DQotCQkJYml0OCB8PSAw
eDEgPDwgc2xhdmU7DQorI2lmZGVmIENPTkZJR19CTEtfREVWX0lERURNQQ0K
KwkJY2FzZSBYRkVSX01XX0RNQV8yOg0KKwkJY2FzZSBYRkVSX01XX0RNQV8x
Og0KKwkJY2FzZSBYRkVSX01XX0RNQV8wOg0KKwkJCXBpb190aW1pbmcgfD0g
cGlvX21vZGVzW3Bpb107DQorCQkJZG1hX3RpbWluZyB8PSBkbWFfbW9kZXNb
c3BlZWQgLSBYRkVSX01XX0RNQV8wXTsNCiAJCQlicmVhazsNCisNCisvLwkJ
Y2FzZSBYRkVSX1VETUFfNToNCisvLwkJY2FzZSBYRkVSX1VETUFfNDoNCisv
LwkJY2FzZSBYRkVSX1VETUFfMzoNCiAJCWNhc2UgWEZFUl9VRE1BXzI6DQor
CQljYXNlIFhGRVJfVURNQV8xOg0KKwkJY2FzZSBYRkVSX1VETUFfMDoNCisJ
CQlwaW9fdGltaW5nIHw9IHBpb19tb2Rlc1twaW9dOw0KKwkJCWRtYV90aW1p
bmcgfD0gZG1hX21vZGVzWzJdOw0KKwkJCXVsdHJhX3RpbWluZyB8PSAoKHVk
bWFfbW9kZXNbc3BlZWQgLSBYRkVSX1VETUFfMF0pIDw8ICg0KnVuaXQpKTsN
CisJCQl1bHRyYV9lbmFibGUgfD0gKDB4MDEgPDwgZHJpdmUtPmRuKTsNCisj
ZW5kaWYNCiAJCWRlZmF1bHQ6DQotCQkJYml0OCB8PSAweDIgPDwgc2xhdmU7
DQogCQkJYnJlYWs7DQotCQl9DQotCQlwY2lfd3JpdGVfY29uZmlnX2J5dGUo
ZGV2LCBjaGFubmVsLCBiaXQ4KTsNCi0NCi0JCWVuYWJsZSA9IDB4MSA8PCAo
aXNfc2xhdmUgKyAoaHdpZi0+Y2hhbm5lbCA/IDIgOiAwKSk7DQotCQlwY2lf
cmVhZF9jb25maWdfYnl0ZShkZXYsIDB4NTQsICZiaXQ4KTsNCi0JCXBjaV93
cml0ZV9jb25maWdfYnl0ZShkZXYsIDB4NTQsIGJpdDggfCBlbmFibGUpOw0K
IAl9DQorDQorI2lmZGVmIERFQlVHDQorCXByaW50aygiJXM6IFVETUEgMHgl
MDJ4IERNQVBJTyAweCUwMnggUElPIDB4JTAyeCAiLA0KKwkJZHJpdmUtPm5h
bWUsIHVsdHJhX3RpbWluZywgZG1hX3RpbWluZywgcGlvX3RpbWluZyk7DQog
I2VuZGlmDQogDQogI2lmIE9TQjRfREVCVUdfRFJJVkVfSU5GTw0KIAlwcmlu
dGsoIiVzOiAlcyBkcml2ZSVkXG4iLCBkcml2ZS0+bmFtZSwgaWRlX3hmZXJf
dmVyYm9zZShzcGVlZCksIGRyaXZlLT5kbik7DQogI2VuZGlmIC8qIE9TQjRf
REVCVUdfRFJJVkVfSU5GTyAqLw0KKw0KIAlpZiAoIWRyaXZlLT5pbml0X3Nw
ZWVkKQ0KIAkJZHJpdmUtPmluaXRfc3BlZWQgPSBzcGVlZDsNCisNCisJcGNp
X3dyaXRlX2NvbmZpZ19ieXRlKGRldiwgZHJpdmVfcGNpLCBwaW9fdGltaW5n
KTsNCisjaWZkZWYgQ09ORklHX0JMS19ERVZfSURFRE1BDQorCXBjaV93cml0
ZV9jb25maWdfYnl0ZShkZXYsIGRyaXZlX3BjaTIsIGRtYV90aW1pbmcpOw0K
KwlwY2lfd3JpdGVfY29uZmlnX2J5dGUoZGV2LCBkcml2ZV9wY2kzLCB1bHRy
YV90aW1pbmcpOw0KKwlwY2lfd3JpdGVfY29uZmlnX2J5dGUoZGV2LCAweDU0
LCB1bHRyYV9lbmFibGUpOw0KKwkNCisJaWYgKHNwZWVkID4gWEZFUl9QSU9f
NCkgew0KKwkJb3V0YihpbmIoZG1hX2Jhc2UrMil8KDE8PCg1K3VuaXQpKSwg
ZG1hX2Jhc2UrMik7DQorCX0gZWxzZSB7DQorCQlvdXRiKGluYihkbWFfYmFz
ZSsyKSAmIH4oMTw8KDUrdW5pdCkpLCBkbWFfYmFzZSsyKTsNCisJfQ0KKyNl
bmRpZiAvKiBDT05GSUdfQkxLX0RFVl9JREVETUEgKi8NCisNCiAJZXJyID0g
aWRlX2NvbmZpZ19kcml2ZV9zcGVlZChkcml2ZSwgc3BlZWQpOw0KIAlkcml2
ZS0+Y3VycmVudF9zcGVlZCA9IHNwZWVkOw0KIAlyZXR1cm4gZXJyOw0KIH0N
CiANCi1zdGF0aWMgaW50IG9zYjRfY29uZmlnX2RyaXZlX2Zvcl9kbWEgKGlk
ZV9kcml2ZV90ICpkcml2ZSkNCitzdGF0aWMgdm9pZCBjb25maWdfY2hpcHNl
dF9mb3JfcGlvIChpZGVfZHJpdmVfdCAqZHJpdmUpDQorew0KKwl1bnNpZ25l
ZCBzaG9ydCBlaWRlX3Bpb190aW1pbmdbNl0gPSB7OTYwLCA0ODAsIDI0MCwg
MTgwLCAxMjAsIDkwfTsNCisJdW5zaWduZWQgc2hvcnQgeGZlcl9waW8gPSBk
cml2ZS0+aWQtPmVpZGVfcGlvX21vZGVzOw0KKwlieXRlCQkJdGltaW5nLCBz
cGVlZCwgcGlvOw0KKw0KKwlwaW8gPSBpZGVfZ2V0X2Jlc3RfcGlvX21vZGUo
ZHJpdmUsIDI1NSwgNSwgTlVMTCk7DQorDQorCWlmICh4ZmVyX3Bpbz4gNCkN
CisJCXhmZXJfcGlvID0gMDsNCisNCisJaWYgKGRyaXZlLT5pZC0+ZWlkZV9w
aW9faW9yZHkgPiAwKSB7DQorCQlmb3IgKHhmZXJfcGlvID0gNTsNCisJCQl4
ZmVyX3Bpbz4wICYmDQorCQkJZHJpdmUtPmlkLT5laWRlX3Bpb19pb3JkeT5l
aWRlX3Bpb190aW1pbmdbeGZlcl9waW9dOw0KKwkJCXhmZXJfcGlvLS0pOw0K
Kwl9IGVsc2Ugew0KKwkJeGZlcl9waW8gPSAoZHJpdmUtPmlkLT5laWRlX3Bp
b19tb2RlcyAmIDQpID8gMHgwNSA6DQorCQkJICAgKGRyaXZlLT5pZC0+ZWlk
ZV9waW9fbW9kZXMgJiAyKSA/IDB4MDQgOg0KKwkJCSAgIChkcml2ZS0+aWQt
PmVpZGVfcGlvX21vZGVzICYgMSkgPyAweDAzIDoNCisJCQkgICAoZHJpdmUt
PmlkLT50UElPICYgMikgPyAweDAyIDoNCisJCQkgICAoZHJpdmUtPmlkLT50
UElPICYgMSkgPyAweDAxIDogeGZlcl9waW87DQorCX0NCisNCisJdGltaW5n
ID0gKHhmZXJfcGlvID49IHBpbykgPyB4ZmVyX3BpbyA6IHBpbzsNCisNCisJ
c3dpdGNoKHRpbWluZykgew0KKwkJY2FzZSA0OiBzcGVlZCA9IFhGRVJfUElP
XzQ7YnJlYWs7DQorCQljYXNlIDM6IHNwZWVkID0gWEZFUl9QSU9fMzticmVh
azsNCisJCWNhc2UgMjogc3BlZWQgPSBYRkVSX1BJT18yO2JyZWFrOw0KKwkJ
Y2FzZSAxOiBzcGVlZCA9IFhGRVJfUElPXzE7YnJlYWs7DQorCQlkZWZhdWx0
Og0KKwkJCXNwZWVkID0gKCFkcml2ZS0+aWQtPnRQSU8pID8gWEZFUl9QSU9f
MCA6IFhGRVJfUElPX1NMT1c7DQorCQkJYnJlYWs7DQorCX0NCisJKHZvaWQp
IG9zYjRfdHVuZV9jaGlwc2V0KGRyaXZlLCBzcGVlZCk7DQorCWRyaXZlLT5j
dXJyZW50X3NwZWVkID0gc3BlZWQ7DQorfQ0KKw0KK3N0YXRpYyB2b2lkIG9z
YjRfdHVuZV9kcml2ZSAoaWRlX2RyaXZlX3QgKmRyaXZlLCBieXRlIHBpbykN
Cit7DQorCWJ5dGUgc3BlZWQ7DQorCXN3aXRjaChwaW8pIHsNCisJCWNhc2Ug
NDoJCXNwZWVkID0gWEZFUl9QSU9fNDticmVhazsNCisJCWNhc2UgMzoJCXNw
ZWVkID0gWEZFUl9QSU9fMzticmVhazsNCisJCWNhc2UgMjoJCXNwZWVkID0g
WEZFUl9QSU9fMjticmVhazsNCisJCWNhc2UgMToJCXNwZWVkID0gWEZFUl9Q
SU9fMTticmVhazsNCisJCWRlZmF1bHQ6CXNwZWVkID0gWEZFUl9QSU9fMDti
cmVhazsNCisJfQ0KKwkodm9pZCkgb3NiNF90dW5lX2NoaXBzZXQoZHJpdmUs
IHNwZWVkKTsNCit9DQorDQorI2lmZGVmIENPTkZJR19CTEtfREVWX0lERURN
QQ0KK3N0YXRpYyBpbnQgY29uZmlnX2NoaXBzZXRfZm9yX2RtYSAoaWRlX2Ry
aXZlX3QgKmRyaXZlKQ0KIHsNCiAJc3RydWN0IGhkX2RyaXZlaWQgKmlkCT0g
ZHJpdmUtPmlkOw0KIAlieXRlCQkJc3BlZWQ7DQogDQorI2lmIDANCiAJYnl0
ZSB1ZG1hXzY2CQk9IGVpZ2h0eV9uaW50eV90aHJlZShkcml2ZSk7DQogCS8q
IG5lZWQgc3BlY3MgdG8gZmlndXJlIG91dCBpZiBvc2I0IGlzIGNhcGFibGUg
b2YgYXRhLzY2LzEwMCAqLw0KIAlpbnQgdWx0cmExMDAJCT0gMDsNCiAJaW50
IHVsdHJhNjYJCT0gMDsNCi0JaW50IHVsdHJhCQk9IDE7DQogDQogCWlmICgo
aWQtPmRtYV91bHRyYSAmIDB4MDAyMCkgJiYgKHVkbWFfNjYpICYmICh1bHRy
YTEwMCkpIHsNCiAJCXNwZWVkID0gWEZFUl9VRE1BXzU7DQotCX0gZWxzZSBp
ZiAoKGlkLT5kbWFfdWx0cmEgJiAweDAwMTApICYmICh1bHRyYSkpIHsNCisJ
fSBlbHNlIGlmIChpZC0+ZG1hX3VsdHJhICYgMHgwMDEwKSB7DQogCQlzcGVl
ZCA9ICgodWRtYV82NikgJiYgKHVsdHJhNjYpKSA/IFhGRVJfVURNQV80IDog
WEZFUl9VRE1BXzI7DQotCX0gZWxzZSBpZiAoKGlkLT5kbWFfdWx0cmEgJiAw
eDAwMDgpICYmICh1bHRyYSkpIHsNCisJfSBlbHNlIGlmIChpZC0+ZG1hX3Vs
dHJhICYgMHgwMDA4KSB7DQogCQlzcGVlZCA9ICgodWRtYV82NikgJiYgKHVs
dHJhNjYpKSA/IFhGRVJfVURNQV8zIDogWEZFUl9VRE1BXzE7DQotCX0gZWxz
ZSBpZiAoKGlkLT5kbWFfdWx0cmEgJiAweDAwMDQpICYmICh1bHRyYSkpIHsN
CisJfSBlbHNlIGlmIChpZC0+ZG1hX3VsdHJhICYgMHgwMDA0KSB7DQorI2Vs
c2UNCisJaWYgKGlkLT5kbWFfdWx0cmEgJiAweDAwMDQpIHsNCisjZW5kaWYN
CiAJCXNwZWVkID0gWEZFUl9VRE1BXzI7DQotCX0gZWxzZSBpZiAoKGlkLT5k
bWFfdWx0cmEgJiAweDAwMDIpICYmICh1bHRyYSkpIHsNCisJfSBlbHNlIGlm
IChpZC0+ZG1hX3VsdHJhICYgMHgwMDAyKSB7DQogCQlzcGVlZCA9IFhGRVJf
VURNQV8xOw0KLQl9IGVsc2UgaWYgKChpZC0+ZG1hX3VsdHJhICYgMHgwMDAx
KSAmJiAodWx0cmEpKSB7DQorCX0gZWxzZSBpZiAoaWQtPmRtYV91bHRyYSAm
IDB4MDAwMSkgew0KIAkJc3BlZWQgPSBYRkVSX1VETUFfMDsNCiAJfSBlbHNl
IGlmIChpZC0+ZG1hX213b3JkICYgMHgwMDA0KSB7DQogCQlzcGVlZCA9IFhG
RVJfTVdfRE1BXzI7DQpAQCAtMjQzLDQ1ICszMjgsODcgQEANCiAJCQkJCQkg
ICAgIGlkZV9kbWFfb2ZmX3F1aWV0bHkpOw0KIH0NCiANCitzdGF0aWMgaW50
IGNvbmZpZ19kcml2ZV94ZmVyX3JhdGUgKGlkZV9kcml2ZV90ICpkcml2ZSkN
Cit7DQorCXN0cnVjdCBoZF9kcml2ZWlkICppZCA9IGRyaXZlLT5pZDsNCisJ
aWRlX2RtYV9hY3Rpb25fdCBkbWFfZnVuYyA9IGlkZV9kbWFfb247DQorDQor
CWlmIChpZCAmJiAoaWQtPmNhcGFiaWxpdHkgJiAxKSAmJiBIV0lGKGRyaXZl
KS0+YXV0b2RtYSkgew0KKwkJLyogQ29uc3VsdCB0aGUgbGlzdCBvZiBrbm93
biAiYmFkIiBkcml2ZXMgKi8NCisJCWlmIChpZGVfZG1hcHJvYyhpZGVfZG1h
X2JhZF9kcml2ZSwgZHJpdmUpKSB7DQorCQkJZG1hX2Z1bmMgPSBpZGVfZG1h
X29mZjsNCisJCQlnb3RvIGZhc3RfYXRhX3BpbzsNCisJCX0NCisJCWRtYV9m
dW5jID0gaWRlX2RtYV9vZmZfcXVpZXRseTsNCisJCWlmIChpZC0+ZmllbGRf
dmFsaWQgJiA0KSB7DQorCQkJaWYgKGlkLT5kbWFfdWx0cmEgJiAweDAwMkYp
IHsNCisJCQkJLyogRm9yY2UgaWYgQ2FwYWJsZSBVbHRyYURNQSAqLw0KKwkJ
CQlkbWFfZnVuYyA9IGNvbmZpZ19jaGlwc2V0X2Zvcl9kbWEoZHJpdmUpOw0K
KwkJCQlpZiAoKGlkLT5maWVsZF92YWxpZCAmIDIpICYmDQorCQkJCSAgICAo
ZG1hX2Z1bmMgIT0gaWRlX2RtYV9vbikpDQorCQkJCQlnb3RvIHRyeV9kbWFf
bW9kZXM7DQorCQkJfQ0KKwkJfSBlbHNlIGlmIChpZC0+ZmllbGRfdmFsaWQg
JiAyKSB7DQordHJ5X2RtYV9tb2RlczoNCisJCQlpZiAoKGlkLT5kbWFfbXdv
cmQgJiAweDAwMDcpIHx8DQorCQkJICAgIChpZC0+ZG1hXzF3b3JkICYgMHgw
MDcpKSB7DQorCQkJCS8qIEZvcmNlIGlmIENhcGFibGUgcmVndWxhciBETUEg
bW9kZXMgKi8NCisJCQkJZG1hX2Z1bmMgPSBjb25maWdfY2hpcHNldF9mb3Jf
ZG1hKGRyaXZlKTsNCisJCQkJaWYgKGRtYV9mdW5jICE9IGlkZV9kbWFfb24p
DQorCQkJCQlnb3RvIG5vX2RtYV9zZXQ7DQorCQkJfQ0KKwkJfSBlbHNlIGlm
IChpZGVfZG1hcHJvYyhpZGVfZG1hX2dvb2RfZHJpdmUsIGRyaXZlKSkgew0K
KwkJCWlmIChpZC0+ZWlkZV9kbWFfdGltZSA+IDE1MCkgew0KKwkJCQlnb3Rv
IG5vX2RtYV9zZXQ7DQorCQkJfQ0KKwkJCS8qIENvbnN1bHQgdGhlIGxpc3Qg
b2Yga25vd24gImdvb2QiIGRyaXZlcyAqLw0KKwkJCWRtYV9mdW5jID0gY29u
ZmlnX2NoaXBzZXRfZm9yX2RtYShkcml2ZSk7DQorCQkJaWYgKGRtYV9mdW5j
ICE9IGlkZV9kbWFfb24pDQorCQkJCWdvdG8gbm9fZG1hX3NldDsNCisJCX0g
ZWxzZSB7DQorCQkJZ290byBmYXN0X2F0YV9waW87DQorCQl9DQorCX0gZWxz
ZSBpZiAoKGlkLT5jYXBhYmlsaXR5ICYgOCkgfHwgKGlkLT5maWVsZF92YWxp
ZCAmIDIpKSB7DQorZmFzdF9hdGFfcGlvOg0KKwkJZG1hX2Z1bmMgPSBpZGVf
ZG1hX29mZl9xdWlldGx5Ow0KK25vX2RtYV9zZXQ6DQorCQljb25maWdfY2hp
cHNldF9mb3JfcGlvKGRyaXZlKTsNCisJfQ0KKwlyZXR1cm4gSFdJRihkcml2
ZSktPmRtYXByb2MoZG1hX2Z1bmMsIGRyaXZlKTsNCit9DQorDQogc3RhdGlj
IGludCBvc2I0X2RtYXByb2MoaWRlX2RtYV9hY3Rpb25fdCBmdW5jLCBpZGVf
ZHJpdmVfdCAqZHJpdmUpDQogew0KIAlzd2l0Y2ggKGZ1bmMpIHsNCiAJCWNh
c2UgaWRlX2RtYV9jaGVjazoNCi0JCQkgcmV0dXJuIGlkZV9kbWFwcm9jKChp
ZGVfZG1hX2FjdGlvbl90KSBvc2I0X2NvbmZpZ19kcml2ZV9mb3JfZG1hKGRy
aXZlKSwgZHJpdmUpOw0KKwkJCXJldHVybiBjb25maWdfZHJpdmVfeGZlcl9y
YXRlKGRyaXZlKTsNCiAJCWRlZmF1bHQgOg0KIAkJCWJyZWFrOw0KIAl9DQog
CS8qIE90aGVyIGNhc2VzIGFyZSBkb25lIGJ5IGdlbmVyaWMgSURFLURNQSBj
b2RlLiAqLw0KIAlyZXR1cm4gaWRlX2RtYXByb2MoZnVuYywgZHJpdmUpOw0K
IH0NCi0jZW5kaWYgLyogZGVmaW5lZChDT05GSUdfQkxLX0RFVl9JREVETUEp
ICYmIChDT05GSUdfQkxLX0RFVl9PU0I0KSAqLw0KKyNlbmRpZiAvKiBDT05G
SUdfQkxLX0RFVl9JREVETUEgKi8NCiANCiB1bnNpZ25lZCBpbnQgX19pbml0
IHBjaV9pbml0X29zYjQgKHN0cnVjdCBwY2lfZGV2ICpkZXYsIGNvbnN0IGNo
YXIgKm5hbWUpDQogew0KLQl1MTYgd29yZDsNCi0JYnl0ZSBiaXQ4Ow0KKwl1
bnNpZ25lZCBpbnQgcmVnNjQ7DQogDQogCXBjaV9yZWFkX2NvbmZpZ19ieXRl
KGRldiwgUENJX1JFVklTSU9OX0lELCAmb3NiNF9yZXZpc2lvbik7DQogDQot
CS8qIHNldHVwIGNvbW1hbmQgcmVnaXN0ZXIuIGp1c3QgbWFrZSBzdXJlIHRo
YXQgYnVzIG1hc3RlciBhbmQNCi0JICogaS9vIHBvcnRzIGFyZSBvbi4gKi8N
Ci0JcGNpX3JlYWRfY29uZmlnX3dvcmQoZGV2LCBQQ0lfQ09NTUFORCwgJndv
cmQpOw0KLQlpZiAoKHdvcmQgJiAoUENJX0NPTU1BTkRfTUFTVEVSIHwgUENJ
X0NPTU1BTkRfSU8pKSAhPQ0KLQkgICAgIChQQ0lfQ09NTUFORF9NQVNURVIg
fCBQQ0lfQ09NTUFORF9JTykpDQotCQlwY2lfd3JpdGVfY29uZmlnX3dvcmQo
ZGV2LCBQQ0lfQ09NTUFORCwgd29yZCB8DQotCQkJCSAgICAgIFBDSV9DT01N
QU5EX01BU1RFUiB8IFBDSV9DT01NQU5EX0lPKTsNCi0JDQotCS8qIG1ha2Ug
c3VyZSB0aGF0IHdlJ3JlIGluIHBjaSBuYXRpdmUgbW9kZSBmb3IgYm90aCB0
aGUgcHJpbWFyeQ0KLQkgKiBhbmQgc2Vjb25kYXJ5IGNoYW5uZWwuICovDQot
CXBjaV9yZWFkX2NvbmZpZ19ieXRlKGRldiwgUENJX0NMQVNTX1BST0csICZi
aXQ4KTsNCi0JaWYgKChiaXQ4ICYgMHg1KSAhPSAweDUpDQotCQlwY2lfd3Jp
dGVfY29uZmlnX2J5dGUoZGV2LCBQQ0lfQ0xBU1NfUFJPRywgYml0OCB8IDB4
NSk7DQotDQotCS8qIHNldHVwIHVwIG91ciBsYXRlbmN5LiB0aGUgZGVmYXVs
dCBpcyAyNTUgd2hpY2ggaXMgYSBiaXQgbGFyZ2UuDQotCSAqIHNldCBpdCB0
byA2NCBpbnN0ZWFkLiAqLw0KLQlwY2lfcmVhZF9jb25maWdfYnl0ZShkZXYs
IFBDSV9MQVRFTkNZX1RJTUVSLCAmYml0OCk7DQotCWlmIChiaXQ4ICE9IDB4
NDApDQotCSAgICBwY2lfd3JpdGVfY29uZmlnX2J5dGUoZGV2LCBQQ0lfTEFU
RU5DWV9USU1FUiwgMHg0MCk7DQorCWlzYV9kZXYgPSBwY2lfZmluZF9kZXZp
Y2UoUENJX1ZFTkRPUl9JRF9TRVJWRVJXT1JLUywgUENJX0RFVklDRV9JRF9T
RVJWRVJXT1JLU19PU0I0LCBOVUxMKTsNCisNCisJcGNpX3JlYWRfY29uZmln
X2R3b3JkKGlzYV9kZXYsIDB4NjQsICZyZWc2NCk7DQorI2lmZGVmIERFQlVH
DQorCXByaW50aygiJXM6IHJlZzY0ID09IDB4JTA4eFxuIiwgbmFtZSwgcmVn
NjQpOw0KKyNlbmRpZg0KKwlyZWc2NCAmPSB+MHgwMDAwQTAwMDsNCisjaWZk
ZWYgQ09ORklHX1NNUA0KKwlyZWc2NCB8PSAweDAwMDA4MDAwOw0KKyNlbmRp
Zg0KKwlwY2lfd3JpdGVfY29uZmlnX2R3b3JkKGlzYV9kZXYsIDB4NjQsIHJl
ZzY0KTsNCisNCisJcGNpX3dyaXRlX2NvbmZpZ19ieXRlKGRldiwgUENJX0xB
VEVOQ1lfVElNRVIsIDB4NDApOw0KIA0KICNpZiBkZWZpbmVkKERJU1BMQVlf
T1NCNF9USU1JTkdTKSAmJiBkZWZpbmVkKENPTkZJR19QUk9DX0ZTKQ0KIAlp
ZiAoIW9zYjRfcHJvYykgew0KQEAgLTMwNCwxOSArNDMxLDIyIEBADQogCQlo
d2lmLT5pcnEgPSBod2lmLT5jaGFubmVsID8gMTUgOiAxNDsNCiANCiAJaHdp
Zi0+dHVuZXByb2MgPSAmb3NiNF90dW5lX2RyaXZlOw0KLQlod2lmLT5kcml2
ZXNbMF0uYXV0b3R1bmUgPSAxOw0KLQlod2lmLT5kcml2ZXNbMV0uYXV0b3R1
bmUgPSAxOw0KLQ0KLQlpZiAoIWh3aWYtPmRtYV9iYXNlKQ0KLQkJcmV0dXJu
Ow0KKwlod2lmLT5zcGVlZHByb2MgPSAmb3NiNF90dW5lX2NoaXBzZXQ7DQog
DQogI2lmbmRlZiBDT05GSUdfQkxLX0RFVl9JREVETUENCisJaHdpZi0+ZHJp
dmVzWzBdLmF1dG90dW5lID0gMTsNCisJaHdpZi0+ZHJpdmVzWzFdLmF1dG90
dW5lID0gMTsNCiAJaHdpZi0+YXV0b2RtYSA9IDA7DQorCXJldHVybjsNCiAj
ZWxzZSAvKiBDT05GSUdfQkxLX0RFVl9JREVETUEgKi8NCi0jaWZkZWYgQ09O
RklHX0JMS19ERVZfT1NCNA0KLQlod2lmLT5hdXRvZG1hID0gMTsNCi0JaHdp
Zi0+ZG1hcHJvYyA9ICZvc2I0X2RtYXByb2M7DQotCWh3aWYtPnNwZWVkcHJv
YyA9ICZvc2I0X3R1bmVfY2hpcHNldDsNCi0jZW5kaWYgLyogQ09ORklHX0JM
S19ERVZfT1NCNCAqLw0KKw0KKwlpZiAoaHdpZi0+ZG1hX2Jhc2UpIHsNCisJ
CWh3aWYtPmF1dG9kbWEgPSAxOw0KKwkJaHdpZi0+ZG1hcHJvYyA9ICZvc2I0
X2RtYXByb2M7DQorCX0gZWxzZSB7DQorCQlod2lmLT5hdXRvZG1hID0gMDsN
CisJCWh3aWYtPmRyaXZlc1swXS5hdXRvdHVuZSA9IDE7DQorCQlod2lmLT5k
cml2ZXNbMV0uYXV0b3R1bmUgPSAxOw0KKwl9DQogI2VuZGlmIC8qICFDT05G
SUdfQkxLX0RFVl9JREVETUEgKi8NCiB9DQpkaWZmIC11ck4gbGludXgtMi40
LjAtcHJlcmVsZWFzZS1wcmlzdGluZS9kcml2ZXJzL2lkZS9waWl4LmMgbGlu
dXgtMi40LjAtcHJlcmVsZWFzZS9kcml2ZXJzL2lkZS9waWl4LmMNCi0tLSBs
aW51eC0yLjQuMC1wcmVyZWxlYXNlLXByaXN0aW5lL2RyaXZlcnMvaWRlL3Bp
aXguYwlGcmkgSnVsICA3IDE1OjU1OjI0IDIwMDANCisrKyBsaW51eC0yLjQu
MC1wcmVyZWxlYXNlL2RyaXZlcnMvaWRlL3BpaXguYwlTdW4gRGVjIDMxIDIx
OjUzOjE3IDIwMDANCkBAIC0zOTksMTEgKzM5OSw2NSBAQA0KIAkJCQkJCSAg
ICAgaWRlX2RtYV9vZmZfcXVpZXRseSk7DQogfQ0KIA0KK3N0YXRpYyB2b2lk
IGNvbmZpZ19jaGlwc2V0X2Zvcl9waW8gKGlkZV9kcml2ZV90ICpkcml2ZSkN
Cit7DQorCXBpaXhfdHVuZV9kcml2ZShkcml2ZSwgaWRlX2dldF9iZXN0X3Bp
b19tb2RlKGRyaXZlLCAyNTUsIDUsIE5VTEwpKTsNCit9DQorDQorc3RhdGlj
IGludCBjb25maWdfZHJpdmVfeGZlcl9yYXRlIChpZGVfZHJpdmVfdCAqZHJp
dmUpDQorew0KKwlzdHJ1Y3QgaGRfZHJpdmVpZCAqaWQgPSBkcml2ZS0+aWQ7
DQorCWlkZV9kbWFfYWN0aW9uX3QgZG1hX2Z1bmMgPSBpZGVfZG1hX29uOw0K
Kw0KKwlpZiAoaWQgJiYgKGlkLT5jYXBhYmlsaXR5ICYgMSkgJiYgSFdJRihk
cml2ZSktPmF1dG9kbWEpIHsNCisJCS8qIENvbnN1bHQgdGhlIGxpc3Qgb2Yg
a25vd24gImJhZCIgZHJpdmVzICovDQorCQlpZiAoaWRlX2RtYXByb2MoaWRl
X2RtYV9iYWRfZHJpdmUsIGRyaXZlKSkgew0KKwkJCWRtYV9mdW5jID0gaWRl
X2RtYV9vZmY7DQorCQkJZ290byBmYXN0X2F0YV9waW87DQorCQl9DQorCQlk
bWFfZnVuYyA9IGlkZV9kbWFfb2ZmX3F1aWV0bHk7DQorCQlpZiAoaWQtPmZp
ZWxkX3ZhbGlkICYgNCkgew0KKwkJCWlmIChpZC0+ZG1hX3VsdHJhICYgMHgw
MDJGKSB7DQorCQkJCS8qIEZvcmNlIGlmIENhcGFibGUgVWx0cmFETUEgKi8N
CisJCQkJZG1hX2Z1bmMgPSBwaWl4X2NvbmZpZ19kcml2ZV9mb3JfZG1hKGRy
aXZlKTsNCisJCQkJaWYgKChpZC0+ZmllbGRfdmFsaWQgJiAyKSAmJg0KKwkJ
CQkgICAgKGRtYV9mdW5jICE9IGlkZV9kbWFfb24pKQ0KKwkJCQkJZ290byB0
cnlfZG1hX21vZGVzOw0KKwkJCX0NCisJCX0gZWxzZSBpZiAoaWQtPmZpZWxk
X3ZhbGlkICYgMikgew0KK3RyeV9kbWFfbW9kZXM6DQorCQkJaWYgKChpZC0+
ZG1hX213b3JkICYgMHgwMDA3KSB8fA0KKwkJCSAgICAoaWQtPmRtYV8xd29y
ZCAmIDB4MDA3KSkgew0KKwkJCQkvKiBGb3JjZSBpZiBDYXBhYmxlIHJlZ3Vs
YXIgRE1BIG1vZGVzICovDQorCQkJCWRtYV9mdW5jID0gcGlpeF9jb25maWdf
ZHJpdmVfZm9yX2RtYShkcml2ZSk7DQorCQkJCWlmIChkbWFfZnVuYyAhPSBp
ZGVfZG1hX29uKQ0KKwkJCQkJZ290byBub19kbWFfc2V0Ow0KKwkJCX0NCisJ
CX0gZWxzZSBpZiAoaWRlX2RtYXByb2MoaWRlX2RtYV9nb29kX2RyaXZlLCBk
cml2ZSkpIHsNCisJCQlpZiAoaWQtPmVpZGVfZG1hX3RpbWUgPiAxNTApIHsN
CisJCQkJZ290byBub19kbWFfc2V0Ow0KKwkJCX0NCisJCQkvKiBDb25zdWx0
IHRoZSBsaXN0IG9mIGtub3duICJnb29kIiBkcml2ZXMgKi8NCisJCQlkbWFf
ZnVuYyA9IHBpaXhfY29uZmlnX2RyaXZlX2Zvcl9kbWEoZHJpdmUpOw0KKwkJ
CWlmIChkbWFfZnVuYyAhPSBpZGVfZG1hX29uKQ0KKwkJCQlnb3RvIG5vX2Rt
YV9zZXQ7DQorCQl9IGVsc2Ugew0KKwkJCWdvdG8gZmFzdF9hdGFfcGlvOw0K
KwkJfQ0KKwl9IGVsc2UgaWYgKChpZC0+Y2FwYWJpbGl0eSAmIDgpIHx8IChp
ZC0+ZmllbGRfdmFsaWQgJiAyKSkgew0KK2Zhc3RfYXRhX3BpbzoNCisJCWRt
YV9mdW5jID0gaWRlX2RtYV9vZmZfcXVpZXRseTsNCitub19kbWFfc2V0Og0K
KwkJY29uZmlnX2NoaXBzZXRfZm9yX3Bpbyhkcml2ZSk7DQorCX0NCisJcmV0
dXJuIEhXSUYoZHJpdmUpLT5kbWFwcm9jKGRtYV9mdW5jLCBkcml2ZSk7DQor
fQ0KKw0KIHN0YXRpYyBpbnQgcGlpeF9kbWFwcm9jKGlkZV9kbWFfYWN0aW9u
X3QgZnVuYywgaWRlX2RyaXZlX3QgKmRyaXZlKQ0KIHsNCiAJc3dpdGNoIChm
dW5jKSB7DQogCQljYXNlIGlkZV9kbWFfY2hlY2s6DQotCQkJIHJldHVybiBp
ZGVfZG1hcHJvYygoaWRlX2RtYV9hY3Rpb25fdCkgcGlpeF9jb25maWdfZHJp
dmVfZm9yX2RtYShkcml2ZSksIGRyaXZlKTsNCisJCQlyZXR1cm4gY29uZmln
X2RyaXZlX3hmZXJfcmF0ZShkcml2ZSk7DQogCQlkZWZhdWx0IDoNCiAJCQli
cmVhazsNCiAJfQ0KZGlmZiAtdXJOIGxpbnV4LTIuNC4wLXByZXJlbGVhc2Ut
cHJpc3RpbmUvZHJpdmVycy9pZGUvc2lzNTUxMy5jIGxpbnV4LTIuNC4wLXBy
ZXJlbGVhc2UvZHJpdmVycy9pZGUvc2lzNTUxMy5jDQotLS0gbGludXgtMi40
LjAtcHJlcmVsZWFzZS1wcmlzdGluZS9kcml2ZXJzL2lkZS9zaXM1NTEzLmMJ
VHVlIE5vdiAgNyAxMDo1OTo0MyAyMDAwDQorKysgbGludXgtMi40LjAtcHJl
cmVsZWFzZS9kcml2ZXJzL2lkZS9zaXM1NTEzLmMJU3VuIERlYyAzMSAyMTo1
MzoxNyAyMDAwDQpAQCAtNDgsNiArNDgsNyBAQA0KIAl7ICJTaVM1NDAiLAlQ
Q0lfREVWSUNFX0lEX1NJXzU0MCwJU0lTNTUxM19GTEFHX0FUQV82NiwgfSwN
CiAJeyAiU2lTNjIwIiwJUENJX0RFVklDRV9JRF9TSV82MjAsCVNJUzU1MTNf
RkxBR19BVEFfNjZ8U0lTNTUxM19GTEFHX0xBVEVOQ1ksIH0sDQogCXsgIlNp
UzYzMCIsCVBDSV9ERVZJQ0VfSURfU0lfNjMwLAlTSVM1NTEzX0ZMQUdfQVRB
XzY2fFNJUzU1MTNfRkxBR19MQVRFTkNZLCB9LA0KKwl7ICJTaVM3MzAiLAlQ
Q0lfREVWSUNFX0lEX1NJXzczMCwJU0lTNTUxM19GTEFHX0FUQV82NnxTSVM1
NTEzX0ZMQUdfTEFURU5DWSwgfSwNCiAJeyAiU2lTNTU5MSIsCVBDSV9ERVZJ
Q0VfSURfU0lfNTU5MSwJU0lTNTUxM19GTEFHX0FUQV8zMywgfSwNCiAJeyAi
U2lTNTU5NyIsCVBDSV9ERVZJQ0VfSURfU0lfNTU5NywJU0lTNTUxM19GTEFH
X0FUQV8zMywgfSwNCiAJeyAiU2lTNTYwMCIsCVBDSV9ERVZJQ0VfSURfU0lf
NTYwMCwJU0lTNTUxM19GTEFHX0FUQV8zMywgfSwNCkBAIC0zMzcsNiArMzM4
LDcgQEANCiAJCQljYXNlIFBDSV9ERVZJQ0VfSURfU0lfNTQwOg0KIAkJCWNh
c2UgUENJX0RFVklDRV9JRF9TSV82MjA6DQogCQkJY2FzZSBQQ0lfREVWSUNF
X0lEX1NJXzYzMDoNCisJCQljYXNlIFBDSV9ERVZJQ0VfSURfU0lfNzMwOg0K
IAkJCQl1bm1hc2sgICA9IDB4RjA7DQogCQkJCWZvdXJfdHdvID0gMHgwMTsN
CiAJCQkJYnJlYWs7DQpAQCAtMzcwLDcgKzM3Miw3IEBADQogDQogCXN3aXRj
aChzcGVlZCkgew0KICNpZmRlZiBDT05GSUdfQkxLX0RFVl9JREVETUENCi0J
CWNhc2UgWEZFUl9VRE1BXzU6IC8qIGNhbiBub3QgZG8gdWx0cmEgbW9kZSA1
IHlldCAqLw0KKwkJY2FzZSBYRkVSX1VETUFfNTogbWFzayA9IDB4ODA7IGJy
ZWFrOw0KIAkJY2FzZSBYRkVSX1VETUFfNDogbWFzayA9IDB4OTA7IGJyZWFr
Ow0KIAkJY2FzZSBYRkVSX1VETUFfMzogbWFzayA9IDB4QTA7IGJyZWFrOw0K
IAkJY2FzZSBYRkVSX1VETUFfMjogbWFzayA9IChmb3VyX3R3bykgPyAweEIw
IDogMHhBMDsgYnJlYWs7DQpAQCAtNDE3LDIwICs0MTksMjYgQEANCiANCiAJ
Ynl0ZSB1bml0CQk9IChkcml2ZS0+c2VsZWN0LmIudW5pdCAmIDB4MDEpOw0K
IAlieXRlIHVkbWFfNjYJCT0gZWlnaHR5X25pbnR5X3RocmVlKGRyaXZlKTsN
CisJYnl0ZSB1bHRyYV8xMDAJCT0gMDsNCiANCiAJaWYgKGhvc3RfZGV2KSB7
DQogCQlzd2l0Y2goaG9zdF9kZXYtPmRldmljZSkgew0KKwkJCWNhc2UgUENJ
X0RFVklDRV9JRF9TSV83MzA6DQorCQkJCXVsdHJhXzEwMCA9IDE7DQogCQkJ
Y2FzZSBQQ0lfREVWSUNFX0lEX1NJXzUzMDoNCiAJCQljYXNlIFBDSV9ERVZJ
Q0VfSURfU0lfNTQwOg0KIAkJCWNhc2UgUENJX0RFVklDRV9JRF9TSV82MjA6
DQogCQkJY2FzZSBQQ0lfREVWSUNFX0lEX1NJXzYzMDoNCi0JCQkJZm91cl90
d28gPSAweDAxOyBicmVhazsNCisJCQkJZm91cl90d28gPSAweDAxOw0KKwkJ
CQlicmVhazsNCiAJCQlkZWZhdWx0Og0KIAkJCQlmb3VyX3R3byA9IDB4MDA7
IGJyZWFrOw0KIAkJfQ0KIAl9DQogDQotCWlmICgoaWQtPmRtYV91bHRyYSAm
IDB4MDAxMCkgJiYgKHVsdHJhKSAmJiAodWRtYV82NikgJiYgKGZvdXJfdHdv
KSkNCisJaWYgKChpZC0+ZG1hX3VsdHJhICYgMHgwMDIwKSAmJiAodWx0cmEp
ICYmICh1ZG1hXzY2KSAmJiAoZm91cl90d28pICYmICh1bHRyYV8xMDApKQ0K
KwkJc3BlZWQgPSBYRkVSX1VETUFfNTsNCisJZWxzZSBpZiAoKGlkLT5kbWFf
dWx0cmEgJiAweDAwMTApICYmICh1bHRyYSkgJiYgKHVkbWFfNjYpICYmIChm
b3VyX3R3bykpDQogCQlzcGVlZCA9IFhGRVJfVURNQV80Ow0KIAllbHNlIGlm
ICgoaWQtPmRtYV91bHRyYSAmIDB4MDAwOCkgJiYgKHVsdHJhKSAmJiAodWRt
YV82NikgJiYgKGZvdXJfdHdvKSkNCiAJCXNwZWVkID0gWEZFUl9VRE1BXzM7
DQpAQCAtNTkwLDYgKzU5OCw3IEBADQogCQkJY2FzZSBQQ0lfREVWSUNFX0lE
X1NJXzU0MDoNCiAJCQljYXNlIFBDSV9ERVZJQ0VfSURfU0lfNjIwOg0KIAkJ
CWNhc2UgUENJX0RFVklDRV9JRF9TSV82MzA6DQorCQkJY2FzZSBQQ0lfREVW
SUNFX0lEX1NJXzczMDoNCiAJCQkJYXRhNjYgPSAocmVnNDhoICYgbWFzaykg
PyAwIDogMTsNCiAJCQlkZWZhdWx0Og0KIAkJCQlicmVhazsNCkBAIC02MTYs
NiArNjI1LDcgQEANCiAJCQljYXNlIFBDSV9ERVZJQ0VfSURfU0lfNTQwOg0K
IAkJCWNhc2UgUENJX0RFVklDRV9JRF9TSV82MjA6DQogCQkJY2FzZSBQQ0lf
REVWSUNFX0lEX1NJXzYzMDoNCisJCQljYXNlIFBDSV9ERVZJQ0VfSURfU0lf
NzMwOg0KIAkJCWNhc2UgUENJX0RFVklDRV9JRF9TSV81NjAwOg0KIAkJCWNh
c2UgUENJX0RFVklDRV9JRF9TSV81NTk3Og0KIAkJCWNhc2UgUENJX0RFVklD
RV9JRF9TSV81NTkxOg0KZGlmZiAtdXJOIGxpbnV4LTIuNC4wLXByZXJlbGVh
c2UtcHJpc3RpbmUvZHJpdmVycy9wY2kvcGNpLmlkcyBsaW51eC0yLjQuMC1w
cmVyZWxlYXNlL2RyaXZlcnMvcGNpL3BjaS5pZHMNCi0tLSBsaW51eC0yLjQu
MC1wcmVyZWxlYXNlLXByaXN0aW5lL2RyaXZlcnMvcGNpL3BjaS5pZHMJU3Vu
IERlYyAzMSAyMDo1ODo0NCAyMDAwDQorKysgbGludXgtMi40LjAtcHJlcmVs
ZWFzZS9kcml2ZXJzL3BjaS9wY2kuaWRzCVN1biBEZWMgMzEgMjE6NTM6MTcg
MjAwMA0KQEAgLTczNCw2ICs3MzQsNyBAQA0KIAkwNjAxICA4NUM2MDENCiAJ
MDYyMCAgNjIwIEhvc3QNCiAJMDYzMCAgNjMwIEhvc3QNCisJMDczMCAgNzMw
IEhvc3QNCiAJMDkwMCAgU2lTOTAwIDEwLzEwMCBFdGhlcm5ldA0KIAkJMTAz
OSAwOTAwICBTaVM5MDAgMTAvMTAwIEV0aGVybmV0IEFkYXB0ZXINCiAJMzYw
MiAgODNDNjAyDQpkaWZmIC11ck4gbGludXgtMi40LjAtcHJlcmVsZWFzZS1w
cmlzdGluZS9pbmNsdWRlL2xpbnV4L3BjaV9pZHMuaCBsaW51eC0yLjQuMC1w
cmVyZWxlYXNlL2luY2x1ZGUvbGludXgvcGNpX2lkcy5oDQotLS0gbGludXgt
Mi40LjAtcHJlcmVsZWFzZS1wcmlzdGluZS9pbmNsdWRlL2xpbnV4L3BjaV9p
ZHMuaAlTdW4gRGVjIDMxIDIwOjU4OjU0IDIwMDANCisrKyBsaW51eC0yLjQu
MC1wcmVyZWxlYXNlL2luY2x1ZGUvbGludXgvcGNpX2lkcy5oCVN1biBEZWMg
MzEgMjE6NTM6MTcgMjAwMA0KQEAgLTM1Nyw2ICszNTcsNyBAQA0KICNkZWZp
bmUgUENJX0RFVklDRV9JRF9TSV82MDEJCTB4MDYwMQ0KICNkZWZpbmUgUENJ
X0RFVklDRV9JRF9TSV82MjAJCTB4MDYyMA0KICNkZWZpbmUgUENJX0RFVklD
RV9JRF9TSV82MzAJCTB4MDYzMA0KKyNkZWZpbmUgUENJX0RFVklDRV9JRF9T
SV83MzAJCTB4MDczMCAgICAgICAgIA0KICNkZWZpbmUgUENJX0RFVklDRV9J
RF9TSV82MzBfVkdBCTB4NjMwMA0KICNkZWZpbmUgUENJX0RFVklDRV9JRF9T
SV83MzBfVkdBCTB4NzMwMA0KICNkZWZpbmUgUENJX0RFVklDRV9JRF9TSV81
MTA3CQkweDUxMDcNCg==
---1019260510-992132526-978336454=:21836
Content-Type: text/plain; charset=us-ascii; name="ide.2.4.0-prerelease.cd.1231.patch"
Content-Transfer-Encoding: base64
Content-ID: <Pine.LNX.4.10.10101010007341.21836@master.linux-ide.org>
Content-Description:
Content-Disposition: attachment; filename="ide.2.4.0-prerelease.cd.1231.patch"

ZGlmZiAtdXJOIGxpbnV4LTIuNC4wLXByZXJlbGVhc2UvZHJpdmVycy9pZGUv
aWRlLWNkLmMgbGludXgtMi40LjAtcHJlcmVsZWFzZS5jZC9kcml2ZXJzL2lk
ZS9pZGUtY2QuYw0KLS0tIGxpbnV4LTIuNC4wLXByZXJlbGVhc2UvZHJpdmVy
cy9pZGUvaWRlLWNkLmMJU3VuIERlYyAzMSAyMDo1ODozOCAyMDAwDQorKysg
bGludXgtMi40LjAtcHJlcmVsZWFzZS5jZC9kcml2ZXJzL2lkZS9pZGUtY2Qu
YwlTdW4gRGVjIDMxIDIyOjEyOjA4IDIwMDANCkBAIC01MTMsOSArNTEzLDkg
QEANCiAJCQkJICAgICAgc3RydWN0IHJlcXVlc3Rfc2Vuc2UgKnNlbnNlLA0K
IAkJCQkgICAgICBzdHJ1Y3QgcGFja2V0X2NvbW1hbmQgKmZhaWxlZF9jb21t
YW5kKQ0KIHsNCi0Jc3RydWN0IGNkcm9tX2luZm8gKmluZm8gPSBkcml2ZS0+
ZHJpdmVyX2RhdGE7DQorCXN0cnVjdCBjZHJvbV9pbmZvICppbmZvCQk9IGRy
aXZlLT5kcml2ZXJfZGF0YTsNCisJc3RydWN0IHBhY2tldF9jb21tYW5kICpw
Ywk9ICZpbmZvLT5yZXF1ZXN0X3NlbnNlX3BjOw0KIAlzdHJ1Y3QgcmVxdWVz
dCAqcnE7DQotCXN0cnVjdCBwYWNrZXRfY29tbWFuZCAqcGMgPSAmaW5mby0+
cmVxdWVzdF9zZW5zZV9wYzsNCiANCiAJaWYgKHNlbnNlID09IE5VTEwpDQog
CQlzZW5zZSA9ICZpbmZvLT5zZW5zZV9kYXRhOw0KQEAgLTU0MSwxMyArNTQx
LDE0IEBADQogCXN0cnVjdCByZXF1ZXN0ICpycSA9IEhXR1JPVVAoZHJpdmUp
LT5ycTsNCiANCiAJaWYgKHJxLT5jbWQgPT0gUkVRVUVTVF9TRU5TRV9DT01N
QU5EICYmIHVwdG9kYXRlKSB7DQotCQlzdHJ1Y3QgcGFja2V0X2NvbW1hbmQg
KnBjID0gKHN0cnVjdCBwYWNrZXRfY29tbWFuZCAqKXJxLT5idWZmZXI7DQor
CQlzdHJ1Y3QgcGFja2V0X2NvbW1hbmQgKnBjID0gKHN0cnVjdCBwYWNrZXRf
Y29tbWFuZCAqKSBycS0+YnVmZmVyOw0KIAkJY2Ryb21fYW5hbHl6ZV9zZW5z
ZV9kYXRhKGRyaXZlLA0KIAkJCShzdHJ1Y3QgcGFja2V0X2NvbW1hbmQgKikg
cGMtPnNlbnNlLA0KIAkJCShzdHJ1Y3QgcmVxdWVzdF9zZW5zZSAqKSAocGMt
PmJ1ZmZlciAtIHBjLT5jWzRdKSk7DQogCX0NCi0JaWYgKHJxLT5jbWQgPT0g
UkVBRCAmJiAhcnEtPmN1cnJlbnRfbnJfc2VjdG9ycykNCi0JCXVwdG9kYXRl
ID0gMTsNCisJaWYgKHJxLT5jbWQgPT0gUkVBRCB8fCBycS0+Y21kID09IFdS
SVRFKQ0KKwkJaWYgKCFycS0+Y3VycmVudF9ucl9zZWN0b3JzKQ0KKwkJCXVw
dG9kYXRlID0gMTsNCiANCiAJaWRlX2VuZF9yZXF1ZXN0ICh1cHRvZGF0ZSwg
SFdHUk9VUChkcml2ZSkpOw0KIH0NCkBAIC02MjgsNyArNjI5LDcgQEANCiAJ
CWlmICgoc3RhdCAmIEVSUl9TVEFUKSAhPSAwKQ0KIAkJCWNkcm9tX3F1ZXVl
X3JlcXVlc3Rfc2Vuc2UoZHJpdmUsIHNlbSwgcGMtPnNlbnNlLCBwYyk7DQog
CX0gZWxzZSB7DQotCQkvKiBIYW5kbGUgZXJyb3JzIGZyb20gUkVBRCByZXF1
ZXN0cy4gKi8NCisJCS8qIEhhbmRsZSBlcnJvcnMgZnJvbSBSRUFEIGFuZCBX
UklURSByZXF1ZXN0cy4gKi8NCiANCiAJCWlmIChzZW5zZV9rZXkgPT0gTk9U
X1JFQURZKSB7DQogCQkJLyogVHJheSBvcGVuLiAqLw0KQEAgLTY3OSwxMiAr
NjgwLDIyIEBADQogCXN0cnVjdCBwYWNrZXRfY29tbWFuZCAqcGMgPSAoc3Ry
dWN0IHBhY2tldF9jb21tYW5kICopIHJxLT5idWZmZXI7DQogCXVuc2lnbmVk
IGxvbmcgd2FpdCA9IDA7DQogDQotCS8qIGJsYW5rIGFuZCBmb3JtYXQgY2Fu
IHRha2UgYW4gZXh0cmVtbHkgbG9uZyB0aW1lIHRvDQotCSAqIGNvbXBsZXRl
LCBpZiB0aGUgSU1NRUQgYml0IHdhcyBub3Qgc2V0Lg0KKwkvKg0KKwkgKiBT
b21lIGNvbW1hbmRzIGFyZSAqc2xvdyogYW5kIG5vcm1hbGx5IHRha2UgYSBs
b25nIHRpbWUgdG8NCisJICogY29tcGxldGUuIFVzdWFsbHkgd2UgY2FuIHVz
ZSB0aGUgQVRBUEkgImRpc2Nvbm5lY3QiIHRvIGJ5cGFzcw0KKwkgKiB0aGlz
LCBidXQgbm90IGFsbCBjb21tYW5kcy9kcml2ZXMgc3VwcG9ydCB0aGF0LiBM
ZXQNCisJICogaWRlX3RpbWVyX2V4cGlyeSBrZWVwIHBvbGxpbmcgdXMgZm9y
IHRoZXNlLg0KIAkgKi8NCi0JaWYgKHBjLT5jWzBdID09IEdQQ01EX0JMQU5L
IHx8IHBjLT5jWzBdID09IEdQQ01EX0ZPUk1BVF9VTklUKQ0KLQkJd2FpdCA9
IDYwKjYwKkhaOw0KLQ0KKwlzd2l0Y2ggKHBjLT5jWzBdKSB7DQorCQljYXNl
IEdQQ01EX0JMQU5LOg0KKwkJY2FzZSBHUENNRF9GT1JNQVRfVU5JVDoNCisJ
CWNhc2UgR1BDTURfUkVTRVJWRV9SWk9ORV9UUkFDSzoNCisJCQl3YWl0ID0g
V0FJVF9DTUQ7DQorCQkJYnJlYWs7DQorCQlkZWZhdWx0Og0KKwkJCXdhaXQg
PSAwOw0KKwkJCWJyZWFrOw0KKwl9DQogCXJldHVybiB3YWl0Ow0KIH0NCiAN
CkBAIC03MDYsOCArNzE3LDE1IEBADQogCWlmIChpZGVfd2FpdF9zdGF0KCZz
dGFydHN0b3AsIGRyaXZlLCAwLCBCVVNZX1NUQVQsIFdBSVRfUkVBRFkpKQ0K
IAkJcmV0dXJuIHN0YXJ0c3RvcDsNCiANCi0JaWYgKGluZm8tPmRtYSkNCi0J
CWluZm8tPmRtYSA9ICFIV0lGKGRyaXZlKS0+ZG1hcHJvYyhpZGVfZG1hX3Jl
YWQsIGRyaXZlKTsNCisJaWYgKGluZm8tPmRtYSkgew0KKwkJaWYgKGluZm8t
PmNtZCA9PSBSRUFEKSB7DQorCQkJaW5mby0+ZG1hID0gIUhXSUYoZHJpdmUp
LT5kbWFwcm9jKGlkZV9kbWFfcmVhZCwgZHJpdmUpOw0KKwkJfSBlbHNlIGlm
IChpbmZvLT5jbWQgPT0gV1JJVEUpIHsNCisJCQlpbmZvLT5kbWEgPSAhSFdJ
Rihkcml2ZSktPmRtYXByb2MoaWRlX2RtYV93cml0ZSwgZHJpdmUpOw0KKwkJ
fSBlbHNlIHsNCisJCQlwcmludGsoImlkZS1jZDogRE1BIHNldCwgYnV0IG5v
dCBhbGxvd2VkXG4iKTsNCisJCX0NCisJfQ0KIA0KIAkvKiBTZXQgdXAgdGhl
IGNvbnRyb2xsZXIgcmVnaXN0ZXJzLiAqLw0KIAlPVVRfQllURSAoaW5mby0+
ZG1hLCBJREVfRkVBVFVSRV9SRUcpOw0KQEAgLTczNywxMSArNzU1LDIwIEBA
DQogICAgYnkgY2Ryb21fc3RhcnRfcGFja2V0X2NvbW1hbmQuDQogICAgSEFO
RExFUiBpcyB0aGUgaW50ZXJydXB0IGhhbmRsZXIgdG8gY2FsbCB3aGVuIHRo
ZSBjb21tYW5kIGNvbXBsZXRlcw0KICAgIG9yIHRoZXJlJ3MgZGF0YSByZWFk
eS4gKi8NCisvKg0KKyAqIGNoYW5nZWQgNSBwYXJhbWV0ZXJzIHRvIDMgZm9y
IGR2ZC1yYW0NCisgKiBzdHJ1Y3QgcGFja2V0X2NvbW1hbmQgKnBjOyBub3cg
cGFja2V0X2NvbW1hbmRfdCAqcGM7DQorICovDQorI3VuZGVmIENMQVNTSUNf
UEFDS0VUX1NUUlVDVA0KIHN0YXRpYyBpZGVfc3RhcnRzdG9wX3QgY2Ryb21f
dHJhbnNmZXJfcGFja2V0X2NvbW1hbmQgKGlkZV9kcml2ZV90ICpkcml2ZSwN
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
bnNpZ25lZCBjaGFyICpjbWRfYnVmLCBpbnQgY21kX2xlbiwNCi0JCQkJCSAg
aWRlX2hhbmRsZXJfdCAqaGFuZGxlciwNCi0JCQkJCSAgdW5zaWduZWQgaW50
IHRpbWVvdXQpDQorCQkJCQkgIHN0cnVjdCBwYWNrZXRfY29tbWFuZCAqcGMs
DQorCQkJCQkgIGlkZV9oYW5kbGVyX3QgKmhhbmRsZXIpDQogew0KKyNpZmRl
ZiBDTEFTU0lDX1BBQ0tFVF9TVFJVQ1QNCisJdW5zaWduZWQgY2hhciAqY21k
X2J1Zgk9IHBjLT5jOw0KKwlpbnQgY21kX2xlbgkJPSBzaXplb2YocGMtPmMp
Ow0KKwl1bnNpZ25lZCBpbnQgdGltZW91dAk9IHBjLT50aW1lb3V0Ow0KKyNl
bmRpZg0KIAlpZGVfc3RhcnRzdG9wX3Qgc3RhcnRzdG9wOw0KIA0KIAlpZiAo
Q0RST01fQ09ORklHX0ZMQUdTIChkcml2ZSktPmRycV9pbnRlcnJ1cHQpIHsN
CkBAIC03NTksMTYgKzc4NiwyNSBAQA0KIAl9DQogDQogCS8qIEFybSB0aGUg
aW50ZXJydXB0IGhhbmRsZXIuICovDQorI2lmZGVmIENMQVNTSUNfUEFDS0VU
X1NUUlVDVA0KKwkvKiBBcm0gdGhlIGludGVycnVwdCBoYW5kbGVyLiAqLw0K
IAlpZGVfc2V0X2hhbmRsZXIgKGRyaXZlLCBoYW5kbGVyLCB0aW1lb3V0LCBj
ZHJvbV90aW1lcl9leHBpcnkpOw0KIA0KIAkvKiBTZW5kIHRoZSBjb21tYW5k
IHRvIHRoZSBkZXZpY2UuICovDQogCWF0YXBpX291dHB1dF9ieXRlcyAoZHJp
dmUsIGNtZF9idWYsIGNtZF9sZW4pOw0KKyNlbHNlIC8qICFDTEFTU0lDX1BB
Q0tFVF9TVFJVQ1QgKi8NCisJLyogQXJtIHRoZSBpbnRlcnJ1cHQgaGFuZGxl
ci4gKi8NCisvLwlpZGVfc2V0X2hhbmRsZXIgKGRyaXZlLCBoYW5kbGVyLCAo
dW5zaWduZWQgaW50KSBwYy0+dGltZW91dCwgY2Ryb21fdGltZXJfZXhwaXJ5
KTsNCisJaWRlX3NldF9oYW5kbGVyIChkcml2ZSwgaGFuZGxlciwgcGMtPnRp
bWVvdXQsIGNkcm9tX3RpbWVyX2V4cGlyeSk7DQorDQorCS8qIFNlbmQgdGhl
IGNvbW1hbmQgdG8gdGhlIGRldmljZS4gKi8NCisvLwlhdGFwaV9vdXRwdXRf
Ynl0ZXMgKGRyaXZlLCAodm9pZCAqKXBjLT5jLCAodW5zaWduZWQgaW50KSBz
aXplb2YocGMtPmMpKTsNCisJYXRhcGlfb3V0cHV0X2J5dGVzIChkcml2ZSwg
cGMtPmMsIHNpemVvZihwYy0+YykpOw0KKyNlbmRpZiAvKiBDTEFTU0lDX1BB
Q0tFVF9TVFJVQ1QgKi8NCiANCiAJcmV0dXJuIGlkZV9zdGFydGVkOw0KIH0N
CiANCi0NCi0NCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0K
ICAqIEJsb2NrIHJlYWQgZnVuY3Rpb25zLg0KICAqLw0KQEAgLTExMDEsMTAg
KzExMzcsMTAgQEANCiAJcGMuY1s3XSA9IChuZnJhbWVzID4+IDgpOw0KIAlw
Yy5jWzhdID0gKG5mcmFtZXMgJiAweGZmKTsNCiAJcHV0X3VuYWxpZ25lZChj
cHVfdG9fYmUzMihmcmFtZSksICh1bnNpZ25lZCBpbnQgKikgJnBjLmNbMl0p
Ow0KKwlwYy50aW1lb3V0ID0gV0FJVF9DTUQ7DQogDQogCS8qIFNlbmQgdGhl
IGNvbW1hbmQgdG8gdGhlIGRyaXZlIGFuZCByZXR1cm4uICovDQotCXJldHVy
biBjZHJvbV90cmFuc2Zlcl9wYWNrZXRfY29tbWFuZChkcml2ZSwgcGMuYywg
c2l6ZW9mKHBjLmMpLA0KLQkJCQkJICAgICAmY2Ryb21fcmVhZF9pbnRyLCBX
QUlUX0NNRCk7DQorCXJldHVybiBjZHJvbV90cmFuc2Zlcl9wYWNrZXRfY29t
bWFuZChkcml2ZSwgJnBjLCAmY2Ryb21fcmVhZF9pbnRyKTsNCiB9DQogDQog
DQpAQCAtMTE1Myw3ICsxMTg5LDkgQEANCiAJbWVtc2V0ICgmcGMuYywgMCwg
c2l6ZW9mIChwYy5jKSk7DQogCXBjLmNbMF0gPSBHUENNRF9TRUVLOw0KIAlw
dXRfdW5hbGlnbmVkKGNwdV90b19iZTMyKGZyYW1lKSwgKHVuc2lnbmVkIGlu
dCAqKSAmcGMuY1syXSk7DQotCXJldHVybiBjZHJvbV90cmFuc2Zlcl9wYWNr
ZXRfY29tbWFuZChkcml2ZSwgcGMuYywgc2l6ZW9mKHBjLmMpLCAmY2Ryb21f
c2Vla19pbnRyLCBXQUlUX0NNRCk7DQorDQorCXBjLnRpbWVvdXQgPSBXQUlU
X0NNRDsNCisJcmV0dXJuIGNkcm9tX3RyYW5zZmVyX3BhY2tldF9jb21tYW5k
KGRyaXZlLCAmcGMsICZjZHJvbV9zZWVrX2ludHIpOw0KIH0NCiANCiBzdGF0
aWMgaWRlX3N0YXJ0c3RvcF90IGNkcm9tX3N0YXJ0X3NlZWsgKGlkZV9kcml2
ZV90ICpkcml2ZSwgdW5zaWduZWQgaW50IGJsb2NrKQ0KQEAgLTExNjEsNiAr
MTE5OSw3IEBADQogCXN0cnVjdCBjZHJvbV9pbmZvICppbmZvID0gZHJpdmUt
PmRyaXZlcl9kYXRhOw0KIA0KIAlpbmZvLT5kbWEgPSAwOw0KKwlpbmZvLT5j
bWQgPSAwOw0KIAlpbmZvLT5zdGFydF9zZWVrID0gamlmZmllczsNCiAJcmV0
dXJuIGNkcm9tX3N0YXJ0X3BhY2tldF9jb21tYW5kIChkcml2ZSwgMCwgY2Ry
b21fc3RhcnRfc2Vla19jb250aW51YXRpb24pOw0KIH0NCkBAIC0xMjEzLDYg
KzEyNTIsNyBAQA0KIAllbHNlDQogCQlpbmZvLT5kbWEgPSAwOw0KIA0KKwlp
bmZvLT5jbWQgPSBSRUFEOw0KIAkvKiBTdGFydCBzZW5kaW5nIHRoZSByZWFk
IHJlcXVlc3QgdG8gdGhlIGRyaXZlLiAqLw0KIAlyZXR1cm4gY2Ryb21fc3Rh
cnRfcGFja2V0X2NvbW1hbmQoZHJpdmUsIDMyNzY4LCBjZHJvbV9zdGFydF9y
ZWFkX2NvbnRpbnVhdGlvbik7DQogfQ0KQEAgLTEzMzIsOCArMTM3Miw3IEBA
DQogCQlwYy0+dGltZW91dCA9IFdBSVRfQ01EOw0KIA0KIAkvKiBTZW5kIHRo
ZSBjb21tYW5kIHRvIHRoZSBkcml2ZSBhbmQgcmV0dXJuLiAqLw0KLQlyZXR1
cm4gY2Ryb21fdHJhbnNmZXJfcGFja2V0X2NvbW1hbmQoZHJpdmUsIHBjLT5j
LCBzaXplb2YocGMtPmMpLA0KLQkJCQkJICAgICAmY2Ryb21fcGNfaW50ciwg
cGMtPnRpbWVvdXQpOw0KKwlyZXR1cm4gY2Ryb21fdHJhbnNmZXJfcGFja2V0
X2NvbW1hbmQoZHJpdmUsIHBjLCAmY2Ryb21fcGNfaW50cik7DQogfQ0KIA0K
IA0KQEAgLTEzNDUsNiArMTM4NCw3IEBADQogCXN0cnVjdCBjZHJvbV9pbmZv
ICppbmZvID0gZHJpdmUtPmRyaXZlcl9kYXRhOw0KIA0KIAlpbmZvLT5kbWEg
PSAwOw0KKwlpbmZvLT5jbWQgPSAwOw0KIAlwYy0+c3RhdCA9IDA7DQogCWxl
biA9IHBjLT5idWZsZW47DQogDQpAQCAtMTQxNCw2ICsxNDU0LDE2MiBAQA0K
IAlyZXR1cm4gcGMtPnN0YXQgPyAtRUlPIDogMDsNCiB9DQogDQorLyoNCisg
KiBXcml0ZSBoYW5kbGluZw0KKyAqLw0KK3N0YXRpYyBpbmxpbmUgaW50IGNk
cm9tX3dyaXRlX2NoZWNrX2lyZWFzb24oaWRlX2RyaXZlX3QgKmRyaXZlLCBp
bnQgbGVuLCBpbnQgaXJlYXNvbikNCit7DQorCS8qIFR3byBub3RlcyBhYm91
dCBJREUgaW50ZXJydXB0IHJlYXNvbiBoZXJlIC0gMCBtZWFucyB0aGF0DQor
CSAqIHRoZSBkcml2ZSB3YW50cyB0byByZWNlaXZlIGRhdGEgZnJvbSB1cywg
MiBtZWFucyB0aGF0DQorCSAqIHRoZSBkcml2ZSBpcyBleHBlY3RpbmcgZGF0
YSBmcm9tIHVzLg0KKwkgKi8NCisJaXJlYXNvbiAmPSAzOw0KKw0KKwlpZiAo
aXJlYXNvbiA9PSAyKSB7DQorCQkvKiBXaG9vcHMuLi4gVGhlIGRyaXZlIHdh
bnRzIHRvIHNlbmQgZGF0YS4gKi8NCisJCXByaW50aygiJXM6IGNkcm9tX3dy
aXRlX2ludHI6IHdyb25nIHRyYW5zZmVyIGRpcmVjdGlvbiFcbiIsDQorCQkJ
ZHJpdmUtPm5hbWUpOw0KKw0KKwkJLyogVGhyb3cgc29tZSBkYXRhIGF0IHRo
ZSBkcml2ZSBzbyBpdCBkb2Vzbid0IGhhbmcNCisJCSAgIGFuZCBxdWl0IHRo
aXMgcmVxdWVzdC4gKi8NCisJCXdoaWxlIChsZW4gPiAwKSB7DQorCQkJaW50
IGR1bSA9IDA7DQorCQkJYXRhcGlfb3V0cHV0X2J5dGVzKGRyaXZlLCAmZHVt
LCBzaXplb2YoZHVtKSk7DQorCQkJbGVuIC09IHNpemVvZihkdW0pOw0KKwkJ
fQ0KKwl9IGVsc2Ugew0KKwkJLyogRHJpdmUgd2FudHMgYSBjb21tYW5kIHBh
Y2tldCwgb3IgaW52YWxpZCBpcmVhc29uLi4uICovDQorCQlwcmludGsoIiVz
OiBjZHJvbV93cml0ZV9pbnRyOiBiYWQgaW50ZXJydXB0IHJlYXNvbiAlZFxu
IiwNCisJCQlkcml2ZS0+bmFtZSwgaXJlYXNvbik7DQorCX0NCisNCisJY2Ry
b21fZW5kX3JlcXVlc3QoMCwgZHJpdmUpOw0KKwlyZXR1cm4gMTsNCit9DQor
DQorc3RhdGljIGlkZV9zdGFydHN0b3BfdCBjZHJvbV93cml0ZV9pbnRyKGlk
ZV9kcml2ZV90ICpkcml2ZSkNCit7DQorCWludCBzdGF0LCBpcmVhc29uLCBs
ZW4sIHNlY3RvcnNfdG9fdHJhbnNmZXI7DQorCXN0cnVjdCBjZHJvbV9pbmZv
ICppbmZvID0gZHJpdmUtPmRyaXZlcl9kYXRhOw0KKwlpbnQgaSwgZG1hX2Vy
cm9yID0gMCwgZG1hID0gaW5mby0+ZG1hOw0KKwlpZGVfc3RhcnRzdG9wX3Qg
c3RhcnRzdG9wOw0KKw0KKwlzdHJ1Y3QgcmVxdWVzdCAqcnEgPSBIV0dST1VQ
KGRyaXZlKS0+cnE7DQorDQorCS8qIENoZWNrIGZvciBlcnJvcnMuICovDQor
CWlmIChkbWEpIHsNCisJCWluZm8tPmRtYSA9IDA7DQorCQlpZiAoKGRtYV9l
cnJvciA9IEhXSUYoZHJpdmUpLT5kbWFwcm9jKGlkZV9kbWFfZW5kLCBkcml2
ZSkpKSB7DQorCQkJcHJpbnRrKCJpZGUtY2Q6IHdyaXRlIGRtYSBlcnJvclxu
Iik7DQorCQkJSFdJRihkcml2ZSktPmRtYXByb2MoaWRlX2RtYV9vZmYsIGRy
aXZlKTsNCisJCX0NCisJfQ0KKw0KKwlpZiAoY2Ryb21fZGVjb2RlX3N0YXR1
cygmc3RhcnRzdG9wLCBkcml2ZSwgMCwgJnN0YXQpKSB7DQorCQlwcmludGso
ImlkZS1jZDogd3JpdGVfaW50ciBkZWNvZGVfc3RhdHVzIGJhZFxuIik7DQor
CQlyZXR1cm4gc3RhcnRzdG9wOw0KKwl9DQorIA0KKwlpZiAoZG1hKSB7DQor
CQlpZiAoZG1hX2Vycm9yKQ0KKwkJCXJldHVybiBpZGVfZXJyb3IoZHJpdmUs
ICJkbWEgZXJyb3IiLCBzdGF0KTsNCisNCisJCXJxID0gSFdHUk9VUChkcml2
ZSktPnJxOw0KKwkJZm9yIChpID0gcnEtPm5yX3NlY3RvcnM7IGkgPiAwOykg
ew0KKwkJCWkgLT0gcnEtPmN1cnJlbnRfbnJfc2VjdG9yczsNCisJCQlpZGVf
ZW5kX3JlcXVlc3QoMSwgSFdHUk9VUChkcml2ZSkpOw0KKwkJfQ0KKwkJcmV0
dXJuIGlkZV9zdG9wcGVkOw0KKwl9DQorDQorCS8qIFJlYWQgdGhlIGludGVy
cnVwdCByZWFzb24gYW5kIHRoZSB0cmFuc2ZlciBsZW5ndGguICovDQorCWly
ZWFzb24gPSBJTl9CWVRFKElERV9OU0VDVE9SX1JFRyk7DQorCWxlbiA9IElO
X0JZVEUoSURFX0xDWUxfUkVHKSArIDI1NiAqIElOX0JZVEUoSURFX0hDWUxf
UkVHKTsNCisNCisJLyogSWYgRFJRIGlzIGNsZWFyLCB0aGUgY29tbWFuZCBo
YXMgY29tcGxldGVkLiAqLw0KKwlpZiAoKHN0YXQgJiBEUlFfU1RBVCkgPT0g
MCkgew0KKwkJLyogSWYgd2UncmUgbm90IGRvbmUgd3JpdGluZywgY29tcGxh
aW4uDQorCQkgKiBPdGhlcndpc2UsIGNvbXBsZXRlIHRoZSBjb21tYW5kIG5v
cm1hbGx5Lg0KKwkJICovDQorCQlpZiAocnEtPmN1cnJlbnRfbnJfc2VjdG9y
cyA+IDApIHsNCisJCQlwcmludGsoIiVzOiB3cml0ZV9pbnRyOiBkYXRhIHVu
ZGVycnVuICglbGQgYmxvY2tzKVxuIiwNCisJCQkJZHJpdmUtPm5hbWUsIHJx
LT5jdXJyZW50X25yX3NlY3RvcnMpOw0KKwkJCWNkcm9tX2VuZF9yZXF1ZXN0
KDAsIGRyaXZlKTsNCisJCX0gZWxzZQ0KKwkJCWNkcm9tX2VuZF9yZXF1ZXN0
KDEsIGRyaXZlKTsNCisJCXJldHVybiBpZGVfc3RvcHBlZDsNCisJfQ0KKw0K
KwkvKiBDaGVjayB0aGF0IHRoZSBkcml2ZSBpcyBleHBlY3RpbmcgdG8gZG8g
dGhlIHNhbWUgdGhpbmcgd2UgYXJlLiAqLw0KKwlpZiAoaXJlYXNvbiAmIDMp
DQorCQlpZiAoY2Ryb21fd3JpdGVfY2hlY2tfaXJlYXNvbihkcml2ZSwgbGVu
LCBpcmVhc29uKSkNCisJCQlyZXR1cm4gaWRlX3N0b3BwZWQ7DQorDQorCS8q
IFRoZSBudW1iZXIgb2Ygc2VjdG9ycyB3ZSBuZWVkIHRvIHJlYWQgZnJvbSB0
aGUgZHJpdmUuICovDQorCXNlY3RvcnNfdG9fdHJhbnNmZXIgPSBsZW4gLyBT
RUNUT1JfU0laRTsNCisNCisJLyogTm93IGxvb3Agd2hpbGUgd2Ugc3RpbGwg
aGF2ZSBkYXRhIHRvIHJlYWQgZnJvbSB0aGUgZHJpdmUuIERNQQ0KKwkgKiB0
cmFuc2ZlcnMgd2lsbCBhbHJlYWR5IGhhdmUgYmVlbiBjb21wbGV0ZQ0KKwkg
Ki8NCisJd2hpbGUgKHNlY3RvcnNfdG9fdHJhbnNmZXIgPiAwKSB7DQorCQkv
KiBJZiB3ZSd2ZSBmaWxsZWQgdGhlIHByZXNlbnQgYnVmZmVyIGJ1dCB0aGVy
ZSdzIGFub3RoZXINCisJCSAgIGNoYWluZWQgYnVmZmVyIGFmdGVyIGl0LCBt
b3ZlIG9uLiAqLw0KKwkJaWYgKHJxLT5jdXJyZW50X25yX3NlY3RvcnMgPT0g
MCAmJiBycS0+bnJfc2VjdG9ycyA+IDApDQorCQkJY2Ryb21fZW5kX3JlcXVl
c3QoMSwgZHJpdmUpOw0KKw0KKwkJYXRhcGlfb3V0cHV0X2J5dGVzKGRyaXZl
LCBycS0+YnVmZmVyLCBycS0+Y3VycmVudF9ucl9zZWN0b3JzKTsNCisJCXJx
LT5ucl9zZWN0b3JzIC09IHJxLT5jdXJyZW50X25yX3NlY3RvcnM7DQorCQly
cS0+Y3VycmVudF9ucl9zZWN0b3JzID0gMDsNCisJCXJxLT5zZWN0b3IgKz0g
cnEtPmN1cnJlbnRfbnJfc2VjdG9yczsNCisJCXNlY3RvcnNfdG9fdHJhbnNm
ZXIgLT0gcnEtPmN1cnJlbnRfbnJfc2VjdG9yczsNCisJfQ0KKw0KKwkvKiBh
cm0gaGFuZGxlciAqLw0KKwlpZGVfc2V0X2hhbmRsZXIoZHJpdmUsICZjZHJv
bV93cml0ZV9pbnRyLCA1ICogV0FJVF9DTUQsIE5VTEwpOw0KKwlyZXR1cm4g
aWRlX3N0YXJ0ZWQ7DQorfQ0KKw0KK3N0YXRpYyBpZGVfc3RhcnRzdG9wX3Qg
Y2Ryb21fc3RhcnRfd3JpdGVfY29udChpZGVfZHJpdmVfdCAqZHJpdmUpDQor
ew0KKwlzdHJ1Y3QgcGFja2V0X2NvbW1hbmQgcGM7CS8qIHBhY2tldF9jb21t
YW5kX3QgcGM7ICovDQorCXN0cnVjdCByZXF1ZXN0ICpycSA9IEhXR1JPVVAo
ZHJpdmUpLT5ycTsNCisJdW5zaWduZWQgbmZyYW1lcywgZnJhbWU7DQorDQor
CW5mcmFtZXMgPSBycS0+bnJfc2VjdG9ycyA+PiAyOw0KKwlmcmFtZSA9IHJx
LT5zZWN0b3IgPj4gMjsNCisNCisJbWVtc2V0KCZwYy5jLCAwLCBzaXplb2Yo
cGMuYykpOw0KKwkvKg0KKwkgKiB3ZSBtaWdodCBhcyB3ZWxsIHVzZSBXUklU
RV8xMiwgYnV0IG5vbmUgb2YgdGhlIGRldmljZSBJIGhhdmUNCisJICogc3Vw
cG9ydCB0aGUgc3RyZWFtaW5nIGZlYXR1cmUgYW55d2F5LCBzbyB3aG8gY2Fy
ZXMuDQorCSAqLw0KKwlwYy5jWzBdID0gR1BDTURfV1JJVEVfMTA7DQorI2lm
IDAJLyogdGhlIGltbWVkaWF0ZSBiaXQgKi8NCisJcGMuY1sxXSA9IDEgPDwg
MzsNCisjZW5kaWYNCisJcGMuY1s3XSA9IChuZnJhbWVzID4+IDgpICYgMHhm
ZjsNCisJcGMuY1s4XSA9IG5mcmFtZXMgJiAweGZmOw0KKwlwdXRfdW5hbGln
bmVkKGNwdV90b19iZTMyKGZyYW1lKSwgKHVuc2lnbmVkIGludCAqKSZwYy5j
WzJdKTsNCisJcGMudGltZW91dCA9IDIgKiBXQUlUX0NNRDsNCisNCisJcmV0
dXJuIGNkcm9tX3RyYW5zZmVyX3BhY2tldF9jb21tYW5kKGRyaXZlLCAmcGMs
IGNkcm9tX3dyaXRlX2ludHIpOw0KK30NCisNCitzdGF0aWMgaWRlX3N0YXJ0
c3RvcF90IGNkcm9tX3N0YXJ0X3dyaXRlKGlkZV9kcml2ZV90ICpkcml2ZSkN
Cit7DQorCXN0cnVjdCBjZHJvbV9pbmZvICppbmZvID0gZHJpdmUtPmRyaXZl
cl9kYXRhOw0KKw0KKwlpbmZvLT5uc2VjdG9yc19idWZmZXJlZCA9IDA7DQor
DQorICAgICAgICAvKiB1c2UgZG1hLCBpZiBwb3NzaWJsZS4gd2UgZG9uJ3Qg
bmVlZCB0byBjaGVjayBtb3JlLCBzaW5jZSB3ZQ0KKwkgKiBrbm93IHRoYXQg
dGhlIHRyYW5zZmVyIGlzIGFsd2F5cyAoYXQgbGVhc3QhKSAyS0IgYWxpZ25l
ZCAqLw0KKwlpbmZvLT5kbWEgPSBkcml2ZS0+dXNpbmdfZG1hID8gMSA6IDA7
DQorCWluZm8tPmNtZCA9IFdSSVRFOw0KKw0KKwkvKiBTdGFydCBzZW5kaW5n
IHRoZSByZWFkIHJlcXVlc3QgdG8gdGhlIGRyaXZlLiAqLw0KKwlyZXR1cm4g
Y2Ryb21fc3RhcnRfcGFja2V0X2NvbW1hbmQoZHJpdmUsIDMyNzY4LCBjZHJv
bV9zdGFydF93cml0ZV9jb250KTsNCit9DQorDQogLyoqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioNCiAgKiBjZHJvbSBkcml2ZXIgcmVxdWVzdCBy
b3V0aW5lLg0KICAqLw0KQEAgLTE0MjQsNiArMTYyMCw3IEBADQogCXN0cnVj
dCBjZHJvbV9pbmZvICppbmZvID0gZHJpdmUtPmRyaXZlcl9kYXRhOw0KIA0K
IAlzd2l0Y2ggKHJxLT5jbWQpIHsNCisJCWNhc2UgV1JJVEU6DQogCQljYXNl
IFJFQUQ6IHsNCiAJCQlpZiAoQ0RST01fQ09ORklHX0ZMQUdTKGRyaXZlKS0+
c2Vla2luZykgew0KIAkJCQl1bnNpZ25lZCBsb25nIGVscGFzZWQgPSBqaWZm
aWVzIC0gaW5mby0+c3RhcnRfc2VlazsNCkBAIC0xNDQwLDggKzE2MzcsMTIg
QEANCiAJCQl9DQogCQkJaWYgKElERV9MQVJHRV9TRUVLKGluZm8tPmxhc3Rf
YmxvY2ssIGJsb2NrLCBJREVDRF9TRUVLX1RIUkVTSE9MRCkgJiYgZHJpdmUt
PmRzY19vdmVybGFwKQ0KIAkJCQlhY3Rpb24gPSBjZHJvbV9zdGFydF9zZWVr
IChkcml2ZSwgYmxvY2spOw0KLQkJCWVsc2UNCi0JCQkJYWN0aW9uID0gY2Ry
b21fc3RhcnRfcmVhZCAoZHJpdmUsIGJsb2NrKTsNCisJCQllbHNlIHsNCisJ
CQkJaWYgKHJxLT5jbWQgPT0gUkVBRCkNCisJCQkJCWFjdGlvbiA9IGNkcm9t
X3N0YXJ0X3JlYWQoZHJpdmUsIGJsb2NrKTsNCisJCQkJZWxzZQ0KKwkJCQkJ
YWN0aW9uID0gY2Ryb21fc3RhcnRfd3JpdGUoZHJpdmUpOw0KKwkJCX0NCiAJ
CQlpbmZvLT5sYXN0X2Jsb2NrID0gYmxvY2s7DQogCQkJcmV0dXJuIGFjdGlv
bjsNCiAJCX0NCkBAIC0xNDU3LDcgKzE2NTgsNyBAQA0KIAkJfQ0KIA0KIAkJ
ZGVmYXVsdDogew0KLQkJCXByaW50aygiaWRlLWNkOiBiYWQgY21kICVkXG4i
LCBycSAtPiBjbWQpOw0KKwkJCXByaW50aygiaWRlLWNkOiBiYWQgY21kICVk
XG4iLCBycS0+Y21kKTsNCiAJCQljZHJvbV9lbmRfcmVxdWVzdCgwLCBkcml2
ZSk7DQogCQkJcmV0dXJuIGlkZV9zdG9wcGVkOw0KIAkJfQ0KQEAgLTE4NDks
OCArMjA1MCw5IEBADQogCXBjLmNbMl0gPSAoc3BlZWQgPj4gOCkgJiAweGZm
OwkNCiAJLyogUmVhZCBEcml2ZSBzcGVlZCBpbiBrYnl0ZXMvc2Vjb25kIExT
QiAqLw0KIAlwYy5jWzNdID0gc3BlZWQgJiAweGZmOw0KLQlpZiAoIENEUk9N
X0NPTkZJR19GTEFHUyhkcml2ZSktPmNkX3IgfHwNCi0gICAgICAgICAgICAg
ICAgICAgQ0RST01fQ09ORklHX0ZMQUdTKGRyaXZlKS0+Y2RfcncgKSB7DQor
CWlmIChDRFJPTV9DT05GSUdfRkxBR1MoZHJpdmUpLT5jZF9yIHx8DQorCSAg
ICBDRFJPTV9DT05GSUdfRkxBR1MoZHJpdmUpLT5jZF9ydyB8fA0KKwkgICAg
Q0RST01fQ09ORklHX0ZMQUdTKGRyaXZlKS0+ZHZkX3IpIHsNCiAJCS8qIFdy
aXRlIERyaXZlIHNwZWVkIGluIGtieXRlcy9zZWNvbmQgTVNCICovDQogCQlw
Yy5jWzRdID0gKHNwZWVkID4+IDgpICYgMHhmZjsNCiAJCS8qIFdyaXRlIERy
aXZlIHNwZWVkIGluIGtieXRlcy9zZWNvbmQgTFNCICovDQpAQCAtMTkwMiwx
MCArMjEwNCw2IEBADQogCXJldHVybiAwOw0KIH0NCiANCi0NCi0NCi0NCi0N
CiAvKiB0aGUgZ2VuZXJpYyBwYWNrZXQgaW50ZXJmYWNlIHRvIGNkcm9tLmMg
Ki8NCiBzdGF0aWMgaW50IGlkZV9jZHJvbV9wYWNrZXQoc3RydWN0IGNkcm9t
X2RldmljZV9pbmZvICpjZGksDQogCQkJICAgIHN0cnVjdCBjZHJvbV9nZW5l
cmljX2NvbW1hbmQgKmNnYykNCkBAIC0yNDQxLDYgKzI2MzksOSBAQA0KIAlp
bnQgbWlub3IgPSBkcml2ZS0+c2VsZWN0LmIudW5pdCA8PCBQQVJUTl9CSVRT
Ow0KIAlpbnQgbnNsb3RzOw0KIA0KKwkvKg0KKwkgKiBkZWZhdWx0IHRvIHJl
YWQtb25seSBhbHdheXMgYW5kIGZpeCBsYXR0ZXIgYXQgdGhlIGJvdHRvbQ0K
KwkgKi8NCiAJc2V0X2RldmljZV9ybyhNS0RFVihIV0lGKGRyaXZlKS0+bWFq
b3IsIG1pbm9yKSwgMSk7DQogCXNldF9ibG9ja3NpemUoTUtERVYoSFdJRihk
cml2ZSktPm1ham9yLCBtaW5vciksIENEX0ZSQU1FU0laRSk7DQogDQpAQCAt
MjU1OSw2ICsyNzYwLDkgQEANCiAJaW5mby0+c3RhcnRfc2Vlawk9IDA7DQog
DQogCW5zbG90cyA9IGlkZV9jZHJvbV9wcm9iZV9jYXBhYmlsaXRpZXMgKGRy
aXZlKTsNCisNCisJaWYgKENEUk9NX0NPTkZJR19GTEFHUyhkcml2ZSktPmR2
ZF9yYW0pDQorCQlzZXRfZGV2aWNlX3JvKE1LREVWKEhXSUYoZHJpdmUpLT5t
YWpvciwgbWlub3IpLCAwKTsNCiANCiAJaWYgKGlkZV9jZHJvbV9yZWdpc3Rl
ciAoZHJpdmUsIG5zbG90cykpIHsNCiAJCXByaW50ayAoIiVzOiBpZGVfY2Ry
b21fc2V0dXAgZmFpbGVkIHRvIHJlZ2lzdGVyIGRldmljZSB3aXRoIHRoZSBj
ZHJvbSBkcml2ZXIuXG4iLCBkcml2ZS0+bmFtZSk7DQpkaWZmIC11ck4gbGlu
dXgtMi40LjAtcHJlcmVsZWFzZS9kcml2ZXJzL2lkZS9pZGUtY2QuaCBsaW51
eC0yLjQuMC1wcmVyZWxlYXNlLmNkL2RyaXZlcnMvaWRlL2lkZS1jZC5oDQot
LS0gbGludXgtMi40LjAtcHJlcmVsZWFzZS9kcml2ZXJzL2lkZS9pZGUtY2Qu
aAlTdW4gRGVjIDMxIDIwOjU4OjM4IDIwMDANCisrKyBsaW51eC0yLjQuMC1w
cmVyZWxlYXNlLmNkL2RyaXZlcnMvaWRlL2lkZS1jZC5oCVN1biBEZWMgMzEg
MjI6MTI6MDggMjAwMA0KQEAgLTQ3OCw2ICs0NzgsNyBAQA0KIAlzdHJ1Y3Qg
cmVxdWVzdCByZXF1ZXN0X3NlbnNlX3JlcXVlc3Q7DQogCXN0cnVjdCBwYWNr
ZXRfY29tbWFuZCByZXF1ZXN0X3NlbnNlX3BjOw0KIAlpbnQgZG1hOw0KKwlp
bnQgY21kOw0KIAl1bnNpZ25lZCBsb25nIGxhc3RfYmxvY2s7DQogCXVuc2ln
bmVkIGxvbmcgc3RhcnRfc2VlazsNCiAJLyogQnVmZmVyIHRvIGhvbGQgbWVj
aGFuaXNtIHN0YXR1cyBhbmQgY2hhbmdlciBzbG90IHRhYmxlLiAqLw0K
---1019260510-992132526-978336454=:21836--
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/