[7681] in linux-scsi channel archive

home help back first fref pref prev next nref lref last post

2.3.32-pre3 status.

daemon@ATHENA.MIT.EDU (Eric Youngdale)
Mon Dec 13 09:50:47 1999

Date:   Mon, 13 Dec 1999 09:46:46 -0500 (EST)
From: Eric Youngdale <eric@andante.org>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>,
	Douglas Gilbert <dgilbert@interlog.com>, linux-scsi@vger.rutgers.edu
Message-ID: <Pine.LNX.4.10.9912130928020.25848-200000@gwyn.tux.org>
MIME-Version: 1.0
Content-Type: MULTIPART/MIXED; BOUNDARY="1624180858-580505493-945096406=:25848"

  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.

--1624180858-580505493-945096406=:25848
Content-Type: TEXT/PLAIN; charset=US-ASCII


	For those of you on linux-scsi, the 2.3.32-pre3 does contain the
new SCSI queueing code.  I have no illusions about this being bug-free,
but I believe that the most serious problems are resolved.  Please be
patient as we iron out the remaining difficulties.  FWIW, I have been
running this kernel on my development machine for a while now.

	There are a couple of known issues you might want to watch out
for:

	1) Doug Gilbert is having trouble with deadlocks if he uses sg and
sd at the same time (both pointing to the same device).

	2) I have seen strange failures in the new error handling code
whereby the eh_wait field of the host structure gets zeroed by someone as
yet unidentified.  The only cases where I have seen this happen are where
I am trying to read a cdrom with many bad sectors on it, and at one point
after having cranked on the disc for a while, the timeout function is
unable to wake up the error handler thread (because the eh_wait semaphore
pointer got nuked).

	3) The bare 2.3.32-pre3 does have a bug that comes up if you ever
do get a MEDIUM_ERROR.  The scatter-gather tables are not regenerated when
we go back to attempt to read the sectors past the bad sector.  This bug
is fixed in the enclosed patchkit.

	I am enclosing some diffs against this release.  These contain a
bugfix which I mentioned above. I also got around to cleaning up the
locking with the new scsi error handling code - I convinced myself that
there was no reason to be so aggressive about holding io_request_lock
while error recovery is underway (the few races that did exist have been
dealt with, I believe).  I can elaborate if anyone has any questions.

-Eric

"The world was a library, and its books were the stones, leaves,
 brooks, grass, and the birds of the earth.   We learned to do what only
 a student of nature ever learns, and that was to feel beauty."
			Chief Luther Standing Bear - Teton Sioux

--1624180858-580505493-945096406=:25848
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=eydiffs
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.10.9912130946460.25848@gwyn.tux.org>
Content-Description: Diffs against 2.3.32-pre3
Content-Disposition: attachment; filename=eydiffs

ZGlmZiAtdSAtciAuL2RyaXZlcnMvc2NzaS9haGExNTQyLmMgLi4vY2hhbmdl
ZC9kcml2ZXJzL3Njc2kvYWhhMTU0Mi5jDQotLS0gLi9kcml2ZXJzL3Njc2kv
YWhhMTU0Mi5jCU1vbiBEZWMgMTMgMDk6MjM6NDYgMTk5OQ0KKysrIC4uL2No
YW5nZWQvZHJpdmVycy9zY3NpL2FoYTE1NDIuYwlTdW4gRGVjIDEyIDAxOjIz
OjMxIDE5OTkNCkBAIC00NiwxMSArNDYsMzMgQEANCiANCiAjZGVmaW5lIFND
U0lfUEEoYWRkcmVzcykgdmlydF90b19idXMoYWRkcmVzcykNCiANCi0jZGVm
aW5lIEJBRF9ETUEobXNnLCBhZGRyZXNzLCBsZW5ndGgpIFwNCi0gIHsgXA0K
LSAgICBwcmludGsoS0VSTl9DUklUICIlcyBhZGRyZXNzICVwIGxlbmd0aCAl
ZFxuIiwgbXNnLCBhZGRyZXNzLCBsZW5ndGgpOyBcDQotICAgIHBhbmljKCJC
dWZmZXIgYXQgcGh5c2ljYWwgYWRkcmVzcyA+IDE2TWIgdXNlZCBmb3IgYWhh
MTU0MiIpOyBcDQotICB9DQorc3RhdGljIHZvaWQgQkFEX0RNQSh2b2lkICog
YWRkcmVzcywgdW5zaWduZWQgaW50IGxlbmd0aCkNCit7DQorICBwcmludGso
S0VSTl9DUklUICJidWYgdmFkZHJlc3MgJXAgcGFkZHJlc3MgMHglbHggbGVu
Z3RoICVkXG4iLCANCisJIGFkZHJlc3MsIA0KKwkgU0NTSV9QQShhZGRyZXNz
KSwNCisJIGxlbmd0aCk7DQorICBwYW5pYygiQnVmZmVyIGF0IHBoeXNpY2Fs
IGFkZHJlc3MgPiAxNk1iIHVzZWQgZm9yIGFoYTE1NDIiKTsNCit9DQorDQor
c3RhdGljIHZvaWQgQkFEX1NHX0RNQShTY3NpX0NtbmQgKiBTQ3BudCwgDQor
CQkgICAgICAgc3RydWN0IHNjYXR0ZXJsaXN0ICogc2dwbnQsIA0KKwkJICAg
ICAgIGludCBuc2VnLCANCisJCSAgICAgICBpbnQgYmFkc2VnKQ0KK3sNCisg
IHByaW50ayhLRVJOX0NSSVQgInNncG50WyVkOiVkXSBhZGRyICVwLzB4JWx4
IGFsdCAlcC8weCVseCBsZW5ndGggJWRcbiIsIA0KKwkgYmFkc2VnLCBuc2Vn
LA0KKwkgc2dwbnRbYmFkc2VnXS5hZGRyZXNzLCANCisJIFNDU0lfUEEoc2dw
bnRbYmFkc2VnXS5hZGRyZXNzKSwNCisJIHNncG50W2JhZHNlZ10uYWx0X2Fk
ZHJlc3MsIA0KKwkgc2dwbnRbYmFkc2VnXS5hbHRfYWRkcmVzcyA/IFNDU0lf
UEEoc2dwbnRbYmFkc2VnXS5hbHRfYWRkcmVzcykgOiAwLA0KKwkgc2dwbnRb
YmFkc2VnXS5sZW5ndGgpOw0KKw0KKyAgLyoNCisgICAqIE5vdCBzYWZlIHRv
IGNvbnRpbnVlLg0KKyAgICovDQorICBwYW5pYygiQnVmZmVyIGF0IHBoeXNp
Y2FsIGFkZHJlc3MgPiAxNk1iIHVzZWQgZm9yIGFoYTE1NDIiKTsNCit9DQog
DQogI2luY2x1ZGU8bGludXgvc3RhdC5oPg0KIA0KQEAgLTY1NSw3ICs2Nzcs
NyBAQA0KIAl9Ow0KIAlhbnkyc2NzaShjcHRyW2ldLmRhdGFwdHIsIFNDU0lf
UEEoc2dwbnRbaV0uYWRkcmVzcykpOw0KIAlpZihTQ1NJX1BBKHNncG50W2ld
LmFkZHJlc3Mrc2dwbnRbaV0ubGVuZ3RoLTEpID4gSVNBX0RNQV9USFJFU0hP
TEQpDQotCSAgQkFEX0RNQSgic2dwbnQiLCBzZ3BudFtpXS5hZGRyZXNzLCBz
Z3BudFtpXS5sZW5ndGgpOw0KKwkgIEJBRF9TR19ETUEoU0NwbnQsIHNncG50
LCBTQ3BudC0+dXNlX3NnLCBpKTsNCiAJYW55MnNjc2koY3B0cltpXS5kYXRh
bGVuLCBzZ3BudFtpXS5sZW5ndGgpOw0KICAgICAgIH07DQogICAgICAgYW55
MnNjc2koY2NiW21ib10uZGF0YWxlbiwgU0NwbnQtPnVzZV9zZyAqIHNpemVv
ZihzdHJ1Y3QgY2hhaW4pKTsNCkBAIC02NzAsNyArNjkyLDcgQEANCiAgICAg
ICBTQ3BudC0+aG9zdF9zY3JpYmJsZSA9IE5VTEw7DQogICAgICAgYW55MnNj
c2koY2NiW21ib10uZGF0YWxlbiwgYnVmZmxlbik7DQogICAgICAgaWYoYnVm
ZiAmJiBTQ1NJX1BBKGJ1ZmYrYnVmZmxlbi0xKSA+IElTQV9ETUFfVEhSRVNI
T0xEKQ0KLSAgICAgICAgQkFEX0RNQSgiYnVmZiIsIGJ1ZmYsIGJ1ZmZsZW4p
Ow0KKyAgICAgICAgQkFEX0RNQShidWZmLCBidWZmbGVuKTsNCiAgICAgICBh
bnkyc2NzaShjY2JbbWJvXS5kYXRhcHRyLCBTQ1NJX1BBKGJ1ZmYpKTsNCiAg
ICAgfTsNCiAgICAgY2NiW21ib10uaWRsdW4gPSAodGFyZ2V0JjcpPDw1IHwg
ZGlyZWN0aW9uIHwgKGx1biAmIDcpOyAvKlNDU0kgVGFyZ2V0IElkKi8NCmRp
ZmYgLXUgLXIgLi9kcml2ZXJzL3Njc2kvc2NzaS5jIC4uL2NoYW5nZWQvZHJp
dmVycy9zY3NpL3Njc2kuYw0KLS0tIC4vZHJpdmVycy9zY3NpL3Njc2kuYwlN
b24gRGVjIDEzIDA5OjIzOjQ4IDE5OTkNCisrKyAuLi9jaGFuZ2VkL2RyaXZl
cnMvc2NzaS9zY3NpLmMJU3VuIERlYyAxMiAxMDoyMjo1OSAxOTk5DQpAQCAt
MTEzNywxMiArMTEzNCwxOCBAQA0KIAkJCQkJICogdG8gY29tcGxldGUgKi8N
CiAJYXRvbWljX2luYygmU0NwbnQtPmhvc3QtPmhvc3RfYWN0aXZlKTsNCiAN
CisJU0NwbnQtPmJ1ZmZlciAgPSBOVUxMOw0KKwlTQ3BudC0+YnVmZmxlbiA9
IDA7DQorCVNDcG50LT5yZXF1ZXN0X2J1ZmZlciA9IE5VTEw7DQorCVNDcG50
LT5yZXF1ZXN0X2J1ZmZsZW4gPSAwOw0KKw0KIAlTQ3BudC0+dXNlX3NnID0g
MDsJLyogUmVzZXQgdGhlIHNjYXR0ZXItZ2F0aGVyIGZsYWcgKi8NCiAJU0Nw
bnQtPm9sZF91c2Vfc2cgPSAwOw0KIAlTQ3BudC0+dHJhbnNmZXJzaXplID0g
MDsJLyogTm8gZGVmYXVsdCB0cmFuc2ZlciBzaXplICovDQogCVNDcG50LT5j
bWRfbGVuID0gMDsNCiANCiAJU0NwbnQtPnVuZGVyZmxvdyA9IDA7CS8qIERv
IG5vdCBmbGFnIHVuZGVyZmxvdyBjb25kaXRpb25zICovDQorCVNDcG50LT5y
ZXNpZCA9IDA7DQogCVNDcG50LT5zdGF0ZSA9IFNDU0lfU1RBVEVfSU5JVElB
TElaSU5HOw0KIAlTQ3BudC0+b3duZXIgPSBTQ1NJX09XTkVSX0hJR0hMRVZF
TDsNCiANCkBAIC0xNDgwLDYgKzE0ODMsNyBAQA0KIAkgKiBldGMsIGV0Yy4N
CiAJICovDQogCWlmICghdHN0YXR1cykgew0KKyAgICAgICAgICAgICAgICBT
Q3BudC0+ZG9uZV9sYXRlID0gMTsNCiAJCXJldHVybjsNCiAJfQ0KIAkvKiBT
ZXQgdGhlIHNlcmlhbCBudW1iZXJzIGJhY2sgdG8gemVybyAqLw0KZGlmZiAt
dSAtciAuL2RyaXZlcnMvc2NzaS9zY3NpLmggLi4vY2hhbmdlZC9kcml2ZXJz
L3Njc2kvc2NzaS5oDQotLS0gLi9kcml2ZXJzL3Njc2kvc2NzaS5oCU1vbiBE
ZWMgMTMgMDk6MjM6NDggMTk5OQ0KKysrIC4uL2NoYW5nZWQvZHJpdmVycy9z
Y3NpL3Njc2kuaAlTdW4gRGVjIDEyIDEwOjM4OjAyIDE5OTkNCkBAIC0zOTgs
NiArMzk4LDExIEBADQogICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBp
bnQgKnNlY3MpOw0KIA0KIC8qDQorICogUHJvdG90eXBlcyBmb3IgZnVuY3Rp
b25zIGluIHNjc2lfbWVyZ2UuYw0KKyAqLw0KK2V4dGVybiB2b2lkIHJlY291
bnRfc2VnbWVudHMoU2NzaV9DbW5kICogU0NwbnQpOw0KKw0KKy8qDQogICog
UHJvdG90eXBlcyBmb3IgZnVuY3Rpb25zIGluIHNjc2lfbGliLmMNCiAgKi8N
CiBleHRlcm4gdm9pZCBpbml0aWFsaXplX21lcmdlX2ZuKFNjc2lfRGV2aWNl
ICogU0RwbnQpOw0KQEAgLTYyNSw2ICs2MzAsMTQgQEANCiANCiAJdW5zaWdu
ZWQgZmxhZ3M7DQogDQorICAgICAgICAvKg0KKyAgICAgICAgICogVXNlZCB0
byBpbmRpY2F0ZSB0aGF0IGEgY29tbWFuZCB3aGljaCBoYXMgdGltZWQgb3V0
IGFsc28NCisgICAgICAgICAqIGNvbXBsZXRlZCBub3JtYWxseS4gIFR5cGlj
YWxseSB0aGUgY29tcGxldGlvbiBmdW5jdGlvbiB3aWxsDQorICAgICAgICAg
KiBkbyBub3RoaW5nIGJ1dCBzZXQgdGhpcyBmbGFnIGluIHRoaXMgaW5zdGFu
Y2UgYmVjYXVzZSB0aGUNCisgICAgICAgICAqIHRpbWVvdXQgaGFuZGxlciBp
cyBhbHJlYWR5IHJ1bm5pbmcuDQorICAgICAgICAgKi8NCisgICAgICAgIHVu
c2lnbmVkIGRvbmVfbGF0ZToxOw0KKw0KIAkvKg0KIAkgKiBUaGVzZSB0d28g
ZmxhZ3MgYXJlIHVzZWQgdG8gdHJhY2sgY29tbWFuZHMgdGhhdCBhcmUgaW4g
dGhlDQogCSAqIG1pZC1sZXZlbCBxdWV1ZS4gIFRoZSBpZGVhIGlzIHRoYXQg
YSBjb21tYW5kIGNhbiBiZSB0aGVyZSBmb3INCkBAIC02MzQsMTEgKzY0Nyw2
IEBADQogCSAqLw0KIAl1bnNpZ25lZCBob3N0X3dhaXQ6MTsNCiAJdW5zaWdu
ZWQgZGV2aWNlX3dhaXQ6MTsNCi0NCi0JLyogVGhlc2UgdmFyaWFibGVzIGFy
ZSBmb3IgdGhlIGNkcm9tIG9ubHkuIE9uY2Ugd2UgaGF2ZSB2YXJpYWJsZSBz
aXplIA0KLQkgKiBidWZmZXJzIGluIHRoZSBidWZmZXIgY2FjaGUsIHRoZXkg
d2lsbCBnbyBhd2F5LiAqLw0KLQlpbnQgdGhpc19jb3VudDsNCi0JLyogRW5k
IG9mIHNwZWNpYWwgY2Ryb20gdmFyaWFibGVzICovDQogDQogCS8qIExvdy1s
ZXZlbCBkb25lIGZ1bmN0aW9uIC0gY2FuIGJlIHVzZWQgYnkgbG93LWxldmVs
IGRyaXZlciB0byBwb2ludA0KIAkgKiAgICAgICAgdG8gY29tcGxldGlvbiBm
dW5jdGlvbi4gIE5vdCB1c2VkIGJ5IG1pZC91cHBlciBsZXZlbCBjb2RlLiAq
Lw0KZGlmZiAtdSAtciAuL2RyaXZlcnMvc2NzaS9zY3NpX2Vycm9yLmMgLi4v
Y2hhbmdlZC9kcml2ZXJzL3Njc2kvc2NzaV9lcnJvci5jDQotLS0gLi9kcml2
ZXJzL3Njc2kvc2NzaV9lcnJvci5jCU1vbiBEZWMgMTMgMDk6MjM6NDggMTk5
OQ0KKysrIC4uL2NoYW5nZWQvZHJpdmVycy9zY3NpL3Njc2lfZXJyb3IuYwlT
dW4gRGVjIDEyIDEwOjQxOjMwIDE5OTkNCkBAIC0xMTcsNiArMTE3LDggQEAN
CiAJU0NzZXQtPmVoX3RpbWVvdXQuZXhwaXJlcyA9IGppZmZpZXMgKyB0aW1l
b3V0Ow0KIAlTQ3NldC0+ZWhfdGltZW91dC5mdW5jdGlvbiA9ICh2b2lkICgq
KSh1bnNpZ25lZCBsb25nKSkgY29tcGxldGU7DQogDQorICAgICAgICBTQ3Nl
dC0+ZG9uZV9sYXRlID0gMDsNCisNCiAJU0NTSV9MT0dfRVJST1JfUkVDT1ZF
UlkoNSwgcHJpbnRrKCJBZGRpbmcgdGltZXIgZm9yIGNvbW1hbmQgJXAgYXQg
JWQgKCVwKVxuIiwgU0NzZXQsIHRpbWVvdXQsIGNvbXBsZXRlKSk7DQogDQog
CWFkZF90aW1lcigmU0NzZXQtPmVoX3RpbWVvdXQpOw0KQEAgLTE1OSwxMSAr
MTYxLDE0IEBADQogICoNCiAgKiBSZXR1cm5zOiAgICAgTm90aGluZy4NCiAg
Kg0KLSAqIE5vdGVzOg0KKyAqIE5vdGVzOiAgICAgICBXZSBkbyBub3QgbmVl
ZCB0byBsb2NrIHRoaXMuICBUaGVyZSBpcyB0aGUgcG90ZW50aWFsIGZvcg0K
KyAqICAgICAgICAgICAgICBhIHJhY2Ugb25seSBpbiB0aGF0IHRoZSBub3Jt
YWwgY29tcGxldGlvbiBoYW5kbGluZyBtaWdodA0KKyAqICAgICAgICAgICAg
ICBydW4sIGJ1dCBpZiB0aGUgbm9ybWFsIGNvbXBsZXRpb24gZnVuY3Rpb24g
ZGV0ZXJtaW5lcw0KKyAqICAgICAgICAgICAgICB0aGF0IHRoZSB0aW1lciBo
YXMgYWxyZWFkeSBmaXJlZCwgdGhlbiBpdCBtdXN0bid0IGRvDQorICogICAg
ICAgICAgICAgIGFueXRoaW5nLg0KICAqLw0KLXN0YXRpYyB2b2lkIGRvX3Nj
c2lfdGltZXNfb3V0KFNjc2lfQ21uZCAqIFNDcG50KQ0KK3ZvaWQgc2NzaV90
aW1lc19vdXQoU2NzaV9DbW5kICogU0NwbnQpDQogew0KLQ0KIAkvKiANCiAJ
ICogTm90aWZ5IHRoZSBsb3ctbGV2ZWwgY29kZSB0aGF0IHRoaXMgb3BlcmF0
aW9uIGZhaWxlZCBhbmQgd2UgYXJlDQogCSAqIHJlcG9zZXNzaW5nIHRoZSBj
b21tYW5kLiAgDQpAQCAtMjIwLDE5ICsyMjUsMTMgQEANCiAJICogY29tbWFu
ZCB0aGF0IG1pZ2h0IGhhdmUgZmFpbGVkLiAgSWYgc28sIHdha2UgdXAgdGhl
IGVycm9yIGhhbmRsZXIuDQogCSAqLw0KIAlpZiAoU0NwbnQtPmhvc3QtPmhv
c3RfYnVzeSA9PSBTQ3BudC0+aG9zdC0+aG9zdF9mYWlsZWQpIHsNCisgICAg
ICAgICAgICAgICAgaWYoIFNDcG50LT5ob3N0LT5laF93YWl0ID09IE5VTEwg
KSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgcGFuaWMoIkVycm9yIGhh
bmRsZXIgdGhyZWFkIG5vdCBwcmVzZW50Iik7DQorICAgICAgICAgICAgICAg
IH0NCiAJCXVwKFNDcG50LT5ob3N0LT5laF93YWl0KTsNCiAJfQ0KIH0NCiAN
Ci12b2lkIHNjc2lfdGltZXNfb3V0KFNjc2lfQ21uZCAqIFNDcG50KQ0KLXsN
Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsNCi0NCi0Jc3Bpbl9sb2NrX2lycXNh
dmUoJmlvX3JlcXVlc3RfbG9jaywgZmxhZ3MpOw0KLQlkb19zY3NpX3RpbWVz
X291dChTQ3BudCk7DQotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmlvX3Jl
cXVlc3RfbG9jaywgZmxhZ3MpOw0KLX0NCi0NCiAvKg0KICAqIEZ1bmN0aW9u
ICAgICBzY3NpX2Jsb2NrX3doZW5fcHJvY2Vzc2luZ19lcnJvcnMNCiAgKg0K
QEAgLTI3NCwxMSArMjczLDggQEANCiBTVEFUSUMNCiB2b2lkIHNjc2lfZWhf
dGltZXNfb3V0KFNjc2lfQ21uZCAqIFNDcG50KQ0KIHsNCi0JdW5zaWduZWQg
bG9uZyBmbGFnczsNCiAJaW50IHJ0biA9IEZBSUxFRDsNCiANCi0Jc3Bpbl9s
b2NrX2lycXNhdmUoJmlvX3JlcXVlc3RfbG9jaywgZmxhZ3MpOw0KLQ0KIAlT
Q3BudC0+ZWhfc3RhdGUgPSBTQ1NJX1NUQVRFX1RJTUVPVVQ7DQogCVNDcG50
LT5vd25lciA9IFNDU0lfT1dORVJfTE9XTEVWRUw7DQogDQpAQCAtMjk4LDcg
KzI5NCw2IEBADQogCQl1cChTQ3BudC0+aG9zdC0+ZWhfYWN0aW9uKTsNCiAJ
ZWxzZQ0KIAkJcHJpbnRrKCJNaXNzaW5nIHNjc2kgZXJyb3IgaGFuZGxlciB0
aHJlYWRcbiIpOw0KLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpb19yZXF1
ZXN0X2xvY2ssIGZsYWdzKTsNCiB9DQogDQogDQpAQCAtMzE5LDYgKzMxNCwy
MCBAQA0KIFNUQVRJQw0KIHZvaWQgc2NzaV9laF9kb25lKFNjc2lfQ21uZCAq
IFNDcG50KQ0KIHsNCisgICAgICAgIGludCAgICAgcnRuOw0KKw0KKyAgICAg
ICAgLyoNCisgICAgICAgICAqIElmIHRoZSB0aW1lb3V0IGhhbmRsZXIgaXMg
YWxyZWFkeSBydW5uaW5nLCB0aGVuIGp1c3Qgc2V0IHRoZQ0KKyAgICAgICAg
ICogZmxhZyB3aGljaCBzYXlzIHdlIGZpbmlzaGVkIGxhdGUsIGFuZCByZXR1
cm4uICBXZSBoYXZlIG5vDQorICAgICAgICAgKiB3YXkgb2Ygc3RvcHBpbmcg
dGhlIHRpbWVvdXQgaGFuZGxlciBmcm9tIHJ1bm5pbmcsIHNvIHdlIG11c3QN
CisgICAgICAgICAqIGFsd2F5cyBkZWZlciB0byBpdC4NCisgICAgICAgICAq
Lw0KKyAgICAgICAgcnRuID0gZGVsX3RpbWVyKCZTQ3BudC0+ZWhfdGltZW91
dCk7DQorCWlmICghcnRuKSB7DQorICAgICAgICAgICAgICAgIFNDcG50LT5k
b25lX2xhdGUgPSAxOw0KKwkJcmV0dXJuOw0KKwl9DQorDQogCVNDcG50LT5y
ZXF1ZXN0LnJxX3N0YXR1cyA9IFJRX1NDU0lfRE9ORTsNCiANCiAJU0NwbnQt
Pm93bmVyID0gU0NTSV9PV05FUl9FUlJPUl9IQU5ETEVSOw0KQEAgLTQxOCw3
ICs0MjcsNyBAQA0KIAl7UkVRVUVTVF9TRU5TRSwgMCwgMCwgMCwgMjU1LCAw
fTsNCiAJdW5zaWduZWQgY2hhciBzY3NpX3Jlc3VsdDBbMjU2XSwgKnNjc2lf
cmVzdWx0ID0gTlVMTDsNCiANCi0JQVNTRVJUX0xPQ0soJmlvX3JlcXVlc3Rf
bG9jaywgMSk7DQorCUFTU0VSVF9MT0NLKCZpb19yZXF1ZXN0X2xvY2ssIDAp
Ow0KIA0KIAltZW1jcHkoKHZvaWQgKikgU0NwbnQtPmNtbmQsICh2b2lkICop
IGdlbmVyaWNfc2Vuc2UsDQogCSAgICAgICBzaXplb2YoZ2VuZXJpY19zZW5z
ZSkpOw0KQEAgLTQyNiw3ICs0MzUsNyBAQA0KIAlTQ3BudC0+Y21uZFsxXSA9
IFNDcG50LT5sdW4gPDwgNTsNCiANCiAJc2NzaV9yZXN1bHQgPSAoIVNDcG50
LT5ob3N0LT5ob3N0dC0+dW5jaGVja2VkX2lzYV9kbWEpDQotCSAgICA/ICZz
Y3NpX3Jlc3VsdDBbMF0gOiBzY3NpX2luaXRfbWFsbG9jKDUxMiwgR0ZQX0FU
T01JQyB8IEdGUF9ETUEpOw0KKwkgICAgPyAmc2NzaV9yZXN1bHQwWzBdIDog
a21hbGxvYyg1MTIsIEdGUF9BVE9NSUMgfCBHRlBfRE1BKTsNCiANCiAJaWYg
KHNjc2lfcmVzdWx0ID09IE5VTEwpIHsNCiAJCXByaW50aygiY2Fubm90IGFs
bG9jYXRlIHNjc2lfcmVzdWx0IGluIHNjc2lfcmVxdWVzdF9zZW5zZS5cbiIp
Ow0KQEAgLTQ1NSw3ICs0NjQsNyBAQA0KIAkJICAgICAgIHNpemVvZihTQ3Bu
dC0+c2Vuc2VfYnVmZmVyKSk7DQogDQogCWlmIChzY3NpX3Jlc3VsdCAhPSAm
c2NzaV9yZXN1bHQwWzBdICYmIHNjc2lfcmVzdWx0ICE9IE5VTEwpDQotCQlz
Y3NpX2luaXRfZnJlZShzY3NpX3Jlc3VsdCwgNTEyKTsNCisJCWtmcmVlKHNj
c2lfcmVzdWx0KTsNCiANCiAJLyoNCiAJICogV2hlbiB3ZSBldmVudHVhbGx5
IGNhbGwgc2NzaV9maW5pc2gsIHdlIHJlYWxseSB3aXNoIHRvIGNvbXBsZXRl
DQpAQCAtNDkyLDcgKzUwMSw3IEBADQogCVNDcG50LT5jbW5kWzFdID0gU0Nw
bnQtPmx1biA8PCA1Ow0KIA0KIAlzY3NpX3Jlc3VsdCA9ICghU0NwbnQtPmhv
c3QtPmhvc3R0LT51bmNoZWNrZWRfaXNhX2RtYSkNCi0JICAgID8gJnNjc2lf
cmVzdWx0MFswXSA6IHNjc2lfaW5pdF9tYWxsb2MoNTEyLCBHRlBfQVRPTUlD
IHwgR0ZQX0RNQSk7DQorCSAgICA/ICZzY3NpX3Jlc3VsdDBbMF0gOiBrbWFs
bG9jKDUxMiwgR0ZQX0FUT01JQyB8IEdGUF9ETUEpOw0KIA0KIAlpZiAoc2Nz
aV9yZXN1bHQgPT0gTlVMTCkgew0KIAkJcHJpbnRrKCJjYW5ub3QgYWxsb2Nh
dGUgc2NzaV9yZXN1bHQgaW4gc2NzaV90ZXN0X3VuaXRfcmVhZHkuXG4iKTsN
CkBAIC01MjAsNyArNTI5LDcgQEANCiAJCSAgICAgICBzaXplb2YoU0NwbnQt
PnNlbnNlX2J1ZmZlcikpOw0KIA0KIAlpZiAoc2NzaV9yZXN1bHQgIT0gJnNj
c2lfcmVzdWx0MFswXSAmJiBzY3NpX3Jlc3VsdCAhPSBOVUxMKQ0KLQkJc2Nz
aV9pbml0X2ZyZWUoc2NzaV9yZXN1bHQsIDUxMik7DQorCQlrZnJlZShzY3Np
X3Jlc3VsdCk7DQogDQogCS8qDQogCSAqIFdoZW4gd2UgZXZlbnR1YWxseSBj
YWxsIHNjc2lfZmluaXNoLCB3ZSByZWFsbHkgd2lzaCB0byBjb21wbGV0ZQ0K
QEAgLTU4Miw5ICs1OTEsMTAgQEANCiAgKi8NCiBTVEFUSUMgdm9pZCBzY3Np
X3NlbmRfZWhfY21uZChTY3NpX0NtbmQgKiBTQ3BudCwgaW50IHRpbWVvdXQp
DQogew0KKyAgICAgICAgdW5zaWduZWQgbG9uZyBmbGFnczsNCiAJc3RydWN0
IFNjc2lfSG9zdCAqaG9zdDsNCiANCi0JQVNTRVJUX0xPQ0soJmlvX3JlcXVl
c3RfbG9jaywgMSk7DQorCUFTU0VSVF9MT0NLKCZpb19yZXF1ZXN0X2xvY2ss
IDApOw0KIA0KIAlob3N0ID0gU0NwbnQtPmhvc3Q7DQogDQpAQCAtNjA4LDE1
ICs2MTgsMTQgQEANCiAJCVNDcG50LT5ob3N0LT5laF9hY3Rpb24gPSAmc2Vt
Ow0KIAkJU0NwbnQtPnJlcXVlc3QucnFfc3RhdHVzID0gUlFfU0NTSV9CVVNZ
Ow0KIA0KKyAgICAgICAgICAgICAgICBzcGluX2xvY2tfaXJxc2F2ZSgmaW9f
cmVxdWVzdF9sb2NrLCBmbGFncyk7DQogCQlob3N0LT5ob3N0dC0+cXVldWVj
b21tYW5kKFNDcG50LCBzY3NpX2VoX2RvbmUpOw0KLQkJc3Bpbl91bmxvY2tf
aXJxKCZpb19yZXF1ZXN0X2xvY2spOw0KKyAgICAgICAgICAgICAgICBzcGlu
X3VubG9ja19pcnFyZXN0b3JlKCZpb19yZXF1ZXN0X2xvY2ssIGZsYWdzKTsN
CisNCiAJCWRvd24oJnNlbSk7DQotCQlzcGluX2xvY2tfaXJxKCZpb19yZXF1
ZXN0X2xvY2spOw0KIA0KIAkJU0NwbnQtPmhvc3QtPmVoX2FjdGlvbiA9IE5V
TEw7DQogDQotCQlkZWxfdGltZXIoJlNDcG50LT5laF90aW1lb3V0KTsNCi0N
CiAJCS8qDQogCQkgKiBTZWUgaWYgdGltZW91dC4gIElmIHNvLCB0ZWxsIHRo
ZSBob3N0IHRvIGZvcmdldCBhYm91dCBpdC4NCiAJCSAqIEluIG90aGVyIHdv
cmRzLCB3ZSBkb24ndCB3YW50IGEgY2FsbGJhY2sgYW55IG1vcmUuDQpAQCAt
NjM0LDcgKzY0MywxMCBAQA0KIAkJICogcHJvdGVjdGlvbiBoZXJlLCBzaW5j
ZSB3ZSB3b3VsZCBlbmQgdXAgd2FpdGluZyBpbiB0aGUgYWN0dWFsIGxvdw0K
IAkJICogbGV2ZWwgZHJpdmVyLCB3ZSBkb24ndCBrbm93IGhvdyB0byB3YWtl
IGl0IHVwLg0KIAkJICovDQorICAgICAgICAgICAgICAgIHNwaW5fbG9ja19p
cnFzYXZlKCZpb19yZXF1ZXN0X2xvY2ssIGZsYWdzKTsNCiAJCXRlbXAgPSBo
b3N0LT5ob3N0dC0+Y29tbWFuZChTQ3BudCk7DQorICAgICAgICAgICAgICAg
IHNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmlvX3JlcXVlc3RfbG9jaywgZmxh
Z3MpOw0KKw0KIAkJU0NwbnQtPnJlc3VsdCA9IHRlbXA7DQogCQlpZiAoc2Nz
aV9laF9jb21wbGV0ZWRfbm9ybWFsbHkoU0NwbnQpKSB7DQogCQkJU0NwbnQt
PmVoX3N0YXRlID0gU1VDQ0VTUzsNCkBAIC03MzQsNiArNzQ2LDkgQEANCiAg
Ki8NCiBTVEFUSUMgaW50IHNjc2lfdHJ5X3RvX2Fib3J0X2NvbW1hbmQoU2Nz
aV9DbW5kICogU0NwbnQsIGludCB0aW1lb3V0KQ0KIHsNCisgICAgICAgIGlu
dCBydG47DQorICAgICAgICB1bnNpZ25lZCBsb25nIGZsYWdzOw0KKw0KIAlT
Q3BudC0+ZWhfc3RhdGUgPSBGQUlMRUQ7CS8qIFVudGlsIHdlIGNvbWUgdXAg
d2l0aCBzb21ldGhpbmcgYmV0dGVyICovDQogDQogCWlmIChTQ3BudC0+aG9z
dC0+aG9zdHQtPmVoX2Fib3J0X2hhbmRsZXIgPT0gTlVMTCkgew0KQEAgLTc0
OCw3ICs3NjMsMTAgQEANCiANCiAJU0NwbnQtPm93bmVyID0gU0NTSV9PV05F
Ul9MT1dMRVZFTDsNCiANCi0JcmV0dXJuIFNDcG50LT5ob3N0LT5ob3N0dC0+
ZWhfYWJvcnRfaGFuZGxlcihTQ3BudCk7DQorICAgICAgICBzcGluX2xvY2tf
aXJxc2F2ZSgmaW9fcmVxdWVzdF9sb2NrLCBmbGFncyk7DQorCXJ0biA9IFND
cG50LT5ob3N0LT5ob3N0dC0+ZWhfYWJvcnRfaGFuZGxlcihTQ3BudCk7DQor
ICAgICAgICBzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpb19yZXF1ZXN0X2xv
Y2ssIGZsYWdzKTsNCisgICAgICAgIHJldHVybiBydG47DQogfQ0KIA0KIC8q
DQpAQCAtNzY3LDYgKzc4NSw3IEBADQogICovDQogU1RBVElDIGludCBzY3Np
X3RyeV9idXNfZGV2aWNlX3Jlc2V0KFNjc2lfQ21uZCAqIFNDcG50LCBpbnQg
dGltZW91dCkNCiB7DQorICAgICAgICB1bnNpZ25lZCBsb25nIGZsYWdzOw0K
IAlpbnQgcnRuOw0KIA0KIAlTQ3BudC0+ZWhfc3RhdGUgPSBGQUlMRUQ7CS8q
IFVudGlsIHdlIGNvbWUgdXAgd2l0aCBzb21ldGhpbmcgYmV0dGVyICovDQpA
QCAtNzc2LDcgKzc5NSw5IEBADQogCX0NCiAJU0NwbnQtPm93bmVyID0gU0NT
SV9PV05FUl9MT1dMRVZFTDsNCiANCisgICAgICAgIHNwaW5fbG9ja19pcnFz
YXZlKCZpb19yZXF1ZXN0X2xvY2ssIGZsYWdzKTsNCiAJcnRuID0gU0NwbnQt
Pmhvc3QtPmhvc3R0LT5laF9kZXZpY2VfcmVzZXRfaGFuZGxlcihTQ3BudCk7
DQorICAgICAgICBzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpb19yZXF1ZXN0
X2xvY2ssIGZsYWdzKTsNCiANCiAJaWYgKHJ0biA9PSBTVUNDRVNTKQ0KIAkJ
U0NwbnQtPmVoX3N0YXRlID0gU1VDQ0VTUzsNCkBAIC03OTYsNiArODE3LDcg
QEANCiAgKi8NCiBTVEFUSUMgaW50IHNjc2lfdHJ5X2J1c19yZXNldChTY3Np
X0NtbmQgKiBTQ3BudCkNCiB7DQorICAgICAgICB1bnNpZ25lZCBsb25nIGZs
YWdzOw0KIAlpbnQgcnRuOw0KIA0KIAlTQ3BudC0+ZWhfc3RhdGUgPSBGQUlM
RUQ7CS8qIFVudGlsIHdlIGNvbWUgdXAgd2l0aCBzb21ldGhpbmcgYmV0dGVy
ICovDQpAQCAtODA1LDcgKzgyNywxMCBAQA0KIAlpZiAoU0NwbnQtPmhvc3Qt
Pmhvc3R0LT5laF9idXNfcmVzZXRfaGFuZGxlciA9PSBOVUxMKSB7DQogCQly
ZXR1cm4gRkFJTEVEOw0KIAl9DQorDQorICAgICAgICBzcGluX2xvY2tfaXJx
c2F2ZSgmaW9fcmVxdWVzdF9sb2NrLCBmbGFncyk7DQogCXJ0biA9IFNDcG50
LT5ob3N0LT5ob3N0dC0+ZWhfYnVzX3Jlc2V0X2hhbmRsZXIoU0NwbnQpOw0K
KyAgICAgICAgc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaW9fcmVxdWVzdF9s
b2NrLCBmbGFncyk7DQogDQogCWlmIChydG4gPT0gU1VDQ0VTUykNCiAJCVND
cG50LT5laF9zdGF0ZSA9IFNVQ0NFU1M7DQpAQCAtODE0LDkgKzgzOSw3IEBA
DQogCSAqIElmIHdlIGhhZCBhIHN1Y2Nlc3NmdWwgYnVzIHJlc2V0LCBtYXJr
IHRoZSBjb21tYW5kIGJsb2NrcyB0byBleHBlY3QNCiAJICogYSBjb25kaXRp
b24gY29kZSBvZiB1bml0IGF0dGVudGlvbi4NCiAJICovDQotCXNwaW5fdW5s
b2NrX2lycSgmaW9fcmVxdWVzdF9sb2NrKTsNCiAJc2NzaV9zbGVlcChCVVNf
UkVTRVRfU0VUVExFX1RJTUUpOw0KLQlzcGluX2xvY2tfaXJxKCZpb19yZXF1
ZXN0X2xvY2spOw0KIAlpZiAoU0NwbnQtPmVoX3N0YXRlID09IFNVQ0NFU1Mp
IHsNCiAJCVNjc2lfRGV2aWNlICpTRGxvb3A7DQogCQlmb3IgKFNEbG9vcCA9
IFNDcG50LT5ob3N0LT5ob3N0X3F1ZXVlOyBTRGxvb3A7IFNEbG9vcCA9IFNE
bG9vcC0+bmV4dCkgew0KQEAgLTg0MSw2ICs4NjQsNyBAQA0KICAqLw0KIFNU
QVRJQyBpbnQgc2NzaV90cnlfaG9zdF9yZXNldChTY3NpX0NtbmQgKiBTQ3Bu
dCkNCiB7DQorICAgICAgICB1bnNpZ25lZCBsb25nIGZsYWdzOw0KIAlpbnQg
cnRuOw0KIA0KIAlTQ3BudC0+ZWhfc3RhdGUgPSBGQUlMRUQ7CS8qIFVudGls
IHdlIGNvbWUgdXAgd2l0aCBzb21ldGhpbmcgYmV0dGVyICovDQpAQCAtODUw
LDcgKzg3NCw5IEBADQogCWlmIChTQ3BudC0+aG9zdC0+aG9zdHQtPmVoX2hv
c3RfcmVzZXRfaGFuZGxlciA9PSBOVUxMKSB7DQogCQlyZXR1cm4gRkFJTEVE
Ow0KIAl9DQorICAgICAgICBzcGluX2xvY2tfaXJxc2F2ZSgmaW9fcmVxdWVz
dF9sb2NrLCBmbGFncyk7DQogCXJ0biA9IFNDcG50LT5ob3N0LT5ob3N0dC0+
ZWhfaG9zdF9yZXNldF9oYW5kbGVyKFNDcG50KTsNCisgICAgICAgIHNwaW5f
dW5sb2NrX2lycXJlc3RvcmUoJmlvX3JlcXVlc3RfbG9jaywgZmxhZ3MpOw0K
IA0KIAlpZiAocnRuID09IFNVQ0NFU1MpDQogCQlTQ3BudC0+ZWhfc3RhdGUg
PSBTVUNDRVNTOw0KQEAgLTg1OSw5ICs4ODUsNyBAQA0KIAkgKiBJZiB3ZSBo
YWQgYSBzdWNjZXNzZnVsIGhvc3QgcmVzZXQsIG1hcmsgdGhlIGNvbW1hbmQg
YmxvY2tzIHRvIGV4cGVjdA0KIAkgKiBhIGNvbmRpdGlvbiBjb2RlIG9mIHVu
aXQgYXR0ZW50aW9uLg0KIAkgKi8NCi0Jc3Bpbl91bmxvY2tfaXJxKCZpb19y
ZXF1ZXN0X2xvY2spOw0KIAlzY3NpX3NsZWVwKEhPU1RfUkVTRVRfU0VUVExF
X1RJTUUpOw0KLQlzcGluX2xvY2tfaXJxKCZpb19yZXF1ZXN0X2xvY2spOw0K
IAlpZiAoU0NwbnQtPmVoX3N0YXRlID09IFNVQ0NFU1MpIHsNCiAJCVNjc2lf
RGV2aWNlICpTRGxvb3A7DQogCQlmb3IgKFNEbG9vcCA9IFNDcG50LT5ob3N0
LT5ob3N0X3F1ZXVlOyBTRGxvb3A7IFNEbG9vcCA9IFNEbG9vcC0+bmV4dCkg
ew0KQEAgLTEyNTgsNyArMTI4Miw3IEBADQogCVNjc2lfQ21uZCAqU0Nkb25l
Ow0KIAlpbnQgdGltZWRfb3V0Ow0KIA0KLQlBU1NFUlRfTE9DSygmaW9fcmVx
dWVzdF9sb2NrLCAxKTsNCisJQVNTRVJUX0xPQ0soJmlvX3JlcXVlc3RfbG9j
aywgMCk7DQogDQogCVNDZG9uZSA9IE5VTEw7DQogDQpAQCAtMTUzOSwxNCAr
MTU2Myw3IEBADQogCQkJCQkJICogaXMgdGhlIGNhc2UsIHdlIGFyZSB3b3Jy
eWluZyBhYm91dCBub3RoaW5nIGhlcmUuDQogCQkJCQkJICovDQogDQotCQkJ
CQkJLyoNCi0JCQkJCQkgKiBEdWUgdG8gdGhlIHNwaW5sb2NrLCB3ZSB3aWxs
IG5ldmVyIGdldCBvdXQgb2YgdGhpcw0KLQkJCQkJCSAqIGxvb3Agd2l0aG91
dCBhIHByb3BlciB3YWl0IChEQikNCi0JCQkJCQkgKi8NCi0JCQkJCQlzcGlu
X3VubG9ja19pcnEoJmlvX3JlcXVlc3RfbG9jayk7DQogCQkJCQkJc2NzaV9z
bGVlcCgxICogSFopOw0KLQkJCQkJCXNwaW5fbG9ja19pcnEoJmlvX3JlcXVl
c3RfbG9jayk7DQotDQogCQkJCQkJZ290byBuZXh0X2RldmljZTsNCiAJCQkJ
CX0NCiAJCQkJfQ0KQEAgLTE2MzgsOSArMTY1NSw3IEBADQogCQkJCSAqIER1
ZSB0byB0aGUgc3BpbmxvY2ssIHdlIHdpbGwgbmV2ZXIgZ2V0IG91dCBvZiB0
aGlzDQogCQkJCSAqIGxvb3Agd2l0aG91dCBhIHByb3BlciB3YWl0LiAoREIp
DQogCQkJCSAqLw0KLQkJCQlzcGluX3VubG9ja19pcnEoJmlvX3JlcXVlc3Rf
bG9jayk7DQogCQkJCXNjc2lfc2xlZXAoMSAqIEhaKTsNCi0JCQkJc3Bpbl9s
b2NrX2lycSgmaW9fcmVxdWVzdF9sb2NrKTsNCiANCiAJCQkJZ290byBuZXh0
X2RldmljZTI7DQogCQkJfQ0KQEAgLTE3ODQsNyArMTc5OSw2IEBADQogCXN0
cnVjdCBTY3NpX0hvc3QgKmhvc3QgPSAoc3RydWN0IFNjc2lfSG9zdCAqKSBk
YXRhOw0KIAlpbnQgcnRuOw0KIAlERUNMQVJFX01VVEVYX0xPQ0tFRChzZW0p
Ow0KLQl1bnNpZ25lZCBsb25nIGZsYWdzOw0KIA0KIAlzaWdpbml0c2V0aW52
KCZjdXJyZW50LT5ibG9ja2VkLCBTSFVURE9XTl9TSUdTKTsNCiANCkBAIC0x
ODI4LDcgKzE4NDIsNiBAQA0KIA0KIAkJU0NTSV9MT0dfRVJST1JfUkVDT1ZF
UlkoMSwgcHJpbnRrKCJFcnJvciBoYW5kbGVyIHdha2luZyB1cFxuIikpOw0K
IA0KLQkJc3Bpbl9sb2NrX2lycXNhdmUoJmlvX3JlcXVlc3RfbG9jaywgZmxh
Z3MpOw0KIAkJaG9zdC0+ZWhfYWN0aXZlID0gMTsNCiANCiAJCS8qDQpAQCAt
MTg0Myw5ICsxODU2LDYgQEANCiAJCX0NCiANCiAJCWhvc3QtPmVoX2FjdGl2
ZSA9IDA7DQotDQotCQkvKiBUaGUgc3BpbmxvY2sgaXMgcmVhbGx5IG5lZWRl
ZCB1cCB0byB0aGlzIHBvaW50LiAoREIpICovDQotCQlzcGluX3VubG9ja19p
cnFyZXN0b3JlKCZpb19yZXF1ZXN0X2xvY2ssIGZsYWdzKTsNCiANCiAJCS8q
DQogCQkgKiBOb3RlIC0gaWYgdGhlIGFib3ZlIGZhaWxzIGNvbXBsZXRlbHks
IHRoZSBhY3Rpb24gaXMgdG8gdGFrZQ0KZGlmZiAtdSAtciAuL2RyaXZlcnMv
c2NzaS9zY3NpX2xpYi5jIC4uL2NoYW5nZWQvZHJpdmVycy9zY3NpL3Njc2lf
bGliLmMNCi0tLSAuL2RyaXZlcnMvc2NzaS9zY3NpX2xpYi5jCU1vbiBEZWMg
MTMgMDk6MjM6NDggMTk5OQ0KKysrIC4uL2NoYW5nZWQvZHJpdmVycy9zY3Np
L3Njc2lfbGliLmMJU3VuIERlYyAxMiAwMToyNDozNiAxOTk5DQpAQCAtMzgz
LDYgKzM4MywxNiBAQA0KIAkJCXNjc2lfZnJlZShTQ3BudC0+YnVmZmVyLCBT
Q3BudC0+YnVmZmxlbik7DQogCQl9DQogCX0NCisNCisJLyoNCisJICogWmVy
byB0aGVzZSBvdXQuICBUaGV5IG5vdyBwb2ludCB0byBmcmVlZCBtZW1vcnks
IGFuZCBpdCBpcw0KKwkgKiBkYW5nZXJvdXMgdG8gaGFuZyBvbnRvIHRoZSBw
b2ludGVycy4NCisJICovDQorCVNDcG50LT5idWZmZXIgID0gTlVMTDsNCisJ
U0NwbnQtPmJ1ZmZsZW4gPSAwOw0KKwlTQ3BudC0+cmVxdWVzdF9idWZmZXIg
PSBOVUxMOw0KKwlTQ3BudC0+cmVxdWVzdF9idWZmbGVuID0gMDsNCisNCiAJ
LyoNCiAJICogTmV4dCBkZWFsIHdpdGggYW55IHNlY3RvcnMgd2hpY2ggd2Ug
d2VyZSBhYmxlIHRvIGNvcnJlY3RseQ0KIAkgKiBoYW5kbGUuDQpAQCAtNjMw
LDkgKzY0MCwxNCBAQA0KIAkJLyoNCiAJCSAqIEZpbmQgdGhlIGFjdHVhbCBk
ZXZpY2UgZHJpdmVyIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNvbW1hbmQuDQog
CQkgKiBUaGUgU1BFQ0lBTCByZXF1ZXN0cyBhcmUgdGhpbmdzIGxpa2UgY2hh
cmFjdGVyIGRldmljZSBvcg0KLQkJICogaW9jdGxzLCB3aGljaCBkaWQgbm90
IG9yaWdpbmF0ZSBmcm9tIGxsX3J3X2Jsay4NCisJCSAqIGlvY3Rscywgd2hp
Y2ggZGlkIG5vdCBvcmlnaW5hdGUgZnJvbSBsbF9yd19ibGsuICBOb3RlIHRo
YXQNCisJCSAqIHRoZSBzcGVjaWFsIGZpZWxkIGlzIGFsc28gdXNlZCB0byBp
bmRpY2F0ZSB0aGUgU0NwbnQgZm9yDQorCQkgKiB0aGUgcmVtYWluZGVyIG9m
IGEgcGFydGlhbGx5IGZ1bGZpbGxlZCByZXF1ZXN0IHRoYXQgY2FuIA0KKwkJ
ICogY29tZSB1cCB3aGVuIHRoZXJlIGlzIGEgbWVkaXVtIGVycm9yLiAgV2Ug
aGF2ZSB0byB0cmVhdA0KKwkJICogdGhlc2UgdHdvIGNhc2VzIGRpZmZlcmVu
dGx5LiAgV2UgZGlmZmVyZW50aWF0ZSBieSBsb29raW5nDQorCQkgKiBhdCBy
ZXF1ZXN0LmNtZCwgYXMgdGhpcyB0ZWxscyB1cyB0aGUgcmVhbCBzdG9yeS4N
CiAJCSAqLw0KLQkJaWYgKHJlcS0+c3BlY2lhbCAhPSBOVUxMKSB7DQorCQlp
ZiAocmVxLT5jbWQgPT0gU1BFQ0lBTCkgew0KIAkJCVNUcG50ID0gTlVMTDsN
CiAJCQlTQ3BudCA9IChTY3NpX0NtbmQgKikgcmVxLT5zcGVjaWFsOw0KIAkJ
fSBlbHNlIHsNCkBAIC02NDMsNyArNjU4LDIwIEBADQogCQkJLyoNCiAJCQkg
KiBOb3cgdHJ5IGFuZCBmaW5kIGEgY29tbWFuZCBibG9jayB0aGF0IHdlIGNh
biB1c2UuDQogCQkJICovDQotCQkJU0NwbnQgPSBzY3NpX2FsbG9jYXRlX2Rl
dmljZShTRHBudCwgRkFMU0UpOw0KKwkJCWlmKCByZXEtPnNwZWNpYWwgIT0g
TlVMTCApIHsNCisJCQkJU0NwbnQgPSAoU2NzaV9DbW5kICopIHJlcS0+c3Bl
Y2lhbDsNCisJCQkJLyoNCisJCQkJICogV2UgbmVlZCB0byByZWNvdW50IHRo
ZSBudW1iZXIgb2YNCisJCQkJICogc2NhdHRlci1nYXRoZXIgc2VnbWVudHMg
aGVyZSAtIHRoZQ0KKwkJCQkgKiBub3JtYWwgY2FzZSBjb2RlIGFzc3VtZXMg
dGhpcyB0byBiZQ0KKwkJCQkgKiBjb3JyZWN0LCBhcyBpdCB3b3VsZCBiZSBh
IHBlcmZvcm1hbmNlDQorCQkJCSAqIGxvc2UgdG8gYWx3YXlzIHJlY291bnQu
ICBIYW5kbGluZw0KKwkJCQkgKiBlcnJvcnMgaXMgYWx3YXlzIHVudXN1YWws
IG9mIGNvdXJzZS4NCisJCQkJICovDQorCQkJCXJlY291bnRfc2VnbWVudHMo
U0NwbnQpOw0KKwkJCX0gZWxzZSB7DQorCQkJCVNDcG50ID0gc2NzaV9hbGxv
Y2F0ZV9kZXZpY2UoU0RwbnQsIEZBTFNFKTsNCisJCQl9DQogCQkJLyoNCiAJ
CQkgKiBJZiBzbywgd2UgYXJlIHJlYWR5IHRvIGRvIHNvbWV0aGluZy4gIEJ1
bXAgdGhlIGNvdW50DQogCQkJICogd2hpbGUgdGhlIHF1ZXVlIGlzIGxvY2tl
ZCBhbmQgdGhlbiBicmVhayBvdXQgb2YgdGhlIGxvb3AuDQpAQCAtNjg5LDgg
KzcxNyw5IEBADQogCQkgKiBpbiB0aGlzIHF1ZXVlIGFyZSBmb3IgdGhlIHNh
bWUgZGV2aWNlLg0KIAkJICovDQogCQlxLT5jdXJyZW50X3JlcXVlc3QgPSBy
ZXEtPm5leHQ7DQorCQlTQ3BudC0+cmVxdWVzdC5uZXh0ID0gTlVMTDsNCiAN
Ci0JCWlmIChyZXEtPnNwZWNpYWwgPT0gTlVMTCkgew0KKwkJaWYgKHJlcSAh
PSAmU0NwbnQtPnJlcXVlc3QpIHsNCiAJCQltZW1jcHkoJlNDcG50LT5yZXF1
ZXN0LCByZXEsIHNpemVvZihzdHJ1Y3QgcmVxdWVzdCkpOw0KIA0KIAkJCS8q
DQpAQCAtNzAyLDEzICs3MzEsMTUgQEANCiAJCQl3YWtlX3VwKCZ3YWl0X2Zv
cl9yZXF1ZXN0KTsNCiAJCX0NCiAJCS8qDQotCQkgKiBOb3cgaXQgaXMgZmlu
YWxseSBzYWZlIHRvIHJlbGVhc2UgdGhlIGxvY2suICBXZSBhcmUgbm90IGdv
aW5nDQotCQkgKiB0byBub29kbGUgdGhlIHJlcXVlc3QgbGlzdCB1bnRpbCB0
aGlzIHJlcXVlc3QgaGFzIGJlZW4gcXVldWVkDQotCQkgKiBhbmQgd2UgbG9v
cCBiYWNrIHRvIHF1ZXVlIGFub3RoZXIuDQorCQkgKiBOb3cgaXQgaXMgZmlu
YWxseSBzYWZlIHRvIHJlbGVhc2UgdGhlIGxvY2suICBXZSBhcmUNCisJCSAq
IG5vdCBnb2luZyB0byBub29kbGUgdGhlIHJlcXVlc3QgbGlzdCB1bnRpbCB0
aGlzDQorCQkgKiByZXF1ZXN0IGhhcyBiZWVuIHF1ZXVlZCBhbmQgd2UgbG9v
cCBiYWNrIHRvIHF1ZXVlDQorCQkgKiBhbm90aGVyLiAgDQogCQkgKi8NCisJ
CXJlcSA9IE5VTEw7DQogCQlzcGluX3VubG9ja19pcnEoJmlvX3JlcXVlc3Rf
bG9jayk7DQogDQotCQlpZiAocmVxLT5zcGVjaWFsID09IE5VTEwpIHsNCisJ
CWlmIChTQ3BudC0+cmVxdWVzdC5jbWQgIT0gU1BFQ0lBTCkgew0KIAkJCS8q
DQogCQkJICogVGhpcyB3aWxsIGRvIGEgY291cGxlIG9mIHRoaW5nczoNCiAJ
CQkgKiAgMSkgRmlsbCBpbiB0aGUgYWN0dWFsIFNDU0kgY29tbWFuZC4NCmRp
ZmYgLXUgLXIgLi9kcml2ZXJzL3Njc2kvc2NzaV9tZXJnZS5jIC4uL2NoYW5n
ZWQvZHJpdmVycy9zY3NpL3Njc2lfbWVyZ2UuYw0KLS0tIC4vZHJpdmVycy9z
Y3NpL3Njc2lfbWVyZ2UuYwlNb24gRGVjIDEzIDA5OjIzOjQ4IDE5OTkNCisr
KyAuLi9jaGFuZ2VkL2RyaXZlcnMvc2NzaS9zY3NpX21lcmdlLmMJU3VuIERl
YyAxMiAwMToyNzoyNyAxOTk5DQpAQCAtNzcsMTUgKzc3LDE1IEBADQogCSAq
IER1bXAgdGhlIGluZm9ybWF0aW9uIHRoYXQgd2UgaGF2ZS4gIFdlIGtub3cg
d2UgaGF2ZSBhbg0KIAkgKiBpbmNvbnNpc3RlbmN5Lg0KIAkgKi8NCi0JcHJp
bnRrKCJucl9zZWdtZW50cyBpcyAlbHhcbiIsIHJlcS0+bnJfc2VnbWVudHMp
Ow0KKwlwcmludGsoIm5yX3NlZ21lbnRzIGlzICV4XG4iLCByZXEtPm5yX3Nl
Z21lbnRzKTsNCiAJcHJpbnRrKCJjb3VudGVkIHNlZ21lbnRzIGlzICV4XG4i
LCBzZWdtZW50cyk7DQogCXByaW50aygiRmxhZ3MgJWQgJWRcbiIsIHVzZV9j
bHVzdGVyaW5nLCBkbWFfaG9zdCk7DQogCWZvciAoYmggPSByZXEtPmJoOyBi
aC0+Yl9yZXFuZXh0ICE9IE5VTEw7IGJoID0gYmgtPmJfcmVxbmV4dCkgDQog
CXsNCi0JCXByaW50aygiU2VnbWVudCAweCVwLCBibG9ja3MgJWQsIGFkZHIg
MHglbHhcbiIsDQorCQlwcmludGsoIlNlZ21lbnQgMHgleCwgYmxvY2tzICVk
LCBhZGRyIDB4JXhcbiIsDQogCQkgICAgICAgYmgsDQogCQkgICAgICAgYmgt
PmJfc2l6ZSA+PiA5LA0KLQkJICAgICAgIHZpcnRfdG9fcGh5cyhiaC0+Yl9k
YXRhIC0gMSkpOw0KKwkJICAgICAgIHZpcnRfdG9fcGh5cyhiaC0+Yl9kYXRh
KSAtIDEpOw0KIAl9DQogCXBhbmljKCJUaHRodGh0aGFhdHMgYWxsIGZvbGtz
LiAgVG9vIGRhbmdlcm91cyB0byBjb250aW51ZS5cbiIpOw0KIH0NCkBAIC0x
MDEsNyArMTAxLDcgQEANCiAgICAgewkJCQkJCQkJCVwNCiAJX19sYWJlbF9f
IGhlcmU7CQkJCQkJCVwNCiBoZXJlOgkJCQkJCQkJCVwNCi0JcHJpbnRrKCJJ
bmNvcnJlY3Qgc2VnbWVudCBjb3VudCBhdCAweCVwIiwgJiZoZXJlKTsJCVwN
CisJcHJpbnRrKCJJbmNvcnJlY3Qgc2VnbWVudCBjb3VudCBhdCAweCV4Iiwg
JiZoZXJlKTsJCVwNCiAJZHVtcF9zdGF0cyhyZXEsIF9DTFVTVEVSLCBfRE1B
LCBfX2NvdW50X3NlZ21lbnRzKHJlcSwgX0NMVVNURVIsIF9ETUEpKTsgXA0K
ICAgICB9DQogI2Vsc2UNCkBAIC0xNTUsNyArMTU1LDcgQEANCiAJCQkgKiB0
aGUgRE1BIHRocmVzaG9sZCBib3VuZGFyeS4gIA0KIAkJCSAqLw0KIAkJCWlm
IChkbWFfaG9zdCAmJg0KLQkJCSAgICB2aXJ0X3RvX3BoeXMoYmgtPmJfZGF0
YSAtIDEpID09IElTQV9ETUFfVEhSRVNIT0xEKSB7DQorCQkJICAgIHZpcnRf
dG9fcGh5cyhiaC0+Yl9kYXRhKSAtIDEgPT0gSVNBX0RNQV9USFJFU0hPTEQp
IHsNCiAJCQkJcmV0Kys7DQogCQkJfSBlbHNlIGlmIChDT05USUdVT1VTX0JV
RkZFUlMoYmgsIGJoLT5iX3JlcW5leHQpKSB7DQogCQkJCS8qDQpAQCAtMTcy
LDYgKzE3Miw0MyBAQA0KIH0NCiANCiAvKg0KKyAqIEZ1bmN0aW9uOiAgICBy
ZWNvdW50X3NlZ21lbnRzKCkNCisgKg0KKyAqIFB1cnBvc2U6ICAgICBSZWNv
dW50IHRoZSBudW1iZXIgb2Ygc2NhdHRlci1nYXRoZXIgc2VnbWVudHMgZm9y
IHRoaXMgcmVxdWVzdC4NCisgKg0KKyAqIEFyZ3VtZW50czogICByZXEgICAg
IC0gcmVxdWVzdCB0aGF0IG5lZWRzIHJlY291bnRpbmcuDQorICoNCisgKiBS
ZXR1cm5zOiAgICAgQ291bnQgb2YgdGhlIG51bWJlciBvZiBTRyBzZWdtZW50
cyBmb3IgdGhlIHJlcXVlc3QuDQorICoNCisgKiBMb2NrIHN0YXR1czogSXJy
ZWxldmFudC4NCisgKg0KKyAqIE5vdGVzOglUaGlzIGlzIG9ubHkgdXNlZCB3
aGVuIHdlIGhhdmUgcGFydGlhbGx5IGNvbXBsZXRlZCByZXF1ZXN0cw0KKyAq
CQlhbmQgdGhlIGJpdCB0aGF0IGlzIGxlZnRvdmVyIGlzIG9mIGFuIGluZGV0
ZXJtaW5hdGUgc2l6ZS4NCisgKgkJVGhpcyBjYW4gY29tZSB1cCBpZiB5b3Ug
Z2V0IGEgTUVESVVNX0VSUk9SLCBmb3IgZXhhbXBsZSwNCisgKgkJYXMgd2Ug
d2lsbCBoYXZlICJjb21wbGV0ZWQiIGFsbCBvZiB0aGUgc2VjdG9ycyB1cCB0
byBhbmQNCisgKgkJaW5jbHVkaW5nIHRoZSBiYWQgc2VjdG9yLCBhbmQgdGhl
IGxlZnRvdmVyIGJpdCBpcyB3aGF0DQorICoJCXdlIGhhdmUgdG8gZG8gbm93
LiAgVGhpcyB0ZW5kcyB0byBiZSBhIHJhcmUgb2NjdXJlbmNlLCBzbw0KKyAq
CQl3ZSBhcmVuJ3QgYnVzdGluZyBvdXIgYnV0dHMgdG8gaW5zdGFudGlhdGUg
c2VwYXJhdGUgdmVyc2lvbnMNCisgKgkJb2YgdGhpcyBmdW5jdGlvbiBmb3Ig
dGhlIDQgZGlmZmVyZW50IGZsYWcgdmFsdWVzLiAgV2UNCisgKgkJcHJvYmFi
bHkgc2hvdWxkLCBob3dldmVyLg0KKyAqLw0KK3ZvaWQNCityZWNvdW50X3Nl
Z21lbnRzKFNjc2lfQ21uZCAqIFNDcG50KQ0KK3sNCisJc3RydWN0IHJlcXVl
c3QgKnJlcTsNCisJc3RydWN0IFNjc2lfSG9zdCAqU0hwbnQ7DQorCVNjc2lf
RGV2aWNlICogU0RwbnQ7DQorDQorCXJlcSAgID0gJlNDcG50LT5yZXF1ZXN0
Ow0KKwlTSHBudCA9IFNDcG50LT5ob3N0Ow0KKwlTRHBudCA9IFNDcG50LT5k
ZXZpY2U7DQorDQorCXJlcS0+bnJfc2VnbWVudHMgPSBfX2NvdW50X3NlZ21l
bnRzKHJlcSwgDQorCQkJCQkgICAgQ0xVU1RFUkFCTEVfREVWSUNFKFNIcG50
LCBTRHBudCksDQorCQkJCQkgICAgU0hwbnQtPnVuY2hlY2tlZF9pc2FfZG1h
KTsNCit9DQorDQorLyoNCiAgKiBGdW5jdGlvbjogICAgX19zY3NpX21lcmdl
X2ZuKCkNCiAgKg0KICAqIFB1cnBvc2U6ICAgICBQcm90b3R5cGUgZm9yIHF1
ZXVlIG1lcmdlIGZ1bmN0aW9uLg0KQEAgLTIzNSw3ICsyNzIsNyBAQA0KIAkJ
CSAqIHRoZSBETUEgdGhyZXNob2xkIGJvdW5kYXJ5LiAgDQogCQkJICovDQog
CQkJaWYgKGRtYV9ob3N0ICYmDQotCQkJICAgIHZpcnRfdG9fcGh5cyhyZXEt
PmJodGFpbC0+Yl9kYXRhIC0gMSkgPT0gSVNBX0RNQV9USFJFU0hPTEQpIHsN
CisJCQkgICAgdmlydF90b19waHlzKHJlcS0+Ymh0YWlsLT5iX2RhdGEpIC0g
MSA9PSBJU0FfRE1BX1RIUkVTSE9MRCkgew0KIAkJCQlnb3RvIG5ld19zZWdt
ZW50Ow0KIAkJCX0NCiAJCQlpZiAoQ09OVElHVU9VU19CVUZGRVJTKHJlcS0+
Ymh0YWlsLCBiaCkpIHsNCkBAIC0yNTUsNyArMjkyLDcgQEANCiAJCQkgKiB0
aGUgRE1BIHRocmVzaG9sZCBib3VuZGFyeS4gDQogCQkJICovDQogCQkJaWYg
KGRtYV9ob3N0ICYmDQotCQkJICAgIHZpcnRfdG9fcGh5cyhiaC0+Yl9kYXRh
IC0gMSkgPT0gSVNBX0RNQV9USFJFU0hPTEQpIHsNCisJCQkgICAgdmlydF90
b19waHlzKGJoLT5iX2RhdGEpIC0gMSA9PSBJU0FfRE1BX1RIUkVTSE9MRCkg
ew0KIAkJCQlnb3RvIG5ld19zZWdtZW50Ow0KIAkJCX0NCiAJCQlpZiAoQ09O
VElHVU9VU19CVUZGRVJTKGJoLCByZXEtPmJoKSkgew0KQEAgLTM3OSw3ICs0
MTYsNyBAQA0KIAkJICogdGhlIERNQSB0aHJlc2hvbGQgYm91bmRhcnkuICAN
CiAJCSAqLw0KIAkJaWYgKGRtYV9ob3N0ICYmDQotCQkgICAgdmlydF90b19w
aHlzKHJlcS0+Ymh0YWlsLT5iX2RhdGEgLSAxKSA9PSBJU0FfRE1BX1RIUkVT
SE9MRCkgew0KKwkJICAgIHZpcnRfdG9fcGh5cyhyZXEtPmJodGFpbC0+Yl9k
YXRhKSAtIDEgPT0gSVNBX0RNQV9USFJFU0hPTEQpIHsNCiAJCQlnb3RvIGRv
bnRfY29tYmluZTsNCiAJCX0NCiAJCWlmIChDT05USUdVT1VTX0JVRkZFUlMo
cmVxLT5iaHRhaWwsIG5leHQtPmJoKSkgew0KQEAgLTU3Miw3ICs2MDksNyBA
QA0KIAkgICAgIGJoOyBiaCA9IGJoLT5iX3JlcW5leHQpIHsNCiAJCWlmICh1
c2VfY2x1c3RlcmluZyAmJiBiaHByZXYgIT0gTlVMTCkgew0KIAkJCWlmIChk
bWFfaG9zdCAmJg0KLQkJCSAgICB2aXJ0X3RvX3BoeXMoYmhwcmV2LT5iX2Rh
dGEgLSAxKSA9PSBJU0FfRE1BX1RIUkVTSE9MRCkgew0KKwkJCSAgICB2aXJ0
X3RvX3BoeXMoYmhwcmV2LT5iX2RhdGEpIC0gMSA9PSBJU0FfRE1BX1RIUkVT
SE9MRCkgew0KIAkJCQkvKiBOb3RoaW5nIC0gZmFsbCB0aHJvdWdoICovDQog
CQkJfSBlbHNlIGlmIChDT05USUdVT1VTX0JVRkZFUlMoYmhwcmV2LCBiaCkp
IHsNCiAJCQkJLyoNCkBAIC02MTEsNyArNjQ4LDcgQEANCiAJZm9yIChpID0g
MDsgaSA8IGNvdW50OyBpKyspIHsNCiAJCVNDcG50LT5yZXF1ZXN0X2J1ZmZs
ZW4gKz0gc2dwbnRbaV0ubGVuZ3RoOw0KIAkJaWYgKHZpcnRfdG9fcGh5cyhz
Z3BudFtpXS5hZGRyZXNzKSArIHNncG50W2ldLmxlbmd0aCAtIDEgPg0KLQkJ
ICAgIElTQV9ETUFfVEhSRVNIT0xEICYmICFzZ3BudFtjb3VudF0uYWx0X2Fk
ZHJlc3MpIHsNCisJCSAgICBJU0FfRE1BX1RIUkVTSE9MRCkgew0KIAkJCXNn
cG50W2ldLmFsdF9hZGRyZXNzID0gc2dwbnRbaV0uYWRkcmVzczsNCiAJCQlz
Z3BudFtpXS5hZGRyZXNzID0NCiAJCQkgICAgKGNoYXIgKikgc2NzaV9tYWxs
b2Moc2dwbnRbaV0ubGVuZ3RoKTsNCmRpZmYgLXUgLXIgLi9kcml2ZXJzL3Nj
c2kvc3IuYyAuLi9jaGFuZ2VkL2RyaXZlcnMvc2NzaS9zci5jDQotLS0gLi9k
cml2ZXJzL3Njc2kvc3IuYwlNb24gRGVjIDEzIDA5OjIzOjQ5IDE5OTkNCisr
KyAuLi9jaGFuZ2VkL2RyaXZlcnMvc2NzaS9zci5jCUZyaSBEZWMgMTAgMjA6
MDc6MTAgMTk5OQ0KQEAgLTMwMiw3ICszMDIsNyBAQA0KIAl9DQogCWlmIChz
Y3NpX0NEc1tkZXZdLmRldmljZS0+c2VjdG9yX3NpemUgPT0gMTAyNCkgew0K
IAkJaWYgKChibG9jayAmIDEpIHx8IChTQ3BudC0+cmVxdWVzdC5ucl9zZWN0
b3JzICYgMSkpIHsNCi0JCQlwcmludGsoInNyLmM6QmFkIDFLIGJsb2NrIG51
bWJlciByZXF1ZXN0ZWQgKCVkICVsZCkiLA0KKwkJCXByaW50aygic3IuYzpC
YWQgMUsgYmxvY2sgbnVtYmVyIHJlcXVlc3RlZCAoJWQgJWQpIiwNCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxvY2ssIFNDcG50LT5yZXF1
ZXN0Lm5yX3NlY3RvcnMpOw0KIAkJCVNDcG50ID0gc2NzaV9lbmRfcmVxdWVz
dChTQ3BudCwgMCwgU0NwbnQtPnJlcXVlc3QubnJfc2VjdG9ycyk7DQogCQkJ
cmV0dXJuIDA7DQpAQCAtMzEzLDcgKzMxMyw3IEBADQogCX0NCiAJaWYgKHNj
c2lfQ0RzW2Rldl0uZGV2aWNlLT5zZWN0b3Jfc2l6ZSA9PSAyMDQ4KSB7DQog
CQlpZiAoKGJsb2NrICYgMykgfHwgKFNDcG50LT5yZXF1ZXN0Lm5yX3NlY3Rv
cnMgJiAzKSkgew0KLQkJCXByaW50aygic3IuYzpCYWQgMksgYmxvY2sgbnVt
YmVyIHJlcXVlc3RlZCAoJWQgJWxkKSIsDQorCQkJcHJpbnRrKCJzci5jOkJh
ZCAySyBibG9jayBudW1iZXIgcmVxdWVzdGVkICglZCAlZCkiLA0KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBibG9jaywgU0NwbnQtPnJlcXVl
c3QubnJfc2VjdG9ycyk7DQogCQkJU0NwbnQgPSBzY3NpX2VuZF9yZXF1ZXN0
KFNDcG50LCAwLCBTQ3BudC0+cmVxdWVzdC5ucl9zZWN0b3JzKTsNCiAJCQly
ZXR1cm4gMDsNCg==
--1624180858-580505493-945096406=:25848--

-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.rutgers.edu

home help back first fref pref prev next nref lref last post