From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S272246AbTHFScx (ORCPT ); Wed, 6 Aug 2003 14:32:53 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S272281AbTHFScx (ORCPT ); Wed, 6 Aug 2003 14:32:53 -0400 Received: from mion.elka.pw.edu.pl ([194.29.160.35]:1184 "EHLO mion.elka.pw.edu.pl") by vger.kernel.org with ESMTP id S272246AbTHFSco (ORCPT ); Wed, 6 Aug 2003 14:32:44 -0400 Date: Wed, 6 Aug 2003 20:32:23 +0200 (MET DST) From: Bartlomiej Zolnierkiewicz To: Erik Andersen cc: Andries Brouwer , Alan Cox , Marcelo Tosatti , Subject: Re: [PATCH] ide-disk.c rev 1.13 killed CONFIG_IDEDISK_STROKE In-Reply-To: <20030806181142.GD25910@codepoet.org> Message-ID: MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="-559023410-959030623-1060194743=:10247" Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org 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. ---559023410-959030623-1060194743=:10247 Content-Type: TEXT/PLAIN; charset=US-ASCII On Wed, 6 Aug 2003, Erik Andersen wrote: > > Can you please resend me the patch once its accepted in 2.6 ? > > > > Maybe we want to test it a while in -ac, also? > > Ok. Though it is being incorporated as part of a much larger > patch in 2.6. I suppose that will filter back into 2.4 when > it is ready, Hi Erik, I made init_idedisk_capacity() cleanup. Then I ported your patch and reworked it a bit. Could you take a look? Thanks, -- Bartlomiej ---559023410-959030623-1060194743=:10247 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="ide-disk-capacity-init-cleanup.patch" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename="ide-disk-capacity-init-cleanup.patch" DQppZGU6IGluaXRfaWRlZGlza19jYXBhY2l0eSgpIGNsZWFudXAoKQ0KDQot IG5vIG5lZWQgdG8gemVybyBkcml2ZS0+Y2FwYWNpdHk0OCBhbmQgZHJpdmUt PnNlbGVjdC5iLmxiYQ0KLSBkb24ndCBjYWxsIGlkZWRpc2tfcmVhZF9uYXRp dmVfbWF4X2FkZHJlc3NfZXh0KCkgdHdpY2UNCiAgaWYgZHJpdmUgdXNlcyBM QkEtNDggYW5kIENPTkZJR19JREVESVNLX1NUUk9LRSBpcyBkZWZpbmVkDQot IHJlbW92ZSB1bmVjY2Vzc2FyeSBzZXR1cCBvZiBkcml2ZS0+Y2FwYWNpdHk0 OC9jeWwvc2VsZWN0LmIubGJhDQogIGlmIGRyaXZlIHVzZXMgTEJBLTQ4LCBt YXhpbXVtIHZpcnR1YWwgTEJBIGFkZHJlc3MgbmVlZHMgdG8gYmUgc2V0DQog IGFuZCBDT05GSUdfSURFRElTS19TVFJPS0UgaXMgZGVmaW5lZA0KLSBzZXQg ZHJpdmUtPmN5bCBvbmx5IG9uY2UgaWYgZHJpdmUgdXNlcyBMQkEtNDgNCi0g ZG9uJ3QgY2FsbCBpZGVkaXNrX3JlYWRfbmF0aXZlX21heF9hZGRyZXNzKCkg aWYgZHJpdmUgdXNlcyBMQkEtNDgNCiAgYW5kIGRvbid0IGNhbGwgaXQgdHdp Y2UgaWYgQ09ORklHX0lERURJU0tfU1RST0tFIGlzIGRlZmluZWQNCi0gZG9u J3QgY2hlY2sgZm9yIEhvc3QgUHJvdGVjdGVkIEFyZWEgaWYgZHJpdmUgdXNl cyBDSFMgYWRkcmVzc2luZw0KICAoc3VjaCBjb21iaW5hdGlvbiBpcyBub3Qg c3VwcG9ydGVkIGJ5IGEgZHJpdmVyKQ0KLSByZW1vdmUgZHVwbGljYXRlZCBj b2RlIChhdCB0aGUgZW5kIG9mIHRoZSBmdW5jdGlvbikgdGhhdCBpcyBuZXZl ciBleGVjdXRlZA0KDQogZHJpdmVycy9pZGUvaWRlLWRpc2suYyB8ICAgMzIg KysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiAxIGZpbGVzIGNo YW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgMjMgZGVsZXRpb25zKC0pDQoNCmRp ZmYgLXB1TiBkcml2ZXJzL2lkZS9pZGUtZGlzay5jfmlkZS1kaXNrLWNhcGFj aXR5LWluaXQtY2xlYW51cCBkcml2ZXJzL2lkZS9pZGUtZGlzay5jDQotLS0g bGludXgtMi42LjAtdGVzdDItYms1L2RyaXZlcnMvaWRlL2lkZS1kaXNrLmN+ aWRlLWRpc2stY2FwYWNpdHktaW5pdC1jbGVhbnVwCTIwMDMtMDgtMDYgMDI6 NDg6MzMuMDAwMDAwMDAwICswMjAwDQorKysgbGludXgtMi42LjAtdGVzdDIt Yms1LXJvb3QvZHJpdmVycy9pZGUvaWRlLWRpc2suYwkyMDAzLTA4LTA2IDE2 OjIzOjI3LjAwMDAwMDAwMCArMDIwMA0KQEAgLTEwOTUsMTMgKzEwOTUsMTAg QEAgc3RhdGljIGlubGluZSBpbnQgaWRlZGlza19zdXBwb3J0c19ob3N0Xw0K IHN0YXRpYyB2b2lkIGluaXRfaWRlZGlza19jYXBhY2l0eSAoaWRlX2RyaXZl X3QgICpkcml2ZSkNCiB7DQogCXN0cnVjdCBoZF9kcml2ZWlkICppZCA9IGRy aXZlLT5pZDsNCi0JdW5zaWduZWQgbG9uZyBjYXBhY2l0eSA9IGRyaXZlLT5j eWwgKiBkcml2ZS0+aGVhZCAqIGRyaXZlLT5zZWN0Ow0KLQl1bnNpZ25lZCBs b25nIHNldF9tYXggPSBpZGVkaXNrX3JlYWRfbmF0aXZlX21heF9hZGRyZXNz KGRyaXZlKTsNCi0JdW5zaWduZWQgbG9uZyBsb25nIGNhcGFjaXR5XzIgPSBj YXBhY2l0eTsNCi0JdW5zaWduZWQgbG9uZyBsb25nIHNldF9tYXhfZXh0Ow0K Kwl1bnNpZ25lZCBsb25nIGNhcGFjaXR5LCBzZXRfbWF4Ow0KKwl1bnNpZ25l ZCBsb25nIGxvbmcgY2FwYWNpdHlfMiwgc2V0X21heF9leHQ7DQogDQotCWRy aXZlLT5jYXBhY2l0eTQ4ID0gMDsNCi0JZHJpdmUtPnNlbGVjdC5iLmxiYSA9 IDA7DQorCWNhcGFjaXR5XzIgPSBjYXBhY2l0eSA9IGRyaXZlLT5jeWwgKiBk cml2ZS0+aGVhZCAqIGRyaXZlLT5zZWN0Ow0KIA0KIAkodm9pZCkgaWRlZGlz a19zdXBwb3J0c19ob3N0X3Byb3RlY3RlZF9hcmVhKGRyaXZlKTsNCiANCkBA IC0xMTA5LDE5ICsxMTA2LDEzIEBAIHN0YXRpYyB2b2lkIGluaXRfaWRlZGlz a19jYXBhY2l0eSAoaWRlX2QNCiAJCWNhcGFjaXR5XzIgPSBpZC0+bGJhX2Nh cGFjaXR5XzI7DQogCQlkcml2ZS0+aGVhZAkJPSBkcml2ZS0+Ymlvc19oZWFk ID0gMjU1Ow0KIAkJZHJpdmUtPnNlY3QJCT0gZHJpdmUtPmJpb3Nfc2VjdCA9 IDYzOw0KLQkJZHJpdmUtPmN5bCA9ICh1bnNpZ25lZCBpbnQpIGNhcGFjaXR5 XzIgLyAoZHJpdmUtPmhlYWQgKiBkcml2ZS0+c2VjdCk7DQogCQlkcml2ZS0+ c2VsZWN0LmIubGJhCT0gMTsNCiAJCXNldF9tYXhfZXh0ID0gaWRlZGlza19y ZWFkX25hdGl2ZV9tYXhfYWRkcmVzc19leHQoZHJpdmUpOw0KIAkJaWYgKHNl dF9tYXhfZXh0ID4gY2FwYWNpdHlfMiAmJiBjYXBhY2l0eV8yID4gSURFX1NU Uk9LRV9MSU1JVCkgew0KICNpZmRlZiBDT05GSUdfSURFRElTS19TVFJPS0UN Ci0JCQlzZXRfbWF4X2V4dCA9IGlkZWRpc2tfcmVhZF9uYXRpdmVfbWF4X2Fk ZHJlc3NfZXh0KGRyaXZlKTsNCiAJCQlzZXRfbWF4X2V4dCA9IGlkZWRpc2tf c2V0X21heF9hZGRyZXNzX2V4dChkcml2ZSwgc2V0X21heF9leHQpOw0KLQkJ CWlmIChzZXRfbWF4X2V4dCkgew0KLQkJCQlkcml2ZS0+Y2FwYWNpdHk0OCA9 IGNhcGFjaXR5XzIgPSBzZXRfbWF4X2V4dDsNCi0JCQkJZHJpdmUtPmN5bCA9 ICh1bnNpZ25lZCBpbnQpIHNldF9tYXhfZXh0IC8gKGRyaXZlLT5oZWFkICog ZHJpdmUtPnNlY3QpOw0KLQkJCQlkcml2ZS0+c2VsZWN0LmIubGJhID0gMTsN Ci0JCQkJZHJpdmUtPmlkLT5sYmFfY2FwYWNpdHlfMiA9IGNhcGFjaXR5XzI7 DQotICAgICAgICAgICAgICAgICAgICAgICAgfQ0KKwkJCWlmIChzZXRfbWF4 X2V4dCkNCisJCQkJaWQtPmxiYV9jYXBhY2l0eV8yID0gY2FwYWNpdHlfMiA9 IHNldF9tYXhfZXh0Ow0KICNlbHNlIC8qICFDT05GSUdfSURFRElTS19TVFJP S0UgKi8NCiAJCQlwcmludGsoS0VSTl9JTkZPICIlczogc2V0bWF4X2V4dCBM QkEgJWxsdSwgbmF0aXZlICAlbGx1XG4iLA0KIAkJCQlkcml2ZS0+bmFtZSwg c2V0X21heF9leHQsIGNhcGFjaXR5XzIpOw0KQEAgLTExMzcsMTEgKzExMjgs MTQgQEAgc3RhdGljIHZvaWQgaW5pdF9pZGVkaXNrX2NhcGFjaXR5IChpZGVf ZA0KIAkJY2FwYWNpdHkgPSBpZC0+bGJhX2NhcGFjaXR5Ow0KIAkJZHJpdmUt PmN5bCA9IGNhcGFjaXR5IC8gKGRyaXZlLT5oZWFkICogZHJpdmUtPnNlY3Qp Ow0KIAkJZHJpdmUtPnNlbGVjdC5iLmxiYSA9IDE7DQorCX0gZWxzZSB7DQor CQlkcml2ZS0+Y2FwYWNpdHkgPSBjYXBhY2l0eTsNCisJCXJldHVybjsNCiAJ fQ0KIA0KKwlzZXRfbWF4ID0gaWRlZGlza19yZWFkX25hdGl2ZV9tYXhfYWRk cmVzcyhkcml2ZSk7DQogCWlmIChzZXRfbWF4ID4gY2FwYWNpdHkgJiYgY2Fw YWNpdHkgPiBJREVfU1RST0tFX0xJTUlUKSB7DQogI2lmZGVmIENPTkZJR19J REVESVNLX1NUUk9LRQ0KLQkJc2V0X21heCA9IGlkZWRpc2tfcmVhZF9uYXRp dmVfbWF4X2FkZHJlc3MoZHJpdmUpOw0KIAkJc2V0X21heCA9IGlkZWRpc2tf c2V0X21heF9hZGRyZXNzKGRyaXZlLCBzZXRfbWF4KTsNCiAJCWlmIChzZXRf bWF4KSB7DQogCQkJZHJpdmUtPmNhcGFjaXR5ID0gY2FwYWNpdHkgPSBzZXRf bWF4Ow0KQEAgLTExNTQsMTUgKzExNDgsNyBAQCBzdGF0aWMgdm9pZCBpbml0 X2lkZWRpc2tfY2FwYWNpdHkgKGlkZV9kDQogCQkJZHJpdmUtPm5hbWUsIHNl dF9tYXgsIGNhcGFjaXR5KTsNCiAjZW5kaWYgLyogQ09ORklHX0lERURJU0tf U1RST0tFICovDQogCX0NCi0NCiAJZHJpdmUtPmNhcGFjaXR5ID0gY2FwYWNp dHk7DQotDQotCWlmICgoaWQtPmNvbW1hbmRfc2V0XzIgJiAweDA0MDApICYm IChpZC0+Y2ZzX2VuYWJsZV8yICYgMHgwNDAwKSkgew0KLQkJZHJpdmUtPmNh cGFjaXR5NDggPSBpZC0+bGJhX2NhcGFjaXR5XzI7DQotCQlkcml2ZS0+aGVh ZCA9IDI1NTsNCi0JCWRyaXZlLT5zZWN0ID0gNjM7DQotCQlkcml2ZS0+Y3ls ID0gKHVuc2lnbmVkIGxvbmcpKGRyaXZlLT5jYXBhY2l0eTQ4KSAvIChkcml2 ZS0+aGVhZCAqIGRyaXZlLT5zZWN0KTsNCi0JfQ0KIH0NCiANCiBzdGF0aWMg dW5zaWduZWQgbG9uZyBpZGVkaXNrX2NhcGFjaXR5IChpZGVfZHJpdmVfdCAq ZHJpdmUpDQoNCl8NCg== ---559023410-959030623-1060194743=:10247 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="ide-disk-hpa-fixup.patch" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename="ide-disk-hpa-fixup.patch" DQppZGU6IGZpeCBDT05GSUdfSURFRElTS19TVFJPS0Ugc3VwcG9ydCBpbiBp ZGUtZGlzay5jDQoNCk9yaWdpbmFsIHBhdGNoIGZyb20gRXJpayBBbmRlcnNl biA8YW5kZXJzZW5AY29kZXBvZXQub3JnPjoNCi0gZml4IENPTkZJR19JREVE SVNLX1NUUk9LRSBieSBhZGRpbmcgcHJvcGVyIGRldGVjdGlvbiBvZiBIUEEg ZmVhdHVyZSBzZXQNCiAgYW5kIHJlbW92aW5nIElERV9TVFJPS0VfTElNSVQN Ci0gcmVtb3ZlIGlycmVsZXZhbnQgaWRlZGlza19zdXBwb3J0c19ob3N0X3By b3RlY3RlZF9hcmVhKCkNCi0gbWFrZSB0aGUgSFBBIGRldGVjdGlvbiBhY3R1 YWxseSBkaXNwbGF5IHVzZWZ1bCBpbmZvcm1hdGlvbg0KDQpJJ3ZlIHJld29y a2VkIGl0IGEgYml0Og0KLSBkZXRlY3QgSFBBIGJlZm9yZSBjYWxjdWxhdGlu ZyBkcml2ZSdzIGdlb21ldHJ5DQotIG1vdmUgSFBBIGRldGVjdGlvbiBvdXRz aWRlIGluaXRfaWRlZGlza19jYXBhY2l0eSgpDQogIHRvIGlkZWRpc2tfY2hl Y2tfaHBhX2xiYTI4KCkgYW5kIGlkZWRpc2tfY2hlY2tfaHBhX2xiYTQ4KCkN Ci0gcmVzcGVjdCA4MC1jb2x1bW4gbGltaXQNCg0KIGRyaXZlcnMvaWRlL2lk ZS1kaXNrLmMgfCAgMTI4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr LS0tLS0tLS0tLS0tLS0tLS0tLS0NCiAxIGZpbGVzIGNoYW5nZWQsIDc4IGlu c2VydGlvbnMoKyksIDUwIGRlbGV0aW9ucygtKQ0KDQpkaWZmIC1wdU4gZHJp dmVycy9pZGUvaWRlLWRpc2suY35pZGUtZGlzay1ocGEtZml4dXAgZHJpdmVy cy9pZGUvaWRlLWRpc2suYw0KLS0tIGxpbnV4LTIuNi4wLXRlc3QyLWJrNS9k cml2ZXJzL2lkZS9pZGUtZGlzay5jfmlkZS1kaXNrLWhwYS1maXh1cAkyMDAz LTA4LTA2IDE3OjU4OjAyLjAwMDAwMDAwMCArMDIwMA0KKysrIGxpbnV4LTIu Ni4wLXRlc3QyLWJrNS1yb290L2RyaXZlcnMvaWRlL2lkZS1kaXNrLmMJMjAw My0wOC0wNiAxOTo0Nzo1Mi4wMDAwMDAwMDAgKzAyMDANCkBAIC02Nyw2ICs2 Nyw3IEBADQogI2luY2x1ZGUgPGFzbS9pcnEuaD4NCiAjaW5jbHVkZSA8YXNt L3VhY2Nlc3MuaD4NCiAjaW5jbHVkZSA8YXNtL2lvLmg+DQorI2luY2x1ZGUg PGFzbS9kaXY2NC5oPg0KIA0KIC8qIEZJWE1FOiBzb21lIGRheSB3ZSBzaG91 bGRuJ3QgbmVlZCB0byBsb29rIGluIGhlcmUhICovDQogDQpAQCAtMTA2NSwx NiArMTA2Niw2NCBAQCBzdGF0aWMgdW5zaWduZWQgbG9uZyBsb25nIGlkZWRp c2tfc2V0X21hDQogDQogI2VuZGlmIC8qIENPTkZJR19JREVESVNLX1NUUk9L RSAqLw0KIA0KLS8qDQotICogVGVzdHMgaWYgdGhlIGRyaXZlIHN1cHBvcnRz IEhvc3QgUHJvdGVjdGVkIEFyZWEgZmVhdHVyZS4NCi0gKiBSZXR1cm5zIHRy dWUgaWYgc3VwcG9ydGVkLCBmYWxzZSBvdGhlcndpc2UuDQotICovDQotc3Rh dGljIGlubGluZSBpbnQgaWRlZGlza19zdXBwb3J0c19ob3N0X3Byb3RlY3Rl ZF9hcmVhKGlkZV9kcml2ZV90ICpkcml2ZSkNCitzdGF0aWMgaW5saW5lIHZv aWQgaWRlZGlza19jaGVja19ocGFfbGJhMjgoaWRlX2RyaXZlX3QgKmRyaXZl KQ0KIHsNCi0JaW50IGZsYWcgPSAoZHJpdmUtPmlkLT5jZnNfZW5hYmxlXzEg JiAweDA0MDApID8gMSA6IDA7DQotCWlmIChmbGFnKQ0KLQkJcHJpbnRrKEtF Uk5fSU5GTyAiJXM6IGhvc3QgcHJvdGVjdGVkIGFyZWEgPT4gJWRcbiIsIGRy aXZlLT5uYW1lLCBmbGFnKTsNCi0JcmV0dXJuIGZsYWc7DQorCXVuc2lnbmVk IGxvbmcgY2FwYWNpdHksIHNldF9tYXg7DQorDQorCWNhcGFjaXR5ID0gZHJp dmUtPmlkLT5sYmFfY2FwYWNpdHk7DQorCXNldF9tYXggPSBpZGVkaXNrX3Jl YWRfbmF0aXZlX21heF9hZGRyZXNzKGRyaXZlKTsNCisNCisJaWYgKHNldF9t YXggPD0gY2FwYWNpdHkpDQorCQlyZXR1cm47DQorDQorCXByaW50ayhLRVJO X0lORk8gIiVzOiBIb3N0IFByb3RlY3RlZCBBcmVhIGRldGVjdGVkLlxuIg0K KwkJCSAiXHRjdXJyZW50IGNhcGFjaXR5IGlzICVsZCBzZWN0b3JzICglbGQg TUIpXG4iDQorCQkJICJcdG5hdGl2ZSAgY2FwYWNpdHkgaXMgJWxkIHNlY3Rv cnMgKCVsZCBNQilcbiIsDQorCQkJIGRyaXZlLT5uYW1lLA0KKwkJCSBjYXBh Y2l0eSwgKGNhcGFjaXR5IC0gY2FwYWNpdHkvNjI1ICsgOTc0KS8xOTUwLA0K KwkJCSBzZXRfbWF4LCAoc2V0X21heCAtIHNldF9tYXgvNjI1ICsgOTc0KS8x OTUwKTsNCisjaWZkZWYgQ09ORklHX0lERURJU0tfU1RST0tFDQorCXNldF9t YXggPSBpZGVkaXNrX3NldF9tYXhfYWRkcmVzcyhkcml2ZSwgc2V0X21heCk7 DQorCWlmIChzZXRfbWF4KSB7DQorCQlkcml2ZS0+aWQtPmxiYV9jYXBhY2l0 eSA9IHNldF9tYXg7DQorCQlwcmludGsoS0VSTl9JTkZPICIlczogSG9zdCBQ cm90ZWN0ZWQgQXJlYSBkaXNhYmxlZC5cbiIsDQorCQkJCSBkcml2ZS0+bmFt ZSk7DQorCX0NCisjZW5kaWYNCit9DQorDQorc3RhdGljIGlubGluZSB2b2lk IGlkZWRpc2tfY2hlY2tfaHBhX2xiYTQ4KGlkZV9kcml2ZV90ICpkcml2ZSkN Cit7DQorCXVuc2lnbmVkIGxvbmcgbG9uZyBjYXBhY2l0eV8yLCBzZXRfbWF4 X2V4dCwgbmF0aXZlTWIsIGN1cnJlbnRNYjsNCisNCisJY2FwYWNpdHlfMiA9 IGRyaXZlLT5pZC0+bGJhX2NhcGFjaXR5XzI7DQorCXNldF9tYXhfZXh0ID0g aWRlZGlza19yZWFkX25hdGl2ZV9tYXhfYWRkcmVzc19leHQoZHJpdmUpOw0K Kw0KKwlpZiAoc2V0X21heF9leHQgPD0gY2FwYWNpdHlfMikNCisJCXJldHVy bjsNCisNCisJLyoNCisJICogU2lnaC4gIFdlIGhhdmUgdG8ganVtcCB0aHJv dWdoIGV4dHJhIGhvb3BzIHRvDQorCSAqIGRpdmlkZSB1bnNpZ25lZCBsb25n IGxvbmdzIHdpdGhpbiB0aGUga2VybmVsLg0KKwkgKi8NCisJbmF0aXZlTWIg PSBzZXRfbWF4X2V4dCAqIDUxMjsNCisJY3VycmVudE1iID0gY2FwYWNpdHlf MiAqIDUxMjsNCisJLyogZG9fZGl2IGlzIGEgbWFjcm8gc28gd2UgY2FuIG5v dCBzYWZlbHkgY29tYmluZSBzdGVwcy4gKi8NCisJbmF0aXZlTWIgPSBkb19k aXYobmF0aXZlTWIsIDEwMDAwMDApOw0KKwljdXJyZW50TWIgPSBkb19kaXYo Y3VycmVudE1iLCAxMDAwMDAwKTsNCisJcHJpbnRrKEtFUk5fSU5GTyAiJXM6 IEhvc3QgUHJvdGVjdGVkIEFyZWEgZGV0ZWN0ZWQuXG4iDQorCQkJICJcdGN1 cnJlbnQgY2FwYWNpdHkgaXMgJWxsZCBzZWN0b3JzICglbGxkIE1CKVxuIg0K KwkJCSAiXHRuYXRpdmUgIGNhcGFjaXR5IGlzICVsbGQgc2VjdG9ycyAoJWxs ZCBNQilcbiIsDQorCQkJIGRyaXZlLT5uYW1lLA0KKwkJCSBjYXBhY2l0eV8y LCBjdXJyZW50TWIsIHNldF9tYXhfZXh0LCBuYXRpdmVNYik7DQorI2lmZGVm IENPTkZJR19JREVESVNLX1NUUk9LRQ0KKwlzZXRfbWF4X2V4dCA9IGlkZWRp c2tfc2V0X21heF9hZGRyZXNzX2V4dChkcml2ZSwgc2V0X21heF9leHQpOw0K KwlpZiAoc2V0X21heF9leHQpIHsNCisJCWRyaXZlLT5pZC0+bGJhX2NhcGFj aXR5XzIgPSBzZXRfbWF4X2V4dDsNCisJCXByaW50ayhLRVJOX0lORk8gIiVz OiBIb3N0IFByb3RlY3RlZCBBcmVhIGRpc2FibGVkLlxuIiwNCisJCQkJIGRy aXZlLT5uYW1lKTsNCisJfQ0KKyNlbmRpZg0KIH0NCiANCiAvKg0KQEAgLTEw OTEsNjQgKzExNDAsNDMgQEAgc3RhdGljIGlubGluZSBpbnQgaWRlZGlza19z dXBwb3J0c19ob3N0Xw0KICAqIGluIGFib3ZlIG9yZGVyIChpLmUuLCBpZiB2 YWx1ZSBvZiBoaWdoZXIgcHJpb3JpdHkgaXMgYXZhaWxhYmxlLA0KICAqIHJl c2V0IHdpbGwgYmUgaWdub3JlZCkuDQogICovDQotI2RlZmluZSBJREVfU1RS T0tFX0xJTUlUCSgzMjAwMCoxMDI0KjIpDQogc3RhdGljIHZvaWQgaW5pdF9p ZGVkaXNrX2NhcGFjaXR5IChpZGVfZHJpdmVfdCAgKmRyaXZlKQ0KIHsNCiAJ c3RydWN0IGhkX2RyaXZlaWQgKmlkID0gZHJpdmUtPmlkOw0KLQl1bnNpZ25l ZCBsb25nIGNhcGFjaXR5LCBzZXRfbWF4Ow0KLQl1bnNpZ25lZCBsb25nIGxv bmcgY2FwYWNpdHlfMiwgc2V0X21heF9leHQ7DQotDQotCWNhcGFjaXR5XzIg PSBjYXBhY2l0eSA9IGRyaXZlLT5jeWwgKiBkcml2ZS0+aGVhZCAqIGRyaXZl LT5zZWN0Ow0KKwkvKg0KKwkgKiBJZiB0aGlzIGRyaXZlIHN1cHBvcnRzIHRo ZSBIb3N0IFByb3RlY3RlZCBBcmVhIGZlYXR1cmUgc2V0LA0KKwkgKiB0aGVu IHdlIG1heSBuZWVkIHRvIGNoYW5nZSBvdXIgb3BpbmlvbiBhYm91dCB0aGUg ZHJpdmUncyBjYXBhY2l0eS4NCisJICovDQorCWludCBocGEgPSAoaWQtPmNv bW1hbmRfc2V0XzEgJiAweDA0MDApICYmIChpZC0+Y2ZzX2VuYWJsZV8xICYg MHgwNDAwKTsNCiANCi0JKHZvaWQpIGlkZWRpc2tfc3VwcG9ydHNfaG9zdF9w cm90ZWN0ZWRfYXJlYShkcml2ZSk7DQorCWlmICgoaWQtPmNvbW1hbmRfc2V0 XzIgJiAweDA0MDApICYmIChpZC0+Y2ZzX2VuYWJsZV8yICYgMHgwNDAwKSkg ew0KKwkJLyogZHJpdmUgc3BlYWtzIDQ4LWJpdCBMQkEgKi8NCisJCXVuc2ln bmVkIGxvbmcgbG9uZyBjYXBhY2l0eV8yOw0KIA0KLQlpZiAoaWQtPmNmc19l bmFibGVfMiAmIDB4MDQwMCkgew0KKwkJZHJpdmUtPnNlbGVjdC5iLmxiYSA9 IDE7DQorCQlpZiAoaHBhKQ0KKwkJCWlkZWRpc2tfY2hlY2tfaHBhX2xiYTQ4 KGRyaXZlKTsNCiAJCWNhcGFjaXR5XzIgPSBpZC0+bGJhX2NhcGFjaXR5XzI7 DQogCQlkcml2ZS0+aGVhZAkJPSBkcml2ZS0+Ymlvc19oZWFkID0gMjU1Ow0K IAkJZHJpdmUtPnNlY3QJCT0gZHJpdmUtPmJpb3Nfc2VjdCA9IDYzOw0KLQkJ ZHJpdmUtPnNlbGVjdC5iLmxiYQk9IDE7DQotCQlzZXRfbWF4X2V4dCA9IGlk ZWRpc2tfcmVhZF9uYXRpdmVfbWF4X2FkZHJlc3NfZXh0KGRyaXZlKTsNCi0J CWlmIChzZXRfbWF4X2V4dCA+IGNhcGFjaXR5XzIgJiYgY2FwYWNpdHlfMiA+ IElERV9TVFJPS0VfTElNSVQpIHsNCi0jaWZkZWYgQ09ORklHX0lERURJU0tf U1RST0tFDQotCQkJc2V0X21heF9leHQgPSBpZGVkaXNrX3NldF9tYXhfYWRk cmVzc19leHQoZHJpdmUsIHNldF9tYXhfZXh0KTsNCi0JCQlpZiAoc2V0X21h eF9leHQpDQotCQkJCWlkLT5sYmFfY2FwYWNpdHlfMiA9IGNhcGFjaXR5XzIg PSBzZXRfbWF4X2V4dDsNCi0jZWxzZSAvKiAhQ09ORklHX0lERURJU0tfU1RS T0tFICovDQotCQkJcHJpbnRrKEtFUk5fSU5GTyAiJXM6IHNldG1heF9leHQg TEJBICVsbHUsIG5hdGl2ZSAgJWxsdVxuIiwNCi0JCQkJZHJpdmUtPm5hbWUs IHNldF9tYXhfZXh0LCBjYXBhY2l0eV8yKTsNCi0jZW5kaWYgLyogQ09ORklH X0lERURJU0tfU1RST0tFICovDQotCQl9DQogCQlkcml2ZS0+Y3lsID0gKHVu c2lnbmVkIGludCkgY2FwYWNpdHlfMiAvIChkcml2ZS0+aGVhZCAqIGRyaXZl LT5zZWN0KTsNCiAJCWRyaXZlLT5iaW9zX2N5bAkJPSBkcml2ZS0+Y3lsOw0K IAkJZHJpdmUtPmNhcGFjaXR5NDgJPSBjYXBhY2l0eV8yOw0KIAkJZHJpdmUt PmNhcGFjaXR5CQk9ICh1bnNpZ25lZCBsb25nKSBjYXBhY2l0eV8yOw0KLQkJ cmV0dXJuOw0KLQkvKiBEZXRlcm1pbmUgY2FwYWNpdHksIGFuZCB1c2UgTEJB IGlmIHRoZSBkcml2ZSBwcm9wZXJseSBzdXBwb3J0cyBpdCAqLw0KIAl9IGVs c2UgaWYgKChpZC0+Y2FwYWJpbGl0eSAmIDIpICYmIGxiYV9jYXBhY2l0eV9p c19vayhpZCkpIHsNCisJCS8qIGRyaXZlIHNwZWFrcyAyOC1iaXQgTEJBICov DQorCQl1bnNpZ25lZCBsb25nIGNhcGFjaXR5Ow0KKw0KKwkJZHJpdmUtPnNl bGVjdC5iLmxiYSA9IDE7DQorCQlpZiAoaHBhKQ0KKwkJCWlkZWRpc2tfY2hl Y2tfaHBhX2xiYTI4KGRyaXZlKTsNCiAJCWNhcGFjaXR5ID0gaWQtPmxiYV9j YXBhY2l0eTsNCiAJCWRyaXZlLT5jeWwgPSBjYXBhY2l0eSAvIChkcml2ZS0+ aGVhZCAqIGRyaXZlLT5zZWN0KTsNCi0JCWRyaXZlLT5zZWxlY3QuYi5sYmEg PSAxOw0KLQl9IGVsc2Ugew0KIAkJZHJpdmUtPmNhcGFjaXR5ID0gY2FwYWNp dHk7DQotCQlyZXR1cm47DQotCX0NCi0NCi0Jc2V0X21heCA9IGlkZWRpc2tf cmVhZF9uYXRpdmVfbWF4X2FkZHJlc3MoZHJpdmUpOw0KLQlpZiAoc2V0X21h eCA+IGNhcGFjaXR5ICYmIGNhcGFjaXR5ID4gSURFX1NUUk9LRV9MSU1JVCkg ew0KLSNpZmRlZiBDT05GSUdfSURFRElTS19TVFJPS0UNCi0JCXNldF9tYXgg PSBpZGVkaXNrX3NldF9tYXhfYWRkcmVzcyhkcml2ZSwgc2V0X21heCk7DQot CQlpZiAoc2V0X21heCkgew0KLQkJCWRyaXZlLT5jYXBhY2l0eSA9IGNhcGFj aXR5ID0gc2V0X21heDsNCi0JCQlkcml2ZS0+Y3lsID0gc2V0X21heCAvIChk cml2ZS0+aGVhZCAqIGRyaXZlLT5zZWN0KTsNCi0JCQlkcml2ZS0+c2VsZWN0 LmIubGJhID0gMTsNCi0JCQlkcml2ZS0+aWQtPmxiYV9jYXBhY2l0eSA9IGNh cGFjaXR5Ow0KLQkJfQ0KLSNlbHNlIC8qICFDT05GSUdfSURFRElTS19TVFJP S0UgKi8NCi0JCXByaW50ayhLRVJOX0lORk8gIiVzOiBzZXRtYXggTEJBICVs dSwgbmF0aXZlICAlbHVcbiIsDQotCQkJZHJpdmUtPm5hbWUsIHNldF9tYXgs IGNhcGFjaXR5KTsNCi0jZW5kaWYgLyogQ09ORklHX0lERURJU0tfU1RST0tF ICovDQorCX0gZWxzZSB7DQorCQkvKiBkcml2ZSBzcGVha3MgYm9yaW5nIG9s ZCAyOC1iaXQgQ0hTICovDQorCQlkcml2ZS0+Y2FwYWNpdHkgPSBkcml2ZS0+ Y3lsICogZHJpdmUtPmhlYWQgKiBkcml2ZS0+c2VjdDsNCiAJfQ0KLQlkcml2 ZS0+Y2FwYWNpdHkgPSBjYXBhY2l0eTsNCiB9DQogDQogc3RhdGljIHVuc2ln bmVkIGxvbmcgaWRlZGlza19jYXBhY2l0eSAoaWRlX2RyaXZlX3QgKmRyaXZl KQ0KDQpfDQo= ---559023410-959030623-1060194743=:10247--