RFC: patch to pdc202xx.c; help wanted please

Ruth Ivimey-Cook (Ruth.Ivimey-Cook@ivimey.org)
Sun, 18 Aug 2002 13:51:13 +0100 (BST)


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.

---1463811584-2113355014-1029675073=:13574
Content-Type: TEXT/PLAIN; charset=US-ASCII

Folks,

I've played a bit more with the patch for /proc/ide/pdc202xx, but am having
problems with getting correct 'hwif' values. If I boot with this change, it
starts up as expected until it dies in the BUG() I inserted in the tune
function, about line 606.

I am aware I'm very much a newbie here, and any pointers are gratefully
accepted.

I've attached the patch (against 2.4.19) and the full file, if that's easier
reading.

Thanks

Ruth

-- 
Ruth Ivimey-Cook
Software engineer and technical writer.

---1463811584-2113355014-1029675073=:13574 Content-Type: TEXT/plain; name="ide-patch.txt" Content-Transfer-Encoding: BASE64 Content-ID: <Pine.LNX.4.44.0208181351130.13574@sharra.ivimey.org> Content-Description: patch Content-Disposition: attachment; filename="ide-patch.txt"

LS0tIGxpbnV4LTIuNC4xOS9kcml2ZXJzL2lkZS9wZGMyMDJ4eC5jCVNhdCBB dWcgIDMgMDE6Mzk6NDQgMjAwMg0KKysrIDIuNC4xOS1yaTEvbGludXgvZHJp dmVycy9pZGUvcGRjMjAyeHguYwlGcmkgQXVnIDE2IDE4OjQ3OjAwIDIwMDIN CkBAIC00OSwxNCArNDksMTQgQEANCiAgKiAgQ29weXJpZ2h0IChDKSAxOTk5 LTIwMDIgUHJvbWlzZSBUZWNobm9sb2d5LCBJbmMuDQogICogIEF1dGhvcjog RnJhbmsgVGllcm5hbiA8ZnJhbmt0QHByb21pc2UuY29tPg0KICAqICAgICAg ICAgIFBST01JU0UgcGRjMjAyeHggSURFIENvbnRyb2xsZXIgZHJpdmVyIE1B SU5UQUlORVJTDQogICogIFJlbGVhc2VkIHVuZGVyIHRlcm1zIG9mIEdlbmVy YWwgUHVibGljIExpY2Vuc2UNCiAgKi8NCiAgDQotI2RlZmluZSBWRVJTSU9O CSIxLjIwLjAuNyINCi0jZGVmaW5lIFZFUkRBVEUgIjIwMDItMDUtMjMiDQor I2RlZmluZSBWRVJTSU9OCSIxLjIwLjAuNy1yaTEiDQorI2RlZmluZSBWRVJE QVRFICIyMDAyLTA4LTExIg0KICNpbmNsdWRlIDxsaW51eC9jb25maWcuaD4N CiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4NCiAjaW5jbHVkZSA8bGludXgv a2VybmVsLmg+DQogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+DQogI2luY2x1 ZGUgPGxpbnV4L3RpbWVyLmg+DQogI2luY2x1ZGUgPGxpbnV4L21tLmg+DQpA QCAtNzAsMTIgKzcwLDIwIEBADQogDQogI2luY2x1ZGUgPGFzbS9pby5oPg0K ICNpbmNsdWRlIDxhc20vaXJxLmg+DQogDQogI2luY2x1ZGUgImlkZV9tb2Rl cy5oIg0KIA0KKy8qIG1heGltdW0gbnVtYmVyIG9mIFBEQyBQQ0kgY29udHJv bGxlcnMgKG5vdCBkcml2ZXMhKSB0aGlzIGRyaXZlciBjYW4gYWNjb21vZGF0 ZSAqLw0KKyNkZWZpbmUgTUFYX1BEQ19ERVZTICAgIDgNCisNCisvKiBtYXhp bXVtIG51bWJlciBvZiBpbnRlcmZhY2VzIChjYWJsZXMpIG9uIG9uZSBQREMg Y29udHJvbGxlciAobm9ybWFsbHkgdGhpcyBpcyAyLCBidXQNCisgKiB0aGVy ZSBhcmUgNC13YXkgUERDIGNhcmRzIGFuZCBJJ20gbm90IHN1cmUgd2hldGhl ciB0aGV5IGFwcGVhciBhcyAyeDIgb3IgMXg0DQorICovDQorI2RlZmluZSBN QVhfQ0FCTEVTICAgICAgNA0KKw0KICNkZWZpbmUgUERDMjAyWFhfREVCVUdf RFJJVkVfSU5GTwkJMA0KICNkZWZpbmUgUERDMjAyWFhfREVDT0RFX1JFR0lT VEVSX0lORk8JCTANCiANCiAjZGVmaW5lIERJU1BMQVlfUERDMjAyWFhfVElN SU5HUw0KIA0KICNpZm5kZWYgU1BMSVRfQllURQ0KQEAgLTgzLDEyMSArOTEs MjAyIEBADQogI2VuZGlmDQogDQogI2lmIGRlZmluZWQoRElTUExBWV9QREMy MDJYWF9USU1JTkdTKSAmJiBkZWZpbmVkKENPTkZJR19QUk9DX0ZTKQ0KICNp bmNsdWRlIDxsaW51eC9zdGF0Lmg+DQogI2luY2x1ZGUgPGxpbnV4L3Byb2Nf ZnMuaD4NCiANCitzdGF0aWMgdm9pZCBwZGMyMDJ4eF9wcmludF9kcml2ZV9h cnJheSh2b2lkKTsNCitzdGF0aWMgaW50IHBkYzIwMnh4X3NldHVwX2RyaXZl X2RhdGEoaWRlX2h3aWZfdCAqaHdpZik7DQogc3RhdGljIGludCBwZGMyMDJ4 eF9nZXRfaW5mbyhjaGFyICosIGNoYXIgKiosIG9mZl90LCBpbnQpOw0KIGV4 dGVybiBpbnQgKCpwZGMyMDJ4eF9kaXNwbGF5X2luZm8pKGNoYXIgKiwgY2hh ciAqKiwgb2ZmX3QsIGludCk7IC8qIGlkZS1wcm9jLmMgKi8NCiBleHRlcm4g Y2hhciAqaWRlX21lZGlhX3ZlcmJvc2UoaWRlX2RyaXZlX3QgKik7DQotc3Rh dGljIHN0cnVjdCBwY2lfZGV2ICpibWlkZV9kZXY7DQotc3RhdGljIHN0cnVj dCBoZF9kcml2ZWlkICppZFs0XTsNCi1zdGF0aWMgaW50IHNwZWVkX3JhdGVb NF07DQogDQotc3RhdGljIGNoYXIgKiBwZGMyMDJ4eF9pbmZvIChjaGFyICpi dWYsIHN0cnVjdCBwY2lfZGV2ICpkZXYpDQorc3RydWN0IHBkY19kcml2ZWlu Zm8gew0KKwlpbnQgbnJfY2FibGVzOwkvKiBhY3R1YWwgbnVtYmVyIG9mIGlu dGVyZmFjZXMgKGNhYmxlcykgb24gdGhpcyBjb250cm9sbGVyICovDQorCWlu dCBzcGVlZF9yYXRlW01BWF9DQUJMRVNdW01BWF9EUklWRVNdOw0KKwlpZGVf aHdpZl90ICpod2lmW01BWF9DQUJMRVNdOw0KK30gcGRjX2RldnNbTUFYX1BE Q19ERVZTXTsNCitzdGF0aWMgaW50IG5yX3BkY19kZXZzID0gMDsNCisNCitz dGF0aWMgaW50IHBkYzIwMnh4X2dldF9tYXhfY2FibGVzKHN0cnVjdCBwY2lf ZGV2ICpkZXYpDQorew0KKwlyZXR1cm4gMjsJLyogcmV0dXJuIG1heCBudW1i ZXIgb2YgY2FibGVzIHBlciBpbnRlcmZhY2UgKi8NCit9DQorDQorc3RhdGlj IGNoYXIgKnBkYzIwMnh4X2dldF9kcml2ZV9jbGFzcyhzdHJ1Y3QgcGNpX2Rl diAqZGV2KQ0KK3sNCisJY2hhciAqc3RyID0gTlVMTDsNCisJc3dpdGNoKGRl di0+ZGV2aWNlKSB7DQorCQljYXNlIFBDSV9ERVZJQ0VfSURfUFJPTUlTRV8y MDI3NjoNCisJCWNhc2UgUENJX0RFVklDRV9JRF9QUk9NSVNFXzIwMjc1Og0K KwkJCXN0ciA9ICJNQlVsdHJhMTMzIjsNCisNCisJCWNhc2UgUENJX0RFVklD RV9JRF9QUk9NSVNFXzIwMjY5Og0KKwkJCXN0ciA9ICJVbHRyYTEzMyBUWDIi Ow0KKw0KKwkJY2FzZSBQQ0lfREVWSUNFX0lEX1BST01JU0VfMjAyNjg6DQor CQkJc3RyID0gIlVsdHJhMTAwIFRYMiI7DQorDQorCQljYXNlIFBDSV9ERVZJ Q0VfSURfUFJPTUlTRV8yMDI2NzoNCisJCQlzdHIgPSAiVWx0cmExMDAiOw0K Kw0KKwkJY2FzZSBQQ0lfREVWSUNFX0lEX1BST01JU0VfMjAyNjU6DQorCQkJ c3RyID0gIlVsdHJhMTAwIG9uIE0vQiI7DQorDQorCQljYXNlIFBDSV9ERVZJ Q0VfSURfUFJPTUlTRV8yMDI2MjoNCisJCQlzdHIgPSAiVWx0cmE2NiI7DQor DQorCQljYXNlIFBDSV9ERVZJQ0VfSURfUFJPTUlTRV8yMDI0NjoNCisJCQlz dHIgPSAiVWx0cmEzMyI7DQorDQorCQlkZWZhdWx0Og0KKwkJCXN0ciA9ICJV bHRyYSBTZXJpZXMiOw0KKwl9DQorCXJldHVybiBzdHI7DQorfQ0KKw0KKyNk ZWZpbmUgRk9SQUxMX0RSSVZFUyhpbnRlcmYpCXsgaW50IGhkID0gMCwgY2Fi bGUsIGRyaXZlOyBcDQorCQkJCSAgZm9yKGNhYmxlID0gMDsgY2FibGUgPCBw ZGNfZGV2c1tpbnRlcmZdLm5yX2NhYmxlczsgY2FibGUrKykgeyBcDQorCQkJ CSAgZm9yKGRyaXZlID0gMDsgZHJpdmUgPCBNQVhfRFJJVkVTOyBkcml2ZSsr LGhkKysgKQ0KKyNkZWZpbmUgRU5ERk9SQUxMX0RSSVZFUwl9IH0NCisvKg0K KyAqIFJldHVybiBhIGJ1ZmZlciBvZiBmb3JtYXR0ZWQgaW5mbyBhYm91dCB0 aGUgUERDIGludGVyZmFjZQ0KKyAqIG51bWJlcmVkIGluICdpbnRlcmYnLg0K KyAqLw0KK3N0YXRpYyBpbnQgcGRjMjAyeHhfaW5mbyAoY2hhciAqYnVmLCBp bnQgaW50ZXJmKQ0KIHsNCisJc3RydWN0IHBjaV9kZXYgKmRldgk9IHBkY19k ZXZzW2ludGVyZl0uaHdpZlswXS0+cGNpX2RldjsNCiAJY2hhciAqcCA9IGJ1 ZjsNCiANCiAJdTMyIGJpYm1hICA9IHBjaV9yZXNvdXJjZV9zdGFydChkZXYs IDQpOw0KIAl1MzIgcmVnNjBoID0gMCwgcmVnNjRoID0gMCwgcmVnNjhoID0g MCwgcmVnNmNoID0gMDsNCi0JdTE2IHJlZzUwaCA9IDA7DQorCXUxNiByZWc1 MGggPSAwOwkJCQkvKiB0aGlzIGlzIHdyaXR0ZW4gYnV0IG5vdCByZWFkICov DQogCXUxNiB3b3JkODggPSAwOw0KLQlpbnQgdWRtYXNlbFs0XSA9IHswLDAs MCwwfSwgcGlvc2VsWzRdID0gezAsMCwwLDB9Ow0KLQlpbnQgaSA9IDAsIGhk ID0gMDsNCisJdTggYzAsIGMxOw0KKwl1OCBzYzExLCBzYzFhLCBzYzFiOw0K KwlpbnQgdWRtYXNlbFtNQVhfQ0FCTEVTKk1BWF9EUklWRVNdOw0KKwlpbnQg cGlvc2VsW01BWF9DQUJMRVMqTUFYX0RSSVZFU107DQorCWludCBpID0gMDsN CisNCisgICAgICAgIGlmIChpbnRlcmYgPCAwIHx8IGludGVyZiA+PSBNQVhf UERDX0RFVlMpIHJldHVybiAwOw0KIA0KICAgICAgICAgLyoNCi0gICAgICAg ICAqIGF0IHRoYXQgcG9pbnQgYmlibWErMHgyIGV0IGJpYm1hKzB4YSBhcmUg Ynl0ZSByZWdpc3RlcnMNCisgICAgICAgICAqIGF0IHRoYXQgcG9pbnQgYmli bWErMHgyIGFuZCBiaWJtYSsweGEgYXJlIGJ5dGUgcmVnaXN0ZXJzDQogICAg ICAgICAgKiB0byBpbnZlc3RpZ2F0ZToNCiAgICAgICAgICAqLw0KLQl1OCBj MAk9IGluYl9wKCh1bnNpZ25lZCBzaG9ydCliaWJtYSArIDB4MDIpOw0KLQl1 OCBjMQk9IGluYl9wKCh1bnNpZ25lZCBzaG9ydCliaWJtYSArIDB4MGEpOw0K KwljMAk9IGluYl9wKCh1bnNpZ25lZCBzaG9ydCliaWJtYSArIDB4MDIpOw0K KwljMQk9IGluYl9wKCh1bnNpZ25lZCBzaG9ydCliaWJtYSArIDB4MGEpOw0K IA0KLQl1OCBzYzExCT0gaW5iX3AoKHVuc2lnbmVkIHNob3J0KWJpYm1hICsg MHgxMSk7DQotCXU4IHNjMWEJPSBpbmJfcCgodW5zaWduZWQgc2hvcnQpYmli bWEgKyAweDFhKTsNCi0JdTggc2MxYgk9IGluYl9wKCh1bnNpZ25lZCBzaG9y dCliaWJtYSArIDB4MWIpOw0KKwlzYzExCT0gaW5iX3AoKHVuc2lnbmVkIHNo b3J0KWJpYm1hICsgMHgxMSk7DQorCXNjMWEJPSBpbmJfcCgodW5zaWduZWQg c2hvcnQpYmlibWEgKyAweDFhKTsNCisJc2MxYgk9IGluYl9wKCh1bnNpZ25l ZCBzaG9ydCliaWJtYSArIDB4MWIpOw0KIAkvKiB1OCBzYzFjCT0gaW5iX3Ao KHVuc2lnbmVkIHNob3J0KWJpYm1hICsgMHgxYyk7IA0KLQl1OCBzYzFkCT0g aW5iX3AoKHVuc2lnbmVkIHNob3J0KWJpYm1hICsgMHgxZCk7DQotCXU4IHNj MWUJPSBpbmJfcCgodW5zaWduZWQgc2hvcnQpYmlibWEgKyAweDFlKTsNCi0J dTggc2MxZgk9IGluYl9wKCh1bnNpZ25lZCBzaG9ydCliaWJtYSArIDB4MWYp OyAqLw0KKwkgKiB1OCBzYzFkCT0gaW5iX3AoKHVuc2lnbmVkIHNob3J0KWJp Ym1hICsgMHgxZCk7DQorCSAqIHU4IHNjMWUJPSBpbmJfcCgodW5zaWduZWQg c2hvcnQpYmlibWEgKyAweDFlKTsNCisJICogdTggc2MxZgk9IGluYl9wKCh1 bnNpZ25lZCBzaG9ydCliaWJtYSArIDB4MWYpOyAqLw0KIA0KLQlwY2lfcmVh ZF9jb25maWdfd29yZChkZXYsIDB4NTAsICZyZWc1MGgpOw0KKwlwY2lfcmVh ZF9jb25maWdfd29yZChkZXYsIDB4NTAsICZyZWc1MGgpOyAvKiB0aGlzIGlz IHVudXNlZCAqLw0KIAlwY2lfcmVhZF9jb25maWdfZHdvcmQoZGV2LCAweDYw LCAmcmVnNjBoKTsNCiAJcGNpX3JlYWRfY29uZmlnX2R3b3JkKGRldiwgMHg2 NCwgJnJlZzY0aCk7DQogCXBjaV9yZWFkX2NvbmZpZ19kd29yZChkZXYsIDB4 NjgsICZyZWc2OGgpOw0KIAlwY2lfcmVhZF9jb25maWdfZHdvcmQoZGV2LCAw eDZjLCAmcmVnNmNoKTsNCiANCi0JcCs9c3ByaW50ZihwLCAiXG5QUk9NSVNF IFVsdHJhIHNlcmllcyBkcml2ZXIgVmVyICVzICVzIEFkYXB0ZXI6ICIsIFZF UlNJT04sIFZFUkRBVEUpOw0KLQlzd2l0Y2goZGV2LT5kZXZpY2UpIHsNCi0J CWNhc2UgUENJX0RFVklDRV9JRF9QUk9NSVNFXzIwMjc1Og0KLQkJCXAgKz0g c3ByaW50ZihwLCAiTUJVbHRyYTEzM1xuIik7DQotCQkJYnJlYWs7DQotCQlj YXNlIFBDSV9ERVZJQ0VfSURfUFJPTUlTRV8yMDI2OToNCi0JCQlwICs9IHNw cmludGYocCwgIlVsdHJhMTMzIFRYMlxuIik7DQotCQkJYnJlYWs7DQotCQlj YXNlIFBDSV9ERVZJQ0VfSURfUFJPTUlTRV8yMDI2ODoNCi0JCQlwICs9IHNw cmludGYocCwgIlVsdHJhMTAwIFRYMlxuIik7DQotCQkJYnJlYWs7DQotCQlj YXNlIFBDSV9ERVZJQ0VfSURfUFJPTUlTRV8yMDI2NzoNCi0JCQlwICs9IHNw cmludGYocCwgIlVsdHJhMTAwXG4iKTsNCi0JCQlicmVhazsNCi0JCWNhc2Ug UENJX0RFVklDRV9JRF9QUk9NSVNFXzIwMjY1Og0KLQkJCXAgKz0gc3ByaW50 ZihwLCAiVWx0cmExMDAgb24gTS9CXG4iKTsNCi0JCQlicmVhazsNCi0JCWNh c2UgUENJX0RFVklDRV9JRF9QUk9NSVNFXzIwMjYyOg0KLQkJCXAgKz0gc3By aW50ZihwLCAiVWx0cmE2NlxuIik7DQotCQkJYnJlYWs7DQotCQljYXNlIFBD SV9ERVZJQ0VfSURfUFJPTUlTRV8yMDI0NjoNCi0JCQlwICs9IHNwcmludGYo cCwgIlVsdHJhMzNcbiIpOw0KLQkJCXJlZzUwaCB8PSAweDBjMDA7DQotCQkJ YnJlYWs7DQotCQlkZWZhdWx0Og0KLQkJCXAgKz0gc3ByaW50ZihwLCAiVWx0 cmEgU2VyaWVzXG4iKTsNCi0JCQlicmVhazsNCi0JfQ0KKwlGT1JBTExfRFJJ VkVTKGludGVyZikgew0KKwkJaWRlX2RyaXZlX3QgKmRydiA9ICZwZGNfZGV2 c1tpbnRlcmZdLmh3aWZbY2FibGVdLT5kcml2ZXNbZHJpdmVdOw0KKw0KKwkJ aWYgKGRydi0+cHJlc2VudCkgew0KKwkJCXdvcmQ4OCA9IGRydi0+aWQtPmRt YV91bHRyYTsNCisJCQlmb3IgKCBpID0gNyA7IGkgPj0gMCA7IGktLSkNCisJ CQkJaWYgKHdvcmQ4OCA+PiAoaSs4KSkgew0KKwkJCQkJdWRtYXNlbFtoZF0g PSBpOwkvKiBnZXQgc2VsZWN0IFVETUEgbW9kZSAqLw0KKwkJCQkJYnJlYWs7 DQorCQkJCX0NCisJCQlwaW9zZWxbaGRdID0gKGRydi0+aWQtPmVpZGVfcGlv X21vZGVzID49IDB4MDIpID8gNCA6IDM7DQorCQl9DQorCQllbHNlDQorCQkJ cGlvc2VsW2hkXSA9IHVkbWFzZWxbaGRdID0gMDsNCisJfSBFTkRGT1JBTExf RFJJVkVTDQorDQorCXAgKz0gc3ByaW50ZihwLCAiUFJPTUlTRSBVbHRyYSBz ZXJpZXMgZHJpdmVyIFZlciAlcyAlcyBBZGFwdGVyOiAlc1xuIiwNCisJCQlW RVJTSU9OLCBWRVJEQVRFLCBwZGMyMDJ4eF9nZXRfZHJpdmVfY2xhc3MoZGV2 KSk7DQorDQorCS8qIG5vdCBzdXJlIHdoYXQgdGhpcyBkb2VzOyB2YXJpYWJs ZSAncmVnNTBoJyBkb2VzIG5vdCBzZWVtIHRvIGJlIHVzZWQgYW55d2hlcmUg Ki8NCisJaWYgKGRldi0+ZGV2aWNlID09IFBDSV9ERVZJQ0VfSURfUFJPTUlT RV8yMDI0NikNCisJCXJlZzUwaCB8PSAweDBjMDA7IC8qIHRoaXMgaXMgdW51 c2VkICovDQogDQogCXAgKz0gc3ByaW50ZihwLCAiLS0tLS0tLS0tLS0tLS0t IFByaW1hcnkgQ2hhbm5lbCAtLS0tLS0tLS0tLS0tLS0tIFNlY29uZGFyeSBD aGFubmVsIC0tLS0tLS0tLS0tLS1cbiIpOw0KIAlwICs9IHNwcmludGYocCwg IiAgICAgICAgICAgICAgICAlcyAgICAgICAgICAgICAgICAgICAgICAgICAl c1xuIiwNCi0JCShjMCYweDgwKT8iZGlzYWJsZWQiOiJlbmFibGVkICIsDQot CQkoYzEmMHg4MCk/ImRpc2FibGVkIjoiZW5hYmxlZCAiKTsNCisJCShjMCAm IDB4ODApID8gImRpc2FibGVkIjoiZW5hYmxlZCAiLA0KKwkJKGMxICYgMHg4 MCkgPyAiZGlzYWJsZWQiOiJlbmFibGVkICIpOw0KIAlwICs9IHNwcmludGYo cCwgIjY2IENsb2NraW5nICAgICAlcyAgICAgICAgICAgICAgICAgICAgICAg ICAlc1xuIiwNCi0JCShzYzExJjB4MDIpPyJlbmFibGVkICI6ImRpc2FibGVk IiwNCi0JCShzYzExJjB4MDgpPyJlbmFibGVkICI6ImRpc2FibGVkIik7DQor CQkoc2MxMSAmIDB4MDIpID8gImVuYWJsZWQgIjoiZGlzYWJsZWQiLA0KKwkJ KHNjMTEgJiAweDA4KSA/ICJlbmFibGVkICI6ImRpc2FibGVkIik7DQogCXAg Kz0gc3ByaW50ZihwLCAiTW9kZSAgICAgICAgICAgICVzICAgICAgICAgICAg ICAgICAgICAgICAgICAgJXNcbiIsDQogCQkoc2MxYSAmIDB4MDEpID8gIk1B U1RFUiIgOiAiUENJICAgIiwNCiAJCShzYzFiICYgMHgwMSkgPyAiTUFTVEVS IiA6ICJQQ0kgICAiKTsNCi0JcCArPSBzcHJpbnRmKHAsICItLS0tLS0tLS0t LS0tLS0gZHJpdmUwIC0tLS0tLS0tLSBkcml2ZTEgLS0tLS0tLS0gZHJpdmUw IC0tLS0tLS0tLS0gZHJpdmUxIC0tLS0tLVxuIik7DQotCXAgKz0gc3ByaW50 ZihwLCAiRE1BIGVuYWJsZWQ6ICAgICVzICAgICAgICAgICAgICAlcyAgICAg ICAgICAgICAlcyAgICAgICAgICAgICAgICVzXG4iLA0KLQkJKGlkWzBdIT1O VUxMICYmIChjMCYweDIwKSk/InllcyI6Im5vICIsKGlkWzFdIT1OVUxMICYm IChjMCYweDQwKSk/InllcyI6Im5vICIsDQotCQkoaWRbMl0hPU5VTEwgJiYg KGMxJjB4MjApKT8ieWVzIjoibm8gIiwoaWRbM10hPU5VTEwgJiYgKGMxJjB4 NDApKT8ieWVzIjoibm8gIik7DQotCWZvciggaGQgPSAwOyBoZCA8IDQgOyBo ZCsrKSB7DQotCQlpZiAoaWRbaGRdID09IE5VTEwpDQotCQkJY29udGludWU7 DQotCQl3b3JkODggPSBpZFtoZF0tPmRtYV91bHRyYTsNCi0JCWZvciAoIGkg PSA3IDsgaSA+PSAwIDsgaS0tKQ0KLQkJCWlmICh3b3JkODggPj4gKGkrOCkp IHsNCi0JCQkJdWRtYXNlbFtoZF0gPSBpOwkvKiBnZXQgc2VsZWN0IFVETUEg bW9kZSAqLw0KLQkJCQlicmVhazsNCi0JCQl9DQotCQlwaW9zZWxbaGRdID0g KGlkW2hkXS0+ZWlkZV9waW9fbW9kZXMgPj0gMHgwMikgPyA0IDogMzsNCi0g ICAgICAgIH0NCi0JcCArPSBzcHJpbnRmKHAsICJVRE1BIE1vZGU6ICAgICAg JWQgICAgICAgICAgICAgICAgJWQgICAgICAgICAgICAgICAlZCAgICAgICAg ICAgICAgICAgJWRcbiIsDQotCQl1ZG1hc2VsWzBdLCB1ZG1hc2VsWzFdLCB1 ZG1hc2VsWzJdLCB1ZG1hc2VsWzNdKTsNCi0JcCArPSBzcHJpbnRmKHAsICJQ SU8gTW9kZTogICAgICAgJWQgICAgICAgICAgICAgICAgJWQgICAgICAgICAg ICAgICAlZCAgICAgICAgICAgICAgICAgJWRcbiIsDQotCQlwaW9zZWxbMF0s IHBpb3NlbFsxXSwgcGlvc2VsWzJdLCBwaW9zZWxbM10pOw0KLSNpZiAwDQot CXAgKz0gc3ByaW50ZihwLCAiLS0tLS0tLS0tLS0tLS0tIENhbiBBVEFQSSBE TUEgLS0tLS0tLS0tLS0tLS0tXG4iKTsNCi0jZW5kaWYNCi0JcmV0dXJuIChj aGFyICopcDsNCisNCisJcCArPSBzcHJpbnRmKHAsICItLS0tLS0tLS0tLS0t LS0gIik7DQorCUZPUkFMTF9EUklWRVMoaW50ZXJmKSB7DQorCQlwICs9IHNw cmludGYocCwgImRyaXZlJWQgLS0tLS0tLS0gIiwgKGNhYmxlKk1BWF9EUklW RVMpK2RyaXZlKTsNCisJfSBFTkRGT1JBTExfRFJJVkVTDQorCSpwKysgPSAn XG4nOw0KKw0KKwlwICs9IHNwcmludGYocCwgIkRNQSBlbmFibGVkOiAgICAi KTsNCisJRk9SQUxMX0RSSVZFUyhpbnRlcmYpIHsNCisJCXAgKz0gc3ByaW50 ZihwLCAiJTNzICAgICAgICAgICAgICIsIHBkY19kZXZzW2ludGVyZl0uaHdp ZltjYWJsZV0tPmRyaXZlc1tkcml2ZV0udXNpbmdfZG1hID8gInllcyIgOiAi bm8gIik7DQorCX0gRU5ERk9SQUxMX0RSSVZFUw0KKwkqcCsrID0gJ1xuJzsN CisNCisJcCArPSBzcHJpbnRmKHAsICJETUEgZW5hYmxlZDogICAgIik7DQor CUZPUkFMTF9EUklWRVMoaW50ZXJmKSB7DQorCQl1OCAqY3AgPSAoY2FibGUg PT0gMCkgPyAmYzAgOiAmYzE7DQorCQl1OCBiaXQgPSAoZHJpdmUgPT0gMCkg PyAweDIwIDogMHg0MDsNCisNCisJCXAgKz0gc3ByaW50ZihwLCAiJXMgICAg ICAgICAgICAgICAgIiwNCisJCQkJKHBkY19kZXZzW2ludGVyZl0uaHdpZltj YWJsZV0tPmRyaXZlc1tkcml2ZV0ucHJlc2VudCAmJiAoKmNwICYgYml0KSkg Pw0KKwkJCQkieWVzIjoibm8gIik7DQorCX0gRU5ERk9SQUxMX0RSSVZFUw0K KwkqcCsrID0gJ1xuJzsNCisNCisJcCArPSBzcHJpbnRmKHAsICJVRE1BIE1v ZGU6ICAgICAgIik7DQorCUZPUkFMTF9EUklWRVMoaW50ZXJmKSB7DQorCQlw ICs9IHNwcmludGYocCwgIiVkICAgICAgICAgICAgICAgICIsIHVkbWFzZWxb aGRdKTsNCisJfSBFTkRGT1JBTExfRFJJVkVTDQorCSpwKysgPSAnXG4nOw0K Kw0KKwlwICs9IHNwcmludGYocCwgIlBJTyBNb2RlOiAgICAgICAiKTsNCisJ Rk9SQUxMX0RSSVZFUyhpbnRlcmYpIHsNCisJCXAgKz0gc3ByaW50ZihwLCAi JWQgICAgICAgICAgICAgICAgIiwgcGlvc2VsW2hkXSk7DQorCX0gRU5ERk9S QUxMX0RSSVZFUw0KKwkqcCsrID0gJ1xuJzsNCisNCisJLyogcmV0dXJuIG51 bWJlciBvZiBjaGFyYWN0ZXJzIHdyaXR0ZW4gKG5vdGU6IHNob3VsZCBiZSB4 LXkrMSwgYnV0IHdlIGRvbnQgY291bnQgdGhlIHRyYWlsaW5nIDApICovDQor CXJldHVybiAocCAtIGJ1Zik7DQogfQ0KIA0KIHN0YXRpYyBpbnQgcGRjMjAy eHhfZ2V0X2luZm8gKGNoYXIgKmJ1ZmZlciwgY2hhciAqKmFkZHIsIG9mZl90 IG9mZnNldCwgaW50IGNvdW50KQ0KIHsNCiAJY2hhciAqcCA9IGJ1ZmZlcjsN Ci0JDQotCXAgPSBwZGMyMDJ4eF9pbmZvKGJ1ZmZlciwgYm1pZGVfZGV2KTsN Ci0JcmV0dXJuIHAtYnVmZmVyOwkvKiA9PiBtdXN0IGJlIGxlc3MgdGhhbiA0 ayEgKi8NCisJaW50IGludGVyZiwgYywgYnVmY291bnQgPSAwOw0KKyAgICAg ICAgY29uc3QgaW50IHRvdGJ1ZmNvdW50ID0gNDA5NjsNCisJY2hhciBsb2Nh bGJ1ZlsxMDI0XTsNCisNCisJZm9yKGludGVyZiA9IDA7IGludGVyZiA8IG5y X3BkY19kZXZzICYmIGludGVyZiA8IE1BWF9QRENfREVWUzsgaW50ZXJmKysp IHsNCisJCS8qIHJldHVybiB2YWx1ZSBjb3VudCBvZiBjaGFyYWN0ZXJzIHdy aXR0ZW4gKGV4Y2wgdGVybWluYXRpbmcgMCkgKi8NCisJCWMgPSBwZGMyMDJ4 eF9pbmZvKGxvY2FsYnVmLCBpbnRlcmYpOw0KKw0KKwkJaWYgKChjICsgYnVm Y291bnQpIDwgdG90YnVmY291bnQpIHsNCisJCQlzdHJjcHkocCwgbG9jYWxi dWYpOw0KKwkJCWJ1ZmNvdW50ICs9IGM7DQorCQkJcCA9ICZidWZmZXJbYnVm Y291bnRdOw0KKwkJfQ0KKwkJZWxzZSANCisgICAgICAgICAgICAgICAJCXBy aW50ayhLRVJOX0lORk8gInBkYzIwMnh4OiBjYW5ub3QgZGlzcGxheSAvcHJv Yy9pZGUgaW5mbyBhdmFpbGFibGUgZm9yIGRldiAlZC5cbiIsIGludGVyZik7 DQorCX0NCisNCisJcmV0dXJuIHAtYnVmZmVyOwkvKiA9PiBtdXN0IGJlIGxl c3MgdGhhbiA0ayEgKCBvbmUgZHJpdmUgaXMgYWJvdXQgNjIwIGJ5dGVzICkg Ki8NCiB9DQogI2VuZGlmICAvKiBkZWZpbmVkKERJU1BMQVlfUERDMjAyWFhf VElNSU5HUykgJiYgZGVmaW5lZChDT05GSUdfUFJPQ19GUykgKi8NCiANCiBi eXRlIHBkYzIwMnh4X3Byb2MgPSAwOw0KIA0KIGNvbnN0IGNoYXIgKnBkY19x dWlya19kcml2ZXNbXSA9IHsNCkBAIC0zNDcsMTMgKzQzNiwxMyBAQA0KIHN0 YXRpYyBpbnQgcGRjMjAyeHhfdHVuZV9jaGlwc2V0IChpZGVfZHJpdmVfdCAq ZHJpdmUsIGJ5dGUgc3BlZWQpDQogew0KIAlpZGVfaHdpZl90ICpod2lmCT0g SFdJRihkcml2ZSk7DQogCXN0cnVjdCBwY2lfZGV2ICpkZXYJPSBod2lmLT5w Y2lfZGV2Ow0KIA0KIAl1bnNpZ25lZCBpbnQJCWRyaXZlX2NvbmY7DQotCWlu dAkJCWVyciA9IDAsIGkgPSAwLCBqID0gaHdpZi0+Y2hhbm5lbCA/IDIgOiAw IDsNCisJaW50CQkJZXJyID0gMDsNCiAJYnl0ZQkJCWRyaXZlX3BjaSwgQVAs IEJQLCBDUCwgRFA7DQogCWJ5dGUJCQlUQSA9IDAsIFRCID0gMCwgVEMgPSAw Ow0KIA0KIAlzd2l0Y2ggKGRyaXZlLT5kbikgew0KIAkJY2FzZSAwOiBkcml2 ZV9wY2kgPSAweDYwOyBicmVhazsNCiAJCWNhc2UgMTogZHJpdmVfcGNpID0g MHg2NDsgYnJlYWs7DQpAQCAtNDAxLDE2ICs0OTAsMTIgQEANCiAJfQ0KIA0K IAlwY2lfcmVhZF9jb25maWdfYnl0ZShkZXYsIChkcml2ZV9wY2kpLCAmQVAp Ow0KIAlwY2lfcmVhZF9jb25maWdfYnl0ZShkZXYsIChkcml2ZV9wY2kpfDB4 MDEsICZCUCk7DQogCXBjaV9yZWFkX2NvbmZpZ19ieXRlKGRldiwgKGRyaXZl X3BjaSl8MHgwMiwgJkNQKTsNCiANCi0JZm9yICggaSA9IDA7IGkgPCAyOyBp KyspDQotCQlpZiAoaHdpZi0+ZHJpdmVzW2ldLnByZXNlbnQpDQotCSAgCQlp ZFtpK2pdID0gaHdpZi0+ZHJpdmVzW2ldLmlkOwkvKiBnZXQgaWRlbnRpZnkg c3RydWN0cyAqLw0KLQ0KIAlzd2l0Y2goc3BlZWQpIHsNCiAjaWZkZWYgQ09O RklHX0JMS19ERVZfSURFRE1BDQogCQkvKiBjYXNlIFhGRVJfVURNQV82OiAq Lw0KIAkJY2FzZSBYRkVSX1VETUFfNToNCiAJCWNhc2UgWEZFUl9VRE1BXzQ6 CVRCID0gMHgyMDsgVEMgPSAweDAxOyBicmVhazsJLyogc3BlZWQgOCA9PSBV RE1BIG1vZGUgNCAqLw0KIAkJY2FzZSBYRkVSX1VETUFfMzoJVEIgPSAweDQw OyBUQyA9IDB4MDI7IGJyZWFrOwkvKiBzcGVlZCA3ID09IFVETUEgbW9kZSAz ICovDQpAQCAtNDgyLDEzICs1NjcsMTMgQEANCiAJdW5zaWduZWQgbG9uZyBo aWdoXzE2CT0gcGNpX3Jlc291cmNlX3N0YXJ0KGRldiwgNCk7DQogCXVuc2ln bmVkIGxvbmcgaW5kZXhyZWcJPSBoaWdoXzE2ICsgKGh3aWYtPmNoYW5uZWwg PyAweDA5IDogMHgwMSk7DQogCXVuc2lnbmVkIGxvbmcgZGF0YXJlZwk9IChp bmRleHJlZyArIDIpOw0KICNlbmRpZiAvKiBDT05GSUdfQkxLX0RFVl9JREVE TUEgKi8NCiAJYnl0ZSB0aG9sZAkJPSAweDEwOw0KIAlieXRlIGFkagkJPSAo ZHJpdmUtPmRuJTIpID8gMHgwOCA6IDB4MDA7DQotCWludCBzZXRfc3BlZWQJ CT0gMCwgaT0wLCBqPWh3aWYtPmNoYW5uZWwgPyAyOjA7DQorCWludCBzZXRf c3BlZWQJCT0gMCwgaW50ZXJmOw0KIAlpbnQgICAgICAgICAgICAgICAgICAg ICBlcnI7DQogDQogCS8qIFNldHRpbmcgdEhPTEQgYml0IHRvIDAgaWYgdXNp bmcgVURNQSBtb2RlIDIgKi8NCiAJaWYgKHNwZWVkID09IFhGRVJfVURNQV8y KSB7DQogCQlPVVRfQllURSgodGhvbGQgKyBhZGopLCBpbmRleHJlZyk7DQog CQlPVVRfQllURSgoSU5fQllURShkYXRhcmVnKSAmIDB4N2YpLCBkYXRhcmVn KTsNCkBAIC00OTcsMjggKzU4Miw0NCBAQA0KIAkvKiBXZSBuZWVkIHRvIHNl dCBBVEExMzMgdGltaW5nIGlmIEFUQTEzMyBkcml2ZXMgZXhpc3QgKi8NCiAJ aWYgKHNwZWVkPj1YRkVSX1VETUFfNikNCiAJCXNldF9zcGVlZD0xOw0KIA0K IAlpZiAoIWRyaXZlLT5pbml0X3NwZWVkKQ0KIAkJZHJpdmUtPmluaXRfc3Bl ZWQgPSBzcGVlZDsNCisgICAgICAgICAgICAgICAgDQogI2lmIFBEQzIwMlhY X0RFQlVHX0RSSVZFX0lORk8NCiAJcHJpbnRrKCIlczogQmVmb3JlIHNldF9m ZWF0dXJlID0gJXMsIHdvcmQ4OCA9ICUjeFxuIiwNCiAJCWRyaXZlLT5uYW1l LCBpZGVfeGZlcl92ZXJib3NlKHNwZWVkKSwgZHJpdmUtPmlkLT5kbWFfdWx0 cmEgKTsNCiAjZW5kaWYgLyogUERDMjAyWFhfREVCVUdfRFJJVkVfSU5GTyAq Lw0KKyAgICAgICAgICAgICAgICAgDQogCWVyciA9IGlkZV9jb25maWdfZHJp dmVfc3BlZWQoZHJpdmUsIHNwZWVkKTsNCiAJZHJpdmUtPmN1cnJlbnRfc3Bl ZWQgPSBzcGVlZDsJDQotCWZvciAoIGkgPSAwIDsgaSA8IDIgOyBpKyspDQot CQlpZiAoaHdpZi0+ZHJpdmVzW2ldLnByZXNlbnQpIHsNCi0JICAJCWlkW2kr al0gPSBod2lmLT5kcml2ZXNbaV0uaWQ7CS8qIGdldCBpZGVudGlmeSBzdHJ1 Y3RzICovDQotCSAJCXNwZWVkX3JhdGVbaStqXSA9IHNwZWVkOwkvKiBnZXQg Y3VycmVudCBzcGVlZCAqLw0KLQkgCX0NCisNCisJZm9yIChpbnRlcmYgPSAw OyBpbnRlcmYgPCBucl9wZGNfZGV2czsgaW50ZXJmKyspDQorICAgICAgICB7 DQorICAgICAgICAgICAgICAgIGlmIChod2lmID09IHBkY19kZXZzW2ludGVy Zl0uaHdpZlswXSB8fCBod2lmID09IHBkY19kZXZzW2ludGVyZl0uaHdpZlsx XSkNCisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCisgICAgICAg IH0NCisJaWYgKGludGVyZiA9PSBucl9wZGNfZGV2cykNCisJew0KKwkJcHJp bnRrKEtFUk5fRVJSICJ0dW5lOiBwYXNzZWQgZHJpdmUgJXAgPT4gaHdpZiAl cCwgYnV0IG5vdCBmb3VuZCBpbiBhcnJheVxuIiwgZHJpdmUsIGh3aWYpOw0K KwkJQlVHKCk7DQorCX0NCisgICAgICAgIA0KKwlGT1JBTExfRFJJVkVTKGlu dGVyZikgew0KKwkJaWYgKHBkY19kZXZzW2ludGVyZl0uaHdpZltjYWJsZV0t PmRyaXZlc1tkcml2ZV0ucHJlc2VudCkNCisJCQlwZGNfZGV2c1tpbnRlcmZd LnNwZWVkX3JhdGVbY2FibGVdW2RyaXZlXSA9IHNwZWVkOw0KKwkJZWxzZQ0K KwkJCXBkY19kZXZzW2ludGVyZl0uc3BlZWRfcmF0ZVtjYWJsZV1bZHJpdmVd ID0gMDsNCisJfSBFTkRGT1JBTExfRFJJVkVTDQorDQogCWlmIChzZXRfc3Bl ZWQpIHsNCi0JCWZvciAoaT0wOyBpPDQ7IGkrKykgew0KLQkJCWlmIChpZFtp XT09TlVMTCkNCisJCUZPUkFMTF9EUklWRVMoaW50ZXJmKSB7DQorCQkJaWYg KCFwZGNfZGV2c1tpbnRlcmZdLmh3aWZbY2FibGVdLT5kcml2ZXNbZHJpdmVd LnByZXNlbnQpIA0KIAkJCQljb250aW51ZTsNCi0JCQlzd2l0Y2goc3BlZWRf cmF0ZVtpXSkgew0KKwkJCXN3aXRjaChwZGNfZGV2c1tpbnRlcmZdLnNwZWVk X3JhdGVbY2FibGVdW2RyaXZlXSkgew0KICNpZmRlZiBDT05GSUdfQkxLX0RF Vl9JREVETUENCiAJCQkJY2FzZSBYRkVSX1VETUFfNjoNCiAJCQkJCU9VVF9C WVRFKCgweDEwICsgYWRqKSwgaW5kZXhyZWcpOw0KIAkJCQkJT1VUX0JZVEUo MHgxYSwgZGF0YXJlZyk7DQogCQkJCQlPVVRfQllURSgoMHgxMSArIGFkaiks IGluZGV4cmVnKTsNCiAJCQkJCU9VVF9CWVRFKDB4MDEsIGRhdGFyZWcpOw0K QEAgLTYzMSwxMyArNzMyLDEzIEBADQogCQkJCQlPVVRfQllURSgweDJiLCBk YXRhcmVnKTsNCiAJCQkJCU9VVF9CWVRFKCgweDEzICsgYWRqKSwgaW5kZXhy ZWcpOw0KIAkJCQkJT1VUX0JZVEUoMHhhYywgZGF0YXJlZyk7DQogCQkJCQli cmVhazsNCiAJCQkJZGVmYXVsdDoNCiAJCQl9DQotCQl9DQorCQl9IEVOREZP UkFMTF9EUklWRVMNCiAJfQ0KIAlyZXR1cm4gZXJyOw0KIH0NCiANCiAvKiAg IDAgICAgMSAgICAyICAgIDMgICAgNCAgICA1ICAgIDYgICA3ICAgOA0KICAq IDk2MCwgNDgwLCAzOTAsIDMwMCwgMjQwLCAxODAsIDEyMCwgOTAsIDYwDQpA QCAtNjg0LDEzICs3ODUsMTMgQEANCiAJYnl0ZSBDTEtTUEQJCT0gMDsNCiAJ Ynl0ZSBjbG9ja3JlZwkJPSBoaWdoXzE2ICsgMHgxMTsNCiAJYnl0ZSB1ZG1h XzMzCQk9IHVsdHJhOw0KIAlieXRlIHVkbWFfNjYJCT0gKChlaWdodHlfbmlu dHlfdGhyZWUoZHJpdmUpKSAmJiB1ZG1hXzMzKSA/IDEgOiAwOw0KIAlieXRl IHVkbWFfMTAwCQk9IDA7DQogCWJ5dGUgdWRtYV8xMzMJCT0gMDsNCi0JYnl0 ZSBtYXNrCQkJPSBod2lmLT5jaGFubmVsID8gMHgwOCA6IDB4MDI7DQorCWJ5 dGUgbWFzawkJPSBod2lmLT5jaGFubmVsID8gMHgwOCA6IDB4MDI7DQogCXVu c2lnbmVkIHNob3J0IGNfbWFzawk9IGh3aWYtPmNoYW5uZWwgPyAoMTw8MTEp IDogKDE8PDEwKTsNCiANCiAJYnl0ZSB1bHRyYV82NgkJPSAoKGlkLT5kbWFf dWx0cmEgJiAweDAwMTApIHx8DQogCQkJCSAgIChpZC0+ZG1hX3VsdHJhICYg MHgwMDA4KSkgPyAxIDogMDsNCiAJYnl0ZSB1bHRyYV8xMDAJCT0gKChpZC0+ ZG1hX3VsdHJhICYgMHgwMDIwKSB8fA0KIAkJCQkgICAodWx0cmFfNjYpKSA/ IDEgOiAwOw0KQEAgLTc0NCwyMiArODQ1LDIxIEBADQogCSAqIHNvbWVob3cg aG9va2luZyB0aGUgZm9wcyBjYWxscy4gSXQgbWF5IGFsc28gYmUgcG9zc2li bGUgdG8NCiAJICogbGVhdmUgdGhlIDY2TWh6IGNsb2NrIG9uIGFuZCByZWFk anVzdCB0aGUgdGltaW5nDQogCSAqIHBhcmFtZXRlcnMuDQogCSAqLw0KIA0K IAlpZiAoKCh1bHRyYV82NikgfHwgKHVsdHJhXzEwMCkgfHwgKHVsdHJhXzEz MykpICYmIChjYWJsZSkpIHsNCi0jaWZkZWYgREVCVUcNCi0JCXByaW50aygi VUxUUkE2NjogJXMgY2hhbm5lbCBvZiBVbHRyYSA2NiByZXF1aXJlcyBhbiA4 MC1waW4gY2FibGUgZm9yIFVsdHJhNjYgb3BlcmF0aW9uLlxuIiwgaHdpZi0+ Y2hhbm5lbCA/ICJTZWNvbmRhcnkiIDogIlByaW1hcnkiKTsNCi0JCXByaW50 aygiICAgICAgICAgU3dpdGNoaW5nIHRvIFVsdHJhMzMgbW9kZS5cbiIpOw0K LSNlbmRpZiAvKiBERUJVRyAqLw0KKw0KKwkJcHJpbnRrKCJXYXJuaW5nOiVz ICVzIGNoYW5uZWwgcmVxdWlyZXMgYW4gODAtcGluIGNhYmxlIGZvciBoaWdo LXNwZWVkIG9wZXJhdGlvbi5cbiIsDQorCQkJCXBkYzIwMnh4X2dldF9kcml2 ZV9jbGFzcyhkZXYpLA0KKwkJCQlod2lmLT5jaGFubmVsID8gIlNlY29uZGFy eSI6IlByaW1hcnkiKTsNCisJCXByaW50aygiJXMgcmVkdWNlZCB0byBVbHRy YTMzIG1vZGUuXG4iLCBkcml2ZS0+bmFtZSk7DQorDQogCQkvKiBQcmltYXJ5 ICAgOiB6ZXJvIG91dCBzZWNvbmQgYml0ICovDQogCQkvKiBTZWNvbmRhcnkg OiB6ZXJvIG91dCBmb3VydGggYml0ICovDQotCQkvL2lmICghbmV3X2NoaXAp DQogCQlPVVRfQllURShDTEtTUEQgJiB+bWFzaywgY2xvY2tyZWcpOw0KLQkJ cHJpbnRrKCJXYXJuaW5nOiAlcyBjaGFubmVsIHJlcXVpcmVzIGFuIDgwLXBp biBjYWJsZSBmb3Igb3BlcmF0aW9uLlxuIiwgaHdpZi0+Y2hhbm5lbCA/ICJT ZWNvbmRhcnkiOiJQcmltYXJ5Iik7DQotCQlwcmludGsoIiVzIHJlZHVjZWQg dG8gVWx0cmEzMyBtb2RlLlxuIiwgZHJpdmUtPm5hbWUpOw0KIAkJdWRtYV82 NiA9IDA7IHVkbWFfMTAwID0gMDsgdWRtYV8xMzMgPSAwOw0KIAl9IGVsc2Ug ew0KIAkJaWYgKCh1bHRyYV82NikgfHwgKHVsdHJhXzEwMCkgfHwgKHVsdHJh XzEzMykpIHsNCiAJCQkvKg0KIAkJCSAqIGNoZWNrIHRvIG1ha2Ugc3VyZSBk cml2ZSBvbiBzYW1lIGNoYW5uZWwNCiAJCQkgKiBpcyB1NjYgY2FwYWJsZQ0K QEAgLTEwMjUsMTQgKzExMjUsMTQgQEANCiB2b2lkIHBkYzIwMnh4X3Jlc2V0 IChpZGVfZHJpdmVfdCAqZHJpdmUpDQogew0KIAlPVVRfQllURSgweDA0LElE RV9DT05UUk9MX1JFRyk7DQogCW1kZWxheSgxMDAwKTsNCiAJT1VUX0JZVEUo MHgwMCxJREVfQ09OVFJPTF9SRUcpOw0KIAltZGVsYXkoMTAwMCk7DQotCXBy aW50aygiUERDMjAyWFg6ICVzIGNoYW5uZWwgcmVzZXQuXG4iLA0KLQkJSFdJ Rihkcml2ZSktPmNoYW5uZWwgPyAiU2Vjb25kYXJ5IiA6ICJQcmltYXJ5Iik7 DQorCXByaW50aygiJXM6IFBEQzIwMnh4ICVzIGNoYW5uZWwgcmVzZXQuXG4i LA0KKwkJZHJpdmUtPm5hbWUsIEhXSUYoZHJpdmUpLT5jaGFubmVsID8gIlNl Y29uZGFyeSIgOiAiUHJpbWFyeSIpOw0KIH0NCiANCiAvKg0KICAqIFNpbmNl IFNVTiBDb2JhbHQgaXMgYXR0ZW1wdGluZyB0byBkbyB0aGlzIG9wZXJhdGlv biwgSSBzaG91bGQgZGlzY2xvc2UNCiAgKiB0aGlzIGhhcyBiZWVuIGEgbG9u ZyB0aW1lIGFnbyBUaHUgSnVsIDI3IDE2OjQwOjU3IDIwMDAgd2FzIHRoZSBw YXRjaCBkYXRlDQogICogSE9UU1dBUCBBVEEgSW5mcmFzdHJ1Y3R1cmUuDQpA QCAtMTA2MiwxMiArMTE2MiwxNCBAQA0KIHsNCiAJdW5zaWduZWQgbG9uZyBo aWdoXzE2CT0gcGNpX3Jlc291cmNlX3N0YXJ0KGRldiwgNCk7DQogCWJ5dGUg dWRtYV9zcGVlZF9mbGFnCT0gSU5fQllURShoaWdoXzE2ICsgMHgwMDFmKTsN CiAJYnl0ZSBwcmltYXJ5X21vZGUJPSBJTl9CWVRFKGhpZ2hfMTYgKyAweDAw MWEpOw0KIAlieXRlIHNlY29uZGFyeV9tb2RlCT0gSU5fQllURShoaWdoXzE2 ICsgMHgwMDFiKTsNCiANCisJbnJfcGRjX2RldnMgPSAwOw0KKw0KIAlPVVRf QllURSh1ZG1hX3NwZWVkX2ZsYWcgfCAweDEwLCBoaWdoXzE2ICsgMHgwMDFm KTsNCiAJbWRlbGF5KDEwMCk7DQogCU9VVF9CWVRFKHVkbWFfc3BlZWRfZmxh ZyAmIH4weDEwLCBoaWdoXzE2ICsgMHgwMDFmKTsNCiAJbWRlbGF5KDIwMDAp OwkvKiAyIHNlY29uZHMgPyEgKi8NCiANCiAJaWYgKGRldi0+cmVzb3VyY2Vb UENJX1JPTV9SRVNPVVJDRV0uc3RhcnQpIHsNCkBAIC0xMTA1LDI3ICsxMjA3 LDIzIEBADQogCQlPVVRfQllURShzZWNvbmRhcnlfbW9kZXwxLCBoaWdoXzE2 ICsgMHgwMDFiKTsNCiAJCXByaW50aygiJXNcbiIsIChJTl9CWVRFKGhpZ2hf MTYgKyAweDAwMWIpICYgMSkgPyAiTUFTVEVSIiA6ICJQQ0kiKTsNCiAJfQ0K ICNlbmRpZiAvKiBDT05GSUdfUERDMjAyWFhfTUFTVEVSICovDQogDQogI2lm IGRlZmluZWQoRElTUExBWV9QREMyMDJYWF9USU1JTkdTKSAmJiBkZWZpbmVk KENPTkZJR19QUk9DX0ZTKQ0KLQlpZiAoIXBkYzIwMnh4X3Byb2MpIHsNCi0J CXBkYzIwMnh4X3Byb2MgPSAxOw0KLQkJYm1pZGVfZGV2ID0gZGV2Ow0KLQkJ cGRjMjAyeHhfZGlzcGxheV9pbmZvID0gJnBkYzIwMnh4X2dldF9pbmZvOw0K LQl9DQorICAgICAgICBwZGMyMDJ4eF9kaXNwbGF5X2luZm8gPSAmcGRjMjAy eHhfZ2V0X2luZm87DQogI2VuZGlmIC8qIERJU1BMQVlfUERDMjAyWFhfVElN SU5HUyAmJiBDT05GSUdfUFJPQ19GUyAqLw0KIAlyZXR1cm4gZGV2LT5pcnE7 DQogfQ0KIA0KIHVuc2lnbmVkIGludCBfX2luaXQgYXRhNjZfcGRjMjAyeHgg KGlkZV9od2lmX3QgKmh3aWYpDQogew0KIAl1bnNpZ25lZCBzaG9ydCBtYXNr ID0gKGh3aWYtPmNoYW5uZWwpID8gKDE8PDExKSA6ICgxPDwxMCk7DQogCXVu c2lnbmVkIHNob3J0IENJUzsNCiANCi0gICAgICAgIAlzd2l0Y2goaHdpZi0+ cGNpX2Rldi0+ZGV2aWNlKSB7DQorICAgICAgIAlzd2l0Y2goaHdpZi0+cGNp X2Rldi0+ZGV2aWNlKSB7DQogCQljYXNlIFBDSV9ERVZJQ0VfSURfUFJPTUlT RV8yMDI3NjoNCiAJCWNhc2UgUENJX0RFVklDRV9JRF9QUk9NSVNFXzIwMjc1 Og0KIAkJY2FzZSBQQ0lfREVWSUNFX0lEX1BST01JU0VfMjAyNjk6DQogCQlj YXNlIFBDSV9ERVZJQ0VfSURfUFJPTUlTRV8yMDI2ODoNCiAJCWNhc2UgUENJ X0RFVklDRV9JRF9QUk9NSVNFXzIwMjcwOg0KIAkJCU9VVF9CWVRFKDB4MGIs IChod2lmLT5kbWFfYmFzZSArIDEpKTsNCkBAIC0xMTM1LDEyICsxMjMzLDkw IEBADQogCQkJcGNpX3JlYWRfY29uZmlnX3dvcmQoaHdpZi0+cGNpX2Rldiwg MHg1MCwgJkNJUyk7DQogCQkJcmV0dXJuICghKENJUyAmIG1hc2spKTsNCiAJ CQkvKiBjaGVjayA4MHBpbiBjYWJsZSAqLw0KIAl9DQogfQ0KIA0KKy8qDQor ICogQWRkIHRoaXMgZHJpdmUgdG8gdGhlIHBkY19kZXZzW10gYXJyYXksIG1h a2luZw0KKyAqIHN1cmUgd2UgZG9uJ3QgYWRkIGEgZHJpdmUgdHdpY2UgLS0g dGhhdCB3b3VsZCBiZSBiYWQgOi0pDQorICoNCisgKiBhc3N1bWVzIHRoYXQg bnJfcGRjX2RldnMgaGFzIGJlZW4gc2V0dXAgaW4gaW5pdCgpDQorICovDQor c3RhdGljIGludCBwZGMyMDJ4eF9zZXR1cF9kcml2ZV9kYXRhKGlkZV9od2lm X3QgKmh3aWYpDQorew0KKwlzdHJ1Y3QgcGNpX2RldiAqZGV2CT0gaHdpZi0+ cGNpX2RldjsNCisJaW50IHBkYywgaW50ZXJmOw0KKw0KKwlwcmludGsoS0VS Tl9JTkZPICJwZGMyMDJ4eDogc2V0dXBfZHJpdmVfZGF0YTogYWRkIGludGVy ZmFjZSBAICUwMmQ6JTAyZDolMDJkXG4iLA0KKwkJCWRldi0+YnVzLT5udW1i ZXIsIFBDSV9TTE9UKGRldi0+ZGV2Zm4pLCBQQ0lfRlVOQyhkZXYtPmRldmZu KSk7DQorDQorCS8qIGNoZWNrIHRvIG1ha2Ugc3VyZSB3ZSdyZSBub3QgYWRk aW5nIGludGVyZmFjZXMgbW9yZSB0aGFuIG9uY2UgKi8NCisJZm9yIChwZGMg PSAwOyBwZGMgPCBucl9wZGNfZGV2czsgcGRjKyspDQorCXsNCisJCXN0cnVj dCBwY2lfZGV2ICpkZXYyID0gcGRjX2RldnNbcGRjXS5od2lmWzBdLT5wY2lf ZGV2OyAvKiBhc3N1bWUgaHdpZiAmIGh3aWYtbWF0ZSBhcmUgb24gc2FtZSBj aGlwICovDQorDQorCQlpZiAoKGRldi0+YnVzLT5udW1iZXIgPT0gZGV2Mi0+ YnVzLT5udW1iZXIpICYmIA0KKwkJICAgIChkZXYtPmRldmZuICAgICAgID09 IGRldjItPmRldmZuKSkNCisJCXsNCisJCQlwcmludGsoS0VSTl9JTkZPICJw ZGMyMDJ4eDogc2V0dXBfZHJpdmVfZGF0YTogdHJpZWQgdG8gYWRkIGludGVy ZmFjZSAiDQorICAgICAgICAgICAgICAgICAJCQkiQCAlMDJkOiUwMmQ6JTAy ZCB0d2ljZVxuIiwNCisJCQkJCWRldi0+YnVzLT5udW1iZXIsIFBDSV9TTE9U KGRldi0+ZGV2Zm4pLCBQQ0lfRlVOQyhkZXYtPmRldmZuKSk7DQorCQkJcmV0 dXJuIDA7DQorCQl9DQorCX0NCisJaWYgKG5yX3BkY19kZXZzID09IE1BWF9Q RENfREVWUykgew0KKwkJcHJpbnRrKEtFUk5fSU5GTyAicGRjMjAyeHg6IHNl dHVwX2RyaXZlX2RhdGE6IHVuYWJsZSB0byBhZGQgaW50ZXJmYWNlIEAgJTAy ZDolMDJkIChjaGFuZ2UgTUFYX1BEQ19ERVZTPylcbiIsDQorCQkJCWRldi0+ YnVzLT5udW1iZXIsIFBDSV9TTE9UKGRldi0+ZGV2Zm4pKTsNCisJCXBkYzIw Mnh4X3ByaW50X2RyaXZlX2FycmF5KCk7DQorCQlyZXR1cm4gMDsNCisJfQ0K KwlpbnRlcmYgPSBucl9wZGNfZGV2cysrOw0KKw0KKwlpZiAoaHdpZi0+Y2hh bm5lbCA9PSAwKSB7DQorCQkJCS8qIHRoaXMgb25lIGlzIHByaW1hcnksIG1h dGUgc2hvdWxkIGJlIHNlY29uZGFyeSAqLw0KKwkJcGRjX2RldnNbaW50ZXJm XS5od2lmWzBdID0gaHdpZjsNCisJCXBkY19kZXZzW2ludGVyZl0uaHdpZlsx XSA9IGh3aWYtPm1hdGU7DQorCX0NCisJZWxzZSB7IAkJCS8qIGFzc3VtZSBt YXRlIGlzIHByaW1hcnksIHRoaXMgb25lIGlzIG9uIHNlY29uZGFyeSAqLw0K KwkJcGRjX2RldnNbaW50ZXJmXS5od2lmWzBdID0gaHdpZi0+bWF0ZTsNCisJ CXBkY19kZXZzW2ludGVyZl0uaHdpZlsxXSA9IGh3aWY7DQorCX0NCisNCisJ Lyogc2V0IG5yX2NhYmxlcyBmb3IgdGhpcyBpbnRlcmZhY2UgKHNob3VsZCBi ZSBkZXJpdmFibGUgZnJvbSB0aGUgY2hpcCB0eXBlKSAqLw0KKwlwZGNfZGV2 c1tpbnRlcmZdLm5yX2NhYmxlcyA9IHBkYzIwMnh4X2dldF9tYXhfY2FibGVz KGRldik7DQorCXBkYzIwMnh4X3ByaW50X2RyaXZlX2FycmF5KCk7DQorDQor CXJldHVybiAxOw0KK30NCisNCisjaWYgMSAvKiBQREMyMDJYWF9ERUJVR19E UklWRV9JTkZPICovDQorLyoNCisgKiBwcmludCBkcml2ZSBpbmZvDQorICov DQorc3RhdGljIHZvaWQgcGRjMjAyeHhfcHJpbnRfZHJpdmVfYXJyYXkoKQ0K K3sNCisJaW50IGludGVyZjsNCisJc3RydWN0IHBjaV9kZXYgKmRldjsNCisN CisJcHJpbnRrKEtFUk5fSU5GTyAiJWQgaW50ZXJmYWNlc1xuIiwgbnJfcGRj X2RldnMpOw0KKwlmb3IgKGludGVyZiA9IDA7IGludGVyZiA8IG5yX3BkY19k ZXZzOyBpbnRlcmYrKykNCisJew0KKwkJcHJpbnRrKEtFUk5fSU5GTyAiSW50 ZXJmYWNlICVkOlxuIiwgaW50ZXJmKTsNCisJCUZPUkFMTF9EUklWRVMoaW50 ZXJmKSB7DQorCQkJcHJpbnRrKEtFUk5fSU5GTyAiQ2FibGUgJTJkLCBEcml2 ZSAlZFxuIiwgY2FibGUsIGRyaXZlKTsNCisJCQlwcmludGsoS0VSTl9JTkZP ICIgU3BlZWQgJWRcbiIsIHBkY19kZXZzW2ludGVyZl0uc3BlZWRfcmF0ZVtj YWJsZV1bZHJpdmVdKTsNCisJCQlwcmludGsoS0VSTl9JTkZPICIgSFdJRiAl cFxuIiwgIHBkY19kZXZzW2ludGVyZl0uaHdpZltjYWJsZV0pOw0KKwkJCXBy aW50ayhLRVJOX0lORk8gIiBkcml2ZSAlcFxuIiwgJnBkY19kZXZzW2ludGVy Zl0uaHdpZltjYWJsZV0tPmRyaXZlc1tkcml2ZV0pOw0KKwkJCWRldiA9IHBk Y19kZXZzW2ludGVyZl0uaHdpZlswXS0+cGNpX2RldjsNCisJCQlwcmludGso S0VSTl9JTkZPICIgUENJICUwMmQ6JTAyZDolMDJkXG4iLCAgZGV2LT5idXMt Pm51bWJlciwgUENJX1NMT1QoZGV2LT5kZXZmbiksIFBDSV9GVU5DKGRldi0+ ZGV2Zm4pKTsNCisJCX0gRU5ERk9SQUxMX0RSSVZFUw0KKwl9DQorfQ0KKyNl bmRpZg0KKw0KIHZvaWQgX19pbml0IGlkZV9pbml0X3BkYzIwMnh4IChpZGVf aHdpZl90ICpod2lmKQ0KIHsNCiAJaHdpZi0+dHVuZXByb2MgID0gJnBkYzIw Mnh4X3R1bmVfZHJpdmU7DQogCWh3aWYtPnF1aXJrcHJvYyA9ICZwZGMyMDJ4 eF9xdWlya3Byb2M7DQogCWh3aWYtPnJlc2V0cHJvYyA9ICZwZGMyMDJ4eF9y ZXNldDsNCiANCkBAIC0xMTgyLDcgKzEzNTgsOSBAQA0KIAl9DQogI2Vsc2Ug LyogIUNPTkZJR19CTEtfREVWX0lERURNQSAqLw0KIAlod2lmLT5kcml2ZXNb MF0uYXV0b3R1bmUgPSAxOw0KIAlod2lmLT5kcml2ZXNbMV0uYXV0b3R1bmUg PSAxOw0KIAlod2lmLT5hdXRvZG1hID0gMDsNCiAjZW5kaWYgLyogQ09ORklH X0JMS19ERVZfSURFRE1BICovDQorICAgICAgICAgICAgICAgICANCisJcGRj MjAyeHhfc2V0dXBfZHJpdmVfZGF0YShod2lmKTsNCiB9DQo= ---1463811584-2113355014-1029675073=:13574 Content-Type: APPLICATION/x-gzip; name="pdc202xx.c.gz" Content-Transfer-Encoding: BASE64 Content-ID: <Pine.LNX.4.44.0208181351131.13574@sharra.ivimey.org> Content-Description: patched-gzipped-file Content-Disposition: attachment; filename="pdc202xx.c.gz"

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 2FNuCTtjRmy3xI7MQVLihX+q/hfdIwXrdaYAAA== ---1463811584-2113355014-1029675073=:13574-- - 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/