Re: IDE autotuning with PIIX fails (2.3.3)

Andre M. Hedrick (hedrick@Astro.Dyer.Vanderbilt.Edu)
Fri, 4 Jun 1999 11:02:59 -0500 (CDT)


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.

--998314481-293085274-928512141=:5089
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
Content-ID: <Pine.LNX.3.96.990604110223.5089D@Astro.Dyer.Vanderbilt.Edu>

On 4 Jun 1999, Kevin Buhr wrote:

> DAVID BALAZIC <david.balazic@uni-mb.si> writes:
> >
> > I tried the PIO autotuning feature of hdparm under kernel 2.3.3
> > with PIIX support. I have an Abit BH-6 board ( Intel BX chip set,
> > PIIX4, Teac CD532E-B secondary master )

This patch now does DMA/PIO tuning at the correct location.

> On a related note, using bootup autotuning with PIIX support under
> 2.3.5 (by providing an "ide0=autotune" boot argument) will cause an
> Oops.

This will work again now.

> The culprit is the "ide_wait_cmd()" call at the end of
> "piix_tune_drive()". The code in "ide-probe.c" that does bootup
> autotuning calls the interface's "tuneproc" before "init_irq()" (which
> assigns the drive to an "hwgroup") has been called. Therefore, the
> drive's "hwgroup" is still NULL, and after the call trace
> ide_wait_cmd->ide_do_drive_cmd->do_hwgroup_request, we crash when we
> try to lock on the "&hwgroup->spinlock".

I know an corrected that problem but it has not gotten there yet.
This patch will solve that issue.

> else? Or should bootup autotuning be abandoned altogether?

Nope, it is just a real pain to write code that you can not fully test.
I have now tested this code and it works.

Andre Hedrick
The Linux IDE guy

--998314481-293085274-928512141=:5089
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="piix4.test"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.3.96.990604110221.5089A@Astro.Dyer.Vanderbilt.Edu>
Content-Description:

VW5pZm9ybSBNdWx0aS1QbGF0Zm9ybSBFLUlERSBkcml2ZXIgUmV2aXNpb246
IDYuMTkNClBJSVg0OiBJREUgY29udHJvbGxlciBvbiBQQ0kgYnVzIDAwIGRl
diAzOQ0KUElJWDQ6IG5vdCAxMDAlIG5hdGl2ZSBtb2RlOiB3aWxsIHByb2Jl
IGlycXMgbGF0ZXINCiAgICBpZGUwOiBCTS1ETUEgYXQgMHhmZmEwLTB4ZmZh
NywgQklPUyBzZXR0aW5nczogaGRhOkRNQSwgaGRiOkRNQQ0KICAgIGlkZTE6
IEJNLURNQSBhdCAweGZmYTgtMHhmZmFmLCBCSU9TIHNldHRpbmdzOiBoZGM6
RE1BLCBoZGQ6cGlvDQpoZGE6IFdEQyBBQzM0MzAwTCwgQVRBIERJU0sgZHJp
dmUNCmhkYjogQ29ubmVyIFBlcmlwaGVyYWxzIDE2MjBNQiAtIENGUzE2MjFB
LCBBVEEgRElTSyBkcml2ZQ0KaGRjOiBGWDMyMFMsIEFUQVBJIENEUk9NIGRy
aXZlDQppZGUwIGF0IDB4MWYwLTB4MWY3LDB4M2Y2IG9uIGlycSAxNA0KaWRl
MSBhdCAweDE3MC0weDE3NywweDM3NiBvbiBpcnEgMTUNCmhkYTogV0RDIEFD
MzQzMDBMLCA0MTA0TUIgdy8yNTZrQiBDYWNoZSwgQ0hTPTUyMy8yNTUvNjMs
IFVETUEoMzMpDQpoZGI6IENvbm5lciBQZXJpcGhlcmFscyAxNjIwTUIgLSBD
RlMxNjIxQSwgMTU0OE1CIHcvMGtCIENhY2hlLCBDSFM9Nzg2LzY0LzYzDQpo
ZGM6IEFUQVBJIDMyWCBDRC1ST00gZHJpdmUsIDI1NmtCIENhY2hlLCBETUEN
ClVuaWZvcm0gQ0RST00gZHJpdmVyIFJldmlzaW9uOiAyLjU1DQoNCmhkcGFy
bSAtdFQgL2Rldi9oZGENCg0KL2Rldi9oZGE6DQogVGltaW5nIGJ1ZmZlci1j
YWNoZSByZWFkczogICA2NCBNQiBpbiAgMC41OSBzZWNvbmRzID0xMDguNDcg
TUIvc2VjDQogVGltaW5nIGJ1ZmZlcmVkIGRpc2sgcmVhZHM6ICAzMiBNQiBp
biAgMy42MyBzZWNvbmRzID0gOC44MiBNQi9zZWMNCg0KL2Rldi9oZGI6DQog
VGltaW5nIGJ1ZmZlci1jYWNoZSByZWFkczogICA2NCBNQiBpbiAgMC41NiBz
ZWNvbmRzID0xMTQuMjkgTUIvc2VjDQogVGltaW5nIGJ1ZmZlcmVkIGRpc2sg
cmVhZHM6ICAzMiBNQiBpbiAyNy40MyBzZWNvbmRzID0gMS4xNyBNQi9zZWMN
Cg0KL2Rldi9oZGM6DQogVGltaW5nIGJ1ZmZlci1jYWNoZSByZWFkczogICA2
NCBNQiBpbiAgMC41NSBzZWNvbmRzID0xMTYuMzYgTUIvc2VjDQogVGltaW5n
IGJ1ZmZlcmVkIGRpc2sgcmVhZHM6ICAzMiBNQiBpbiAxNy4xOCBzZWNvbmRz
ID0gMS44NiBNQi9zZWMNCg0KU2lyaXVzOi9wcm9jL2J1cy9wY2kvMDAjIGhl
eGR1bXAgMDcuMQ0KMDAwMDAwMCA4MDg2IDcxMTEgMDAwNSAwMjgwIDgwMDEg
MDEwMSA0MDAwIDAwMDANCjAwMDAwMTAgMDAwMCAwMDAwIDAwMDAgMDAwMCAw
MDAwIDAwMDAgMDAwMCAwMDAwDQowMDAwMDIwIGZmYTEgMDAwMCAwMDAwIDAw
MDAgMDAwMCAwMDAwIDAwMDAgMDAwMA0KMDAwMDAzMCAwMDAwIDAwMDAgMDAw
MCAwMDAwIDAwMDAgMDAwMCAwMDAwIDAwMDANCjAwMDAwNDAgYzAwMCBjMDAw
IDAwMDAgMDAwMCAwMDAxIDAwMDIgMDAwMCAwMDAwDQowMDAwMDUwIDAwMDAg
MDAwMCAwMDAwIDAwMDAgMDAwMCAwMDAwIDAwMDAgMDAwMA0KDQpVbmlmb3Jt
IE11bHRpLVBsYXRmb3JtIEUtSURFIGRyaXZlciBSZXZpc2lvbjogNi4xOQ0K
UElJWDQ6IElERSBjb250cm9sbGVyIG9uIFBDSSBidXMgMDAgZGV2IDM5DQpQ
SUlYNDogbm90IDEwMCUgbmF0aXZlIG1vZGU6IHdpbGwgcHJvYmUgaXJxcyBs
YXRlcg0KICAgIGlkZTA6IEJNLURNQSBhdCAweGZmYTAtMHhmZmE3LCBCSU9T
IHNldHRpbmdzOiBoZGE6RE1BLCBoZGI6RE1BDQogICAgaWRlMTogQk0tRE1B
IGF0IDB4ZmZhOC0weGZmYWYsIEJJT1Mgc2V0dGluZ3M6IGhkYzpETUEsIGhk
ZDpwaW8NCmhkYTogV0RDIEFDMzQzMDBMLCBBVEEgRElTSyBkcml2ZQ0KaGRi
OiBDb25uZXIgUGVyaXBoZXJhbHMgMTYyME1CIC0gQ0ZTMTYyMUEsIEFUQSBE
SVNLIGRyaXZlDQpoZGM6IEZYMzIwUywgQVRBUEkgQ0RST00gZHJpdmUNCmlk
ZTAgYXQgMHgxZjAtMHgxZjcsMHgzZjYgb24gaXJxIDE0DQppZGUxIGF0IDB4
MTcwLTB4MTc3LDB4Mzc2IG9uIGlycSAxNQ0KaGRhOiBVRE1BIDIgZHJpdmUw
DQpoZGE6IFdEQyBBQzM0MzAwTCwgNDEwNE1CIHcvMjU2a0IgQ2FjaGUsIENI
Uz01MjMvMjU1LzYzLCBVRE1BKDMzKQ0KaGRiOiBNVyBETUEgMiBkcml2ZTEN
CmhkYjogQ29ubmVyIFBlcmlwaGVyYWxzIDE2MjBNQiAtIENGUzE2MjFBLCAx
NTQ4TUIgdy8wa0IgQ2FjaGUsIENIUz03ODYvNjQvNjMsIERNQQ0KaGRjOiBN
VyBETUEgMiBkcml2ZTINCmhkYzogQVRBUEkgMzJYIENELVJPTSBkcml2ZSwg
MjU2a0IgQ2FjaGUsIERNQQ0KDQpoZHBhcm0gLXRUIC9kZXYvaGRhDQoNCi9k
ZXYvaGRhOg0KIFRpbWluZyBidWZmZXItY2FjaGUgcmVhZHM6ICAgNjQgTUIg
aW4gIDAuNTggc2Vjb25kcyA9MTEwLjM0IE1CL3NlYw0KIFRpbWluZyBidWZm
ZXJlZCBkaXNrIHJlYWRzOiAgMzIgTUIgaW4gIDMuNjMgc2Vjb25kcyA9IDgu
ODIgTUIvc2VjDQoNCi9kZXYvaGRiOg0KIFRpbWluZyBidWZmZXItY2FjaGUg
cmVhZHM6ICAgNjQgTUIgaW4gIDAuNTYgc2Vjb25kcyA9MTE0LjI5IE1CL3Nl
Yw0KIFRpbWluZyBidWZmZXJlZCBkaXNrIHJlYWRzOiAgMzIgTUIgaW4gIDgu
MDggc2Vjb25kcyA9IDMuOTYgTUIvc2VjDQoNCi9kZXYvaGRjOg0KIFRpbWlu
ZyBidWZmZXItY2FjaGUgcmVhZHM6ICAgNjQgTUIgaW4gIDAuNTQgc2Vjb25k
cyA9MTE4LjUyIE1CL3NlYw0KIFRpbWluZyBidWZmZXJlZCBkaXNrIHJlYWRz
OiAgMzIgTUIgaW4gMTcuMTYgc2Vjb25kcyA9IDEuODYgTUIvc2VjDQoNClNp
cml1czovcHJvYy9idXMvcGNpLzAwIyBoZXhkdW1wIDA3LjENCjAwMDAwMDAg
ODA4NiA3MTExIDAwMDUgMDI4MCA4MDAxIDAxMDEgNDAwMCAwMDAwDQowMDAw
MDEwIDAwMDAgMDAwMCAwMDAwIDAwMDAgMDAwMCAwMDAwIDAwMDAgMDAwMA0K
MDAwMDAyMCBmZmExIDAwMDAgMDAwMCAwMDAwIDAwMDAgMDAwMCAwMDAwIDAw
MDANCjAwMDAwMzAgMDAwMCAwMDAwIDAwMDAgMDAwMCAwMDAwIDAwMDAgMDAw
MCAwMDAwDQowMDAwMDQwIGUzNzcgZTMwNyAwMDBiIDAwMDAgMDAwMSAwMDAy
IDAwMDAgMDAwMA0KMDAwMDA1MCAwMDAwIDAwMDAgMDAwMCAwMDAwIDAwMDAg
MDAwMCAwMDAwIDAwMDANCg0K
--998314481-293085274-928512141=:5089
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="ide.2.3.4.patch"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.3.96.990604110221.5089B@Astro.Dyer.Vanderbilt.Edu>
Content-Description:

ZGlmZiAtdXJOIGxpbnV4LTIuMy40LXByaXN0aW5lL2RyaXZlcnMvYmxvY2sv
Y3k4MmM2OTMuYyBsaW51eC9kcml2ZXJzL2Jsb2NrL2N5ODJjNjkzLmMNCi0t
LSBsaW51eC0yLjMuNC1wcmlzdGluZS9kcml2ZXJzL2Jsb2NrL2N5ODJjNjkz
LmMJRnJpIE1heSAyOCAxMTozNDo0MSAxOTk5DQorKysgbGludXgvZHJpdmVy
cy9ibG9jay9jeTgyYzY5My5jCVR1ZSBKdW4gIDEgMTI6MzA6MDAgMTk5OQ0K
QEAgLTQyMyw3ICs0MjMsOCBAQA0KIF9faW5pdGZ1bmModm9pZCBpZGVfaW5p
dF9jeTgyYzY5MyhpZGVfaHdpZl90ICpod2lmKSkNCiB7DQogCWh3aWYtPmNo
aXBzZXQgPSBpZGVfY3k4MmM2OTM7DQotCWh3aWYtPmRtYXByb2MgPSAmY3k4
MmM2OTNfZG1hcHJvYzsNCisJaWYgKGh3aWYtPmRtYV9iYXNlKQ0KKwkJaHdp
Zi0+ZG1hcHJvYyA9ICZjeTgyYzY5M19kbWFwcm9jOw0KIAlod2lmLT50dW5l
cHJvYyA9ICZjeTgyYzY5M190dW5lX2RyaXZlOw0KIA0KIAlpbml0X2N5ODJj
NjkzX2NoaXAoaHdpZi0+cGNpX2Rldik7DQpkaWZmIC11ck4gbGludXgtMi4z
LjQtcHJpc3RpbmUvZHJpdmVycy9ibG9jay9sbF9yd19ibGsuYyBsaW51eC9k
cml2ZXJzL2Jsb2NrL2xsX3J3X2Jsay5jDQotLS0gbGludXgtMi4zLjQtcHJp
c3RpbmUvZHJpdmVycy9ibG9jay9sbF9yd19ibGsuYwlUdWUgTWF5IDExIDE2
OjM3OjQwIDE5OTkNCisrKyBsaW51eC9kcml2ZXJzL2Jsb2NrL2xsX3J3X2Js
ay5jCVR1ZSBKdW4gIDEgMTI6MzA6MDAgMTk5OQ0KQEAgLTQ3MSw2ICs0NzEs
OCBAQA0KIAkgICAgIGNhc2UgSURFM19NQUpPUjoNCiAJICAgICBjYXNlIElE
RTRfTUFKT1I6DQogCSAgICAgY2FzZSBJREU1X01BSk9SOg0KKwkgICAgIGNh
c2UgSURFNl9NQUpPUjoNCisJICAgICBjYXNlIElERTdfTUFKT1I6DQogCSAg
ICAgY2FzZSBBQ1NJX01BSk9SOg0KIAkgICAgIGNhc2UgTUZNX0FDT1JOX01B
Sk9SOg0KIAkJLyoNCmRpZmYgLXVyTiBsaW51eC0yLjMuNC1wcmlzdGluZS9k
cml2ZXJzL2Jsb2NrL25zODc0MTUuYyBsaW51eC9kcml2ZXJzL2Jsb2NrL25z
ODc0MTUuYw0KLS0tIGxpbnV4LTIuMy40LXByaXN0aW5lL2RyaXZlcnMvYmxv
Y2svbnM4NzQxNS5jCVNhdCBNYXkgMjkgMTM6MDk6MDQgMTk5OQ0KKysrIGxp
bnV4L2RyaXZlcnMvYmxvY2svbnM4NzQxNS5jCVR1ZSBKdW4gIDEgMTI6MzA6
MDAgMTk5OQ0KQEAgLTE2NiwxMyArMTY2LDE1IEBADQogI2VuZGlmDQogCX0N
CiANCi0Jb3V0YigweDYwLCBod2lmLT5kbWFfYmFzZSArIDIpOw0KKwlpZiAo
aHdpZi0+ZG1hX2Jhc2UpDQorCQlvdXRiKDB4NjAsIGh3aWYtPmRtYV9iYXNl
ICsgMik7DQogDQogCWlmICghdXNpbmdfaW50YSkNCiAJCWh3aWYtPmlycSA9
IGh3aWYtPmNoYW5uZWwgPyAxNSA6IDE0OwkvKiBsZWdhY3kgbW9kZSAqLw0K
IAllbHNlIGlmICghaHdpZi0+aXJxICYmIGh3aWYtPm1hdGUgJiYgaHdpZi0+
bWF0ZS0+aXJxKQ0KIAkJaHdpZi0+aXJxID0gaHdpZi0+bWF0ZS0+aXJxOwkv
KiBzaGFyZSBJUlEgd2l0aCBtYXRlICovDQogDQotCWh3aWYtPmRtYXByb2Mg
PSAmbnM4NzQxNV9kbWFwcm9jOw0KKwlpZiAoaHdpZi0+ZG1hX2Jhc2UpDQor
CQlod2lmLT5kbWFwcm9jID0gJm5zODc0MTVfZG1hcHJvYzsNCiAJaHdpZi0+
c2VsZWN0cHJvYyA9ICZuczg3NDE1X3NlbGVjdHByb2M7DQogfQ0KZGlmZiAt
dXJOIGxpbnV4LTIuMy40LXByaXN0aW5lL2RyaXZlcnMvYmxvY2svcGlpeC5j
IGxpbnV4L2RyaXZlcnMvYmxvY2svcGlpeC5jDQotLS0gbGludXgtMi4zLjQt
cHJpc3RpbmUvZHJpdmVycy9ibG9jay9waWl4LmMJVGh1IE1heSAxMyAxMzow
NDo1NCAxOTk5DQorKysgbGludXgvZHJpdmVycy9ibG9jay9waWl4LmMJVHVl
IEp1biAgMSAxMjozMDowMCAxOTk5DQpAQCAtMSw1ICsxLDUgQEANCiAvKg0K
LSAqIGxpbnV4L2RyaXZlcnMvYmxvY2svcGlpeC5jCVZlcnNpb24gMC4yMglN
YXJjaCAyOSwgMTk5OQ0KKyAqIGxpbnV4L2RyaXZlcnMvYmxvY2svcGlpeC5j
CVZlcnNpb24gMC4yMwlNYXkgMjksIDE5OTkNCiAgKg0KICAqICBDb3B5cmln
aHQgKEMpIDE5OTgtMTk5OSBBbmRyemVqIEtyenlzenRvZm93aWN6LCBBdXRo
b3IgYW5kIE1haW50YWluZXINCiAgKiAgQ29weXJpZ2h0IChDKSAxOTk4LTE5
OTkgQW5kcmUgSGVkcmljaywgQXV0aG9yIGFuZCBNYWludGFpbmVyDQpAQCAt
MTMsMTAgKzEzLDEwIEBADQogICogICAgICAgICAgICAgICAgIDQxDQogICog
ICAgICAgICAgICAgICAgIDQzDQogICoNCi0gKiB8IFBJTyAwICAgICAgIHwg
YzAgfCA4MCB8IDAgfA0KLSAqIHwgUElPIDIgfCBTVzIgfCBkMCB8IDkwIHwg
NCB8DQotICogfCBQSU8gMyB8IE1XMSB8IGUxIHwgYTEgfCA5IHwNCi0gKiB8
IFBJTyA0IHwgTVcyIHwgZTMgfCBhMyB8IGIgfA0KKyAqIHwgUElPIDAgICAg
ICAgfCBjMCB8IDgwIHwgMCB8IAlwaWl4X3R1bmVfZHJpdmUoZHJpdmUsIDAp
Ow0KKyAqIHwgUElPIDIgfCBTVzIgfCBkMCB8IDkwIHwgNCB8IAlwaWl4X3R1
bmVfZHJpdmUoZHJpdmUsIDIpOw0KKyAqIHwgUElPIDMgfCBNVzEgfCBlMSB8
IGExIHwgOSB8IAlwaWl4X3R1bmVfZHJpdmUoZHJpdmUsIDMpOw0KKyAqIHwg
UElPIDQgfCBNVzIgfCBlMyB8IGEzIHwgYiB8IAlwaWl4X3R1bmVfZHJpdmUo
ZHJpdmUsIDQpOw0KICAqIA0KICAqIHNpdHJlID0gd29yZDQwICYgMHg0MDAw
OyBwcmltYXJ5DQogICogc2l0cmUgPSB3b3JkNDIgJiAweDQwMDA7IHNlY29u
ZGFyeQ0KQEAgLTU4LDEwICs1OCw0MCBAQA0KIA0KICNpbmNsdWRlICJpZGVf
bW9kZXMuaCINCiANCi0jZGVmaW5lIFBJSVhfRE1BX1BST0MJCQkwDQotI2Rl
ZmluZSBQSUlYX0RFQlVHX1NFVF9YRkVSCQkwDQogI2RlZmluZSBQSUlYX0RF
QlVHX0RSSVZFX0lORk8JCTANCiANCitleHRlcm4gY2hhciAqaWRlX3hmZXJf
dmVyYm9zZSAoYnl0ZSB4ZmVyX3JhdGUpOw0KKw0KKy8qDQorICoNCisgKi8N
CitzdGF0aWMgYnl0ZSBwaWl4X2RtYV8yX3BpbyAoYnl0ZSB4ZmVyX3JhdGUp
IHsNCisJc3dpdGNoKHhmZXJfcmF0ZSkgew0KKwkJY2FzZSBYRkVSX1VETUFf
NDoNCisJCWNhc2UgWEZFUl9VRE1BXzM6DQorCQljYXNlIFhGRVJfVURNQV8y
Og0KKwkJY2FzZSBYRkVSX1VETUFfMToNCisJCWNhc2UgWEZFUl9VRE1BXzA6
DQorCQljYXNlIFhGRVJfTVdfRE1BXzI6DQorCQljYXNlIFhGRVJfUElPXzQ6
DQorCQkJcmV0dXJuIDQ7DQorCQljYXNlIFhGRVJfTVdfRE1BXzE6DQorCQlj
YXNlIFhGRVJfUElPXzM6DQorCQkJcmV0dXJuIDM7DQorCQljYXNlIFhGRVJf
U1dfRE1BXzI6DQorCQljYXNlIFhGRVJfUElPXzI6DQorCQkJcmV0dXJuIDI7
DQorCQljYXNlIFhGRVJfTVdfRE1BXzA6DQorCQljYXNlIFhGRVJfU1dfRE1B
XzE6DQorCQljYXNlIFhGRVJfU1dfRE1BXzA6DQorCQljYXNlIFhGRVJfUElP
XzE6DQorCQljYXNlIFhGRVJfUElPXzA6DQorCQljYXNlIFhGRVJfUElPX1NM
T1c6DQorCQlkZWZhdWx0Og0KKwkJCXJldHVybiAwOw0KKwl9DQorfQ0KKw0K
IC8qDQogICogIEJhc2VkIG9uIHNldHRpbmdzIGRvbmUgYnkgQU1JIEJJT1MN
CiAgKiAgKG1pZ2h0IGJlIHVzZWZ1bGwgaWYgZHJpdmUgaXMgbm90IHJlZ2lz
dGVyZWQgaW4gQ01PUyBmb3IgYW55IHJlYXNvbikuDQpAQCAtNzAsMTkgKzEw
MCwyMiBAQA0KIHsNCiAJdW5zaWduZWQgbG9uZyBmbGFnczsNCiAJdTE2IG1h
c3Rlcl9kYXRhOw0KLQlieXRlIHNsYXZlX2RhdGEsIHNwZWVkOw0KLQlpbnQg
ZXJyOw0KLQlpbnQgaXNfc2xhdmUgPSAoJkhXSUYoZHJpdmUpLT5kcml2ZXNb
MV0gPT0gZHJpdmUpOw0KLQlpbnQgbWFzdGVyX3BvcnQgPSBIV0lGKGRyaXZl
KS0+aW5kZXggPyAweDQyIDogMHg0MDsNCi0JaW50IHNsYXZlX3BvcnQgPSAw
eDQ0Ow0KLQkJCSAgIC8qIElTUCAgUlRDICovDQotCWJ5dGUgdGltaW5nc1td
WzJdID0geyB7IDAsIDAgfSwNCi0JCQkgICAgICB7IDAsIDAgfSwNCi0JCQkg
ICAgICB7IDEsIDAgfSwNCi0JCQkgICAgICB7IDIsIDEgfSwNCi0JCQkgICAg
ICB7IDIsIDMgfSwgfTsNCi0JCQkgICAgICANCisJYnl0ZSBzbGF2ZV9kYXRh
Ow0KKwlpbnQgaXNfc2xhdmUJCT0gKCZIV0lGKGRyaXZlKS0+ZHJpdmVzWzFd
ID09IGRyaXZlKTsNCisJaW50IG1hc3Rlcl9wb3J0CQk9IEhXSUYoZHJpdmUp
LT5pbmRleCA/IDB4NDIgOiAweDQwOw0KKwlpbnQgc2xhdmVfcG9ydAkJPSAw
eDQ0Ow0KKwkJCQkgLyogSVNQICBSVEMgKi8NCisJYnl0ZSB0aW1pbmdzW11b
Ml0JPSB7IHsgMCwgMCB9LA0KKwkJCQkgICAgeyAwLCAwIH0sDQorCQkJCSAg
ICB7IDEsIDAgfSwNCisJCQkJICAgIHsgMiwgMSB9LA0KKwkJCQkgICAgeyAy
LCAzIH0sIH07DQorDQorI2lmIDENCisJcGlvID0gaWRlX2dldF9iZXN0X3Bp
b19tb2RlKGRyaXZlLCBwaW8sIDUsIE5VTEwpOw0KKyNlbHNlDQogCXBpbyA9
IGlkZV9nZXRfYmVzdF9waW9fbW9kZShkcml2ZSwgcGlvLCA0LCBOVUxMKTsN
CisjZW5kaWYNCiAJcGNpX3JlYWRfY29uZmlnX3dvcmQoSFdJRihkcml2ZSkt
PnBjaV9kZXYsIG1hc3Rlcl9wb3J0LCAmbWFzdGVyX2RhdGEpOw0KIAlpZiAo
aXNfc2xhdmUpIHsNCiAJCW1hc3Rlcl9kYXRhID0gbWFzdGVyX2RhdGEgfCAw
eDQwMDA7DQpAQCAtMTA3LDI4ICsxNDAsMTUgQEANCiAJaWYgKGlzX3NsYXZl
KQ0KIAkJcGNpX3dyaXRlX2NvbmZpZ19ieXRlKEhXSUYoZHJpdmUpLT5wY2lf
ZGV2LCBzbGF2ZV9wb3J0LCBzbGF2ZV9kYXRhKTsNCiAJcmVzdG9yZV9mbGFn
cyhmbGFncyk7DQotDQotCXN3aXRjaChwaW8pIHsNCi0JCWNhc2UgNDogc3Bl
ZWQgPSBYRkVSX1BJT180O2JyZWFrOw0KLQkJY2FzZSAzOiBzcGVlZCA9IFhG
RVJfUElPXzM7YnJlYWs7DQotCQljYXNlIDI6IHNwZWVkID0gWEZFUl9QSU9f
MjticmVhazsNCi0JCWNhc2UgMTogc3BlZWQgPSBYRkVSX1BJT18xO2JyZWFr
Ow0KLQkJZGVmYXVsdDoNCi0JCQlzcGVlZCA9ICghZHJpdmUtPmlkLT50UElP
KSA/IFhGRVJfUElPXzAgOiBYRkVSX1BJT19TTE9XOw0KLQkJCWJyZWFrOw0K
LQl9DQotDQotCWVyciA9IGlkZV93YWl0X2NtZChkcml2ZSwgV0lOX1NFVEZF
QVRVUkVTLCBzcGVlZCwgU0VURkVBVFVSRVNfWEZFUiwgMCwgTlVMTCk7DQog
fQ0KIA0KLWV4dGVybiBjaGFyICppZGVfeGZlcl92ZXJib3NlIChieXRlIHhm
ZXJfcmF0ZSk7DQotDQogc3RhdGljIGludCBwaWl4X2NvbmZpZ19kcml2ZV9m
b3JfZG1hKGlkZV9kcml2ZV90ICpkcml2ZSwgaW50IHVsdHJhKQ0KIHsNCiAJ
c3RydWN0IGhkX2RyaXZlaWQgKmlkID0gZHJpdmUtPmlkOw0KIAlpZGVfaHdp
Zl90ICpod2lmID0gSFdJRihkcml2ZSk7DQogCXN0cnVjdCBwY2lfZGV2ICpk
ZXYgPSBod2lmLT5wY2lfZGV2Ow0KIA0KKwl1bnNpZ25lZCBsb25nCQlmbGFn
czsNCiAJaW50CQkJc2l0cmU7DQogCXNob3J0CQkJcmVnNDA0MiwgcmVnNDQs
IHJlZzQ4LCByZWc0YTsNCiAJYnl0ZQkJCXNwZWVkOw0KQEAgLTE0NCwyMyAr
MTY0LDIyIEBADQogCXBjaV9yZWFkX2NvbmZpZ193b3JkKGRldiwgMHg0OCwg
JnJlZzQ4KTsNCiAJcGNpX3JlYWRfY29uZmlnX3dvcmQoZGV2LCAweDRhLCAm
cmVnNGEpOw0KIA0KLSNpZiBQSUlYX0RFQlVHX1NFVF9YRkVSDQotCXByaW50
aygiUElJWCVzOiBETUEgZW5hYmxlICIsDQotCQkoZGV2LT5kZXZpY2UgPT0g
UENJX0RFVklDRV9JRF9JTlRFTF84MjM3MUZCXzApID8gImEiIDoNCi0JCShk
ZXYtPmRldmljZSA9PSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyMzcxRkJfMSkg
PyAiYiIgOg0KLQkJKGRldi0+ZGV2aWNlID09IFBDSV9ERVZJQ0VfSURfSU5U
RUxfODIzNzFTQl8xKSA/ICIzIiA6DQotCQkoZGV2LT5kZXZpY2UgPT0gUENJ
X0RFVklDRV9JRF9JTlRFTF84MjM3MUFCKSAgID8gIjQiIDogIiBVTktOT1dO
IiApOw0KLSNlbmRpZiAvKiBQSUlYX0RFQlVHX1NFVF9YRkVSICovDQorCXNh
dmVfZmxhZ3MoZmxhZ3MpOw0KKwljbGkoKTsNCiANCiAJaWYgKGlkLT5kbWFf
dWx0cmEgJiYgKHVsdHJhKSkgew0KIAkJaWYgKCEocmVnNDggJiB1X2ZsYWcp
KSB7DQogCQkJcGNpX3dyaXRlX2NvbmZpZ193b3JkKGRldiwgMHg0OCwgcmVn
NDh8dV9mbGFnKTsNCiAJCX0NCiAJfSBlbHNlIHsNCi0JCXBjaV93cml0ZV9j
b25maWdfd29yZChkZXYsIDB4NDgsIHJlZzQ4ICYgfnVfZmxhZyk7DQorCQlp
ZiAocmVnNDggJiB1X2ZsYWcpIHsNCisJCQlwY2lfd3JpdGVfY29uZmlnX3dv
cmQoZGV2LCAweDQ4LCByZWc0OCAmIH51X2ZsYWcpOw0KKwkJfQ0KIAl9DQog
DQogCWlmICgoaWQtPmRtYV91bHRyYSAmIDB4MDAwNCkgJiYgKHVsdHJhKSkg
ew0KKwkJZHJpdmUtPmlkLT5kbWFfbXdvcmQgJj0gfjB4MEYwMDsNCisJCWRy
aXZlLT5pZC0+ZG1hXzF3b3JkICY9IH4weDBGMDA7DQogCQlpZiAoISgoaWQt
PmRtYV91bHRyYSA+PiA4KSAmIDQpKSB7DQogCQkJZHJpdmUtPmlkLT5kbWFf
dWx0cmEgJj0gfjB4MEYwMDsNCiAJCQlkcml2ZS0+aWQtPmRtYV91bHRyYSB8
PSAweDA0MDQ7DQpAQCAtMTcxLDYgKzE5MCw4IEBADQogCQl9DQogCQlzcGVl
ZCA9IFhGRVJfVURNQV8yOw0KIAl9IGVsc2UgaWYgKChpZC0+ZG1hX3VsdHJh
ICYgMHgwMDAyKSAmJiAodWx0cmEpKSB7DQorCQlkcml2ZS0+aWQtPmRtYV9t
d29yZCAmPSB+MHgwRjAwOw0KKwkJZHJpdmUtPmlkLT5kbWFfMXdvcmQgJj0g
fjB4MEYwMDsNCiAJCWlmICghKChpZC0+ZG1hX3VsdHJhID4+IDgpICYgMikp
IHsNCiAJCQlkcml2ZS0+aWQtPmRtYV91bHRyYSAmPSB+MHgwRjAwOw0KIAkJ
CWRyaXZlLT5pZC0+ZG1hX3VsdHJhIHw9IDB4MDIwMjsNCkBAIC0xODIsNiAr
MjAzLDggQEANCiAJCX0NCiAJCXNwZWVkID0gWEZFUl9VRE1BXzE7DQogCX0g
ZWxzZSBpZiAoKGlkLT5kbWFfdWx0cmEgJiAweDAwMDEpICYmICh1bHRyYSkp
IHsNCisJCWRyaXZlLT5pZC0+ZG1hX213b3JkICY9IH4weDBGMDA7DQorCQlk
cml2ZS0+aWQtPmRtYV8xd29yZCAmPSB+MHgwRjAwOw0KIAkJaWYgKCEoKGlk
LT5kbWFfdWx0cmEgPj4gOCkgJiAxKSkgew0KIAkJCWRyaXZlLT5pZC0+ZG1h
X3VsdHJhICY9IH4weDBGMDA7DQogCQkJZHJpdmUtPmlkLT5kbWFfdWx0cmEg
fD0gMHgwMTAxOw0KQEAgLTE5MywzMyArMjE2LDQ2IEBADQogCQl9DQogCQlz
cGVlZCA9IFhGRVJfVURNQV8wOw0KIAl9IGVsc2UgaWYgKGlkLT5kbWFfbXdv
cmQgJiAweDAwMDQpIHsNCi0JCWRyaXZlLT5pZC0+ZG1hX3VsdHJhICY9IH4w
eDBGMEY7DQotCQlwY2lfd3JpdGVfY29uZmlnX3dvcmQoZGV2LCAweDRhLCBy
ZWc0YSAmIH5hX3NwZWVkKTsNCisJCWlmIChyZWc0YSAmIGFfc3BlZWQpDQor
CQkJcGNpX3dyaXRlX2NvbmZpZ193b3JkKGRldiwgMHg0YSwgcmVnNGEgJiB+
YV9zcGVlZCk7DQorCQlkcml2ZS0+aWQtPmRtYV91bHRyYSAmPSB+MHgwRjAw
Ow0KKwkJZHJpdmUtPmlkLT5kbWFfMXdvcmQgJj0gfjB4MEYwMDsNCiAJCWlm
ICghKChpZC0+ZG1hX213b3JkID4+IDgpICYgNCkpIHsNCiAJCQlkcml2ZS0+
aWQtPmRtYV9td29yZCAmPSB+MHgwRjAwOw0KIAkJCWRyaXZlLT5pZC0+ZG1h
X213b3JkIHw9IDB4MDQwNDsNCiAJCX0NCiAJCXNwZWVkID0gWEZFUl9NV19E
TUFfMjsNCiAJfSBlbHNlIGlmIChpZC0+ZG1hX213b3JkICYgMHgwMDAyKSB7
DQotCQlkcml2ZS0+aWQtPmRtYV91bHRyYSAmPSB+MHgwRjBGOw0KLQkJcGNp
X3dyaXRlX2NvbmZpZ193b3JkKGRldiwgMHg0YSwgcmVnNGEgJiB+YV9zcGVl
ZCk7DQorCQlpZiAocmVnNGEgJiBhX3NwZWVkKQ0KKwkJCXBjaV93cml0ZV9j
b25maWdfd29yZChkZXYsIDB4NGEsIHJlZzRhICYgfmFfc3BlZWQpOw0KKwkJ
ZHJpdmUtPmlkLT5kbWFfdWx0cmEgJj0gfjB4MEYwMDsNCisJCWRyaXZlLT5p
ZC0+ZG1hXzF3b3JkICY9IH4weDBGMDA7DQogCQlpZiAoISgoaWQtPmRtYV9t
d29yZCA+PiA4KSAmIDIpKSB7DQogCQkJZHJpdmUtPmlkLT5kbWFfbXdvcmQg
Jj0gfjB4MEYwMDsNCiAJCQlkcml2ZS0+aWQtPmRtYV9td29yZCB8PSAweDAy
MDI7DQogCQl9DQogCQlzcGVlZCA9IFhGRVJfTVdfRE1BXzE7DQogCX0gZWxz
ZSBpZiAoaWQtPmRtYV8xd29yZCAmIDB4MDAwNCkgew0KLQkJZHJpdmUtPmlk
LT5kbWFfdWx0cmEgJj0gfjB4MEYwRjsNCi0JCXBjaV93cml0ZV9jb25maWdf
d29yZChkZXYsIDB4NGEsIHJlZzRhICYgfmFfc3BlZWQpOw0KKwkJaWYgKHJl
ZzRhICYgYV9zcGVlZCkNCisJCQlwY2lfd3JpdGVfY29uZmlnX3dvcmQoZGV2
LCAweDRhLCByZWc0YSAmIH5hX3NwZWVkKTsNCisJCWRyaXZlLT5pZC0+ZG1h
X3VsdHJhICY9IH4weDBGMDA7DQorCQlkcml2ZS0+aWQtPmRtYV9td29yZCAm
PSB+MHgwRjAwOw0KIAkJaWYgKCEoKGlkLT5kbWFfMXdvcmQgPj4gOCkgJiA0
KSkgew0KIAkJCWRyaXZlLT5pZC0+ZG1hXzF3b3JkICY9IH4weDBGMDA7DQog
CQkJZHJpdmUtPmlkLT5kbWFfMXdvcmQgfD0gMHgwNDA0Ow0KIAkJfQ0KIAkJ
c3BlZWQgPSBYRkVSX1NXX0RNQV8yOw0KICAgICAgICAgfSBlbHNlIHsNCi0J
CXJldHVybiBpZGVfZG1hX29mZl9xdWlldGx5Ow0KKyNpZiAwDQorCQlzcGVl
ZCA9IFhGRVJfUElPXzA7DQorI2Vsc2UNCisJCXNwZWVkID0gWEZFUl9QSU9f
MCArIGlkZV9nZXRfYmVzdF9waW9fbW9kZShkcml2ZSwgMjU1LCA1LCBOVUxM
KTsNCisjZW5kaWYNCiAJfQ0KIA0KKwlyZXN0b3JlX2ZsYWdzKGZsYWdzKTsN
CisJcGlpeF90dW5lX2RyaXZlKGRyaXZlLCBwaWl4X2RtYV8yX3BpbyhzcGVl
ZCkpOw0KKw0KIAkodm9pZCkgaWRlX3dhaXRfY21kKGRyaXZlLCBXSU5fU0VU
RkVBVFVSRVMsIHNwZWVkLCBTRVRGRUFUVVJFU19YRkVSLCAwLCBOVUxMKTsN
CiANCiAjaWYgUElJWF9ERUJVR19EUklWRV9JTkZPDQpAQCAtMjQxLDcgKzI3
Nyw3IEBADQogCWludCB1bHRyYSA9IChIV0lGKGRyaXZlKS0+cGNpX2Rldi0+
ZGV2aWNlID09IFBDSV9ERVZJQ0VfSURfSU5URUxfODIzNzFBQikgPyAxIDog
MDsNCiAJc3dpdGNoIChmdW5jKSB7DQogCQljYXNlIGlkZV9kbWFfY2hlY2s6
DQotCQkJcmV0dXJuIHBpaXhfY29uZmlnX2RyaXZlX2Zvcl9kbWEoZHJpdmUs
IHVsdHJhKTsNCisJCQkgcmV0dXJuIGlkZV9kbWFwcm9jKChpZGVfZG1hX2Fj
dGlvbl90KSBwaWl4X2NvbmZpZ19kcml2ZV9mb3JfZG1hKGRyaXZlLCB1bHRy
YSksIGRyaXZlKTsNCiAJCWRlZmF1bHQgOg0KIAkJCWJyZWFrOw0KIAl9DQpA
QCAtMjUyLDcgKzI4OCw3IEBADQogdm9pZCBpZGVfaW5pdF9waWl4IChpZGVf
aHdpZl90ICpod2lmKQ0KIHsNCiAJaHdpZi0+dHVuZXByb2MgPSAmcGlpeF90
dW5lX2RyaXZlOw0KLSNpZiBQSUlYX0RNQV9QUk9DDQotCWh3aWYtPmRtYXBy
b2MgPSAmcGlpeF9kbWFwcm9jOw0KLSNlbmRpZiAvKiBQSUlYX0RNQV9QUk9D
ICovDQorCWlmIChod2lmLT5kbWFfYmFzZSkgew0KKwkJaHdpZi0+ZG1hcHJv
YyA9ICZwaWl4X2RtYXByb2M7DQorCX0NCiB9DQo=
--998314481-293085274-928512141=:5089--

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/