PATCH: sym53c8xx 1.5f for PCI overclockers

Gerard Roudier (groudier@club-internet.fr)
Mon, 27 Sep 1999 23:34:00 +0200 (MET DST)


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.

--8323328-1089943134-938468040=:386
Content-Type: TEXT/PLAIN; charset=ISO-8859-1
Content-Transfer-Encoding: QUOTED-PRINTABLE

Hello,

I have found a trade-off that allows the driver to perform additionnal
checkings when it has to measure the SCSI clock of a chip and that also
allows people that want to overcook their data not to be refused to do so
by the driver, without adding any new boot option. This has been possible
by dropping support of 50 MHz SCSI clock which is a so stupid
configuration that I shouldn't ever have decided to support it.

People who want to know how it works can read comments in the patch=20
file, and give it a try, especially if driver 1.5e didn't agree with the
PCI clock frequency of their system.
You may want to report problems if any. Thanks.

(Btw, this is not the only change in this patch)

Patch against sym53c8xx-1.5e attached (driver version pre-1.5f-1).

G=E9rard.

--8323328-1089943134-938468040=:386
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="sym-pre-1.5f-1.patch"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.3.95.990927233400.386B@localhost>
Content-Description:

LS0tIC91c3Ivc3JjL2xpbnV4L2RyaXZlcnMvc2NzaS9zeW01M2M4eHguYy45
OTA5MjMJRnJpIFNlcCAyNCAyMzowMzoyNyAxOTk5DQorKysgL3Vzci9zcmMv
bGludXgvZHJpdmVycy9zY3NpL3N5bTUzYzh4eC5jCU1vbiBTZXAgMjcgMjI6
Mjc6MTUgMTk5OQ0KQEAgLTU1LDcgKzU1LDcgQEANCiAqLw0KIA0KIC8qDQot
KioJU2VwIDEwIDE5OTksIHN5bTUzYzh4eCAxLjVlDQorKioJU2VwIDI3IDE5
OTksIHN5bTUzYzh4eCBwcmUtMS41Zi0xDQogKioNCiAqKglTdXBwb3J0ZWQg
U0NTSSBmZWF0dXJlczoNCiAqKgkgICAgU3luY2hyb25vdXMgZGF0YSB0cmFu
c2ZlcnMNCkBAIC04Myw3ICs4Myw3IEBADQogLyoNCiAqKglOYW1lIGFuZCB2
ZXJzaW9uIG9mIHRoZSBkcml2ZXINCiAqLw0KLSNkZWZpbmUgU0NTSV9OQ1Jf
RFJJVkVSX05BTUUJInN5bTUzYzh4eCAtIHZlcnNpb24gMS41ZSINCisjZGVm
aW5lIFNDU0lfTkNSX0RSSVZFUl9OQU1FCSJzeW01M2M4eHggLSB2ZXJzaW9u
IHByZS0xLjVmLTEiDQogDQogLyogI2RlZmluZSBERUJVR184OTZSMSAqLw0K
ICNkZWZpbmUgU0NTSV9OQ1JfT1BUSU1JWkVfODk2DQpAQCAtMTg0Nyw2ICsx
ODQ3LDE2IEBADQogCXVfbG9uZwkJY2xvY2tfa2h6OwkvKiBTQ1NJIGNsb2Nr
IGZyZXF1ZW5jeSBpbiBLSHoJKi8NCiANCiAJLyotLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tDQorCSoqCVJhbmdlIGZvciB0aGUgUENJIGNsb2NrIGZyZXF1ZW5jeSBt
ZWFzdXJlbWVudCByZXN1bHQNCisJKioJdGhhdCBlbnN1cmVzIHRoZSBhbGdv
cml0aG0gdXNlZCBieSB0aGUgZHJpdmVyIGNhbiBiZSANCisJKioJdHJ1c3Rl
ZCBmb3IgdGhlIFNDU0kgY2xvY2sgZnJlcXVlbmN5IG1lYXN1cmVtZW50Lg0K
KwkqKgkoQXNzdW1pbmcgYSBQQ0kgY2xvY2sgZnJlcXVlbmN5IG9mIDMzIE1I
eikuDQorCSoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKwkqLw0KKwl1X2ludAkJ
cGNpY2xvY2tfbWluOw0KKwl1X2ludAkJcGNpY2xvY2tfbWF4Ow0KKw0KKwkv
Ki0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0NCiAJKioJU3RhcnQgcXVldWUgbWFuYWdl
bWVudC4NCiAJKioJSXQgaXMgZmlsbGVkIHVwIGJ5IHRoZSBob3N0IHByb2Nl
c3NvciBhbmQgYWNjZXNzZWQgYnkgdGhlIA0KIAkqKglTQ1JJUFRTIHByb2Nl
c3NvciBpbiBvcmRlciB0byBzdGFydCBTQ1NJIGNvbW1hbmRzLg0KQEAgLTE5
OTMsNyArMjAwMyw3IEBADQogKioJb2YgODI1QSwgODc1LCA4NzYsIDg5NSwg
ODk1QSBhbmQgODk2IGNoaXBzLg0KICovDQogc3RydWN0IHNjcmlwdCB7DQot
CW5jcmNtZAlzdGFydAkJWyAxOF07DQorCW5jcmNtZAlzdGFydAkJWyAxNF07
DQogCW5jcmNtZAlnZXRqb2JfYmVnaW4JWyAgNF07DQogCW5jcmNtZAlnZXRq
b2JfZW5kCVsgIDRdOw0KIAluY3JjbWQJc2VsZWN0CQlbICA4XTsNCkBAIC0y
MTE0LDcgKzIxMjQsNyBAQA0KIAluY3JjbWQJYmFkX2lkZW50aWZ5CVsgMTJd
Ow0KIAluY3JjbWQJYmFkX2lfdF9sCVsgIDRdOw0KIAluY3JjbWQJYmFkX2lf
dF9sX3EJWyAgNF07DQotCW5jcmNtZAliYWRfc3RhdHVzCVsgMTBdOw0KKwlu
Y3JjbWQJYmFkX3N0YXR1cwlbICA2XTsNCiAJbmNyY21kCXR3ZWFrX3Btaglb
IDEyXTsNCiAJbmNyY21kCXBtX2hhbmRsZQlbIDIwXTsNCiAJbmNyY21kCXBt
X2hhbmRsZTEJWyAgNF07DQpAQCAtMjMxOSwxNSArMjMyOSwxNCBAQA0KIAkq
Lw0KIAlTQ1JfRlJPTV9SRUcgKGlzdGF0KSwNCiAJCTAsDQotCVNDUl9KVU1Q
UiBeIElGRkFMU0UgKE1BU0sgKFNFTSwgU0VNKSksDQotCQkxNiwNCiAJLyoN
CiAJKioJUmVwb3J0IHRvIHRoZSBDIGNvZGUgdGhlIG5leHQgcG9zaXRpb24g
aW4gDQogCSoqCXRoZSBzdGFydCBxdWV1ZSB0aGUgU0NSSVBUUyB3aWxsIHNj
aGVkdWxlLg0KKwkqKglUaGUgQyBjb2RlIG11c3Qgbm90IGNoYW5nZSBTQ1JB
VENIQS4NCiAJKi8NCiAJU0NSX0xPQURfQUJTIChzY3JhdGNoYSwgNCksDQog
CQlQQUREUkggKHN0YXJ0cG9zKSwNCi0JU0NSX0lOVCwNCisJU0NSX0lOVCBe
IElGVFJVRSAoTUFTSyAoU0VNLCBTRU0pKSwNCiAJCVNJUl9TQ1JJUFRfU1RP
UFBFRCwNCiANCiAJLyoNCkBAIC0yMzQ0LDggKzIzNTMsNiBAQA0KIAkqKglt
YXkgaGFwcGVuIHRoYXQgdGhlIGpvYiBhZGRyZXNzIGlzIG5vdCB5ZXQgaW4g
dGhlIERTQSANCiAJKioJYW5kIHRoZSB0aGUgbmV4dCBxdWV1ZSBwb3NpdGlv
biBwb2ludHMgdG8gdGhlIG5leHQgSk9CLg0KIAkqLw0KLQlTQ1JfTE9BRF9B
QlMgKHNjcmF0Y2hhLCA0KSwNCi0JCVBBRERSSCAoc3RhcnRwb3MpLA0KIAlT
Q1JfTE9BRF9BQlMgKGRzYSwgNCksDQogCQlQQUREUkggKHN0YXJ0cG9zKSwN
CiAJU0NSX0xPQURfUkVMICh0ZW1wLCA0KSwNCkBAIC0zNzU1LDE3ICszNzYy
LDE0IEBADQogCQlQQUREUkggKGFib3J0X3Jlc2VsKSwNCiB9LyotLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tPCBCQURfU1RBVFVTID4tLS0tLS0tLS0tLS0t
LS0tLSovLHsNCiAJLyoNCi0JKioJSWYgY29tbWFuZCByZXN1bHRlZCBpbiBl
aXRoZXIgUVVFVUUgRlVMTCwNCi0JKioJQ0hFQ0sgQ09ORElUSU9OIG9yIENP
TU1BTkQgVEVSTUlOQVRFRCwNCi0JKioJY2FsbCB0aGUgQyBjb2RlLg0KKwkq
KglBbnl0aGluZyBkaWZmZXJlbnQgZnJvbSBJTlRFUk1FRElBVEUgDQorCSoq
CUNPTkRJVElPTiBNRVQgc2hvdWxkIGJlIGEgYmFkIFNDU0kgc3RhdHVzLCAN
CisJKioJZ2l2ZW4gdGhhdCBHT09EIHN0YXR1cyBoYXMgYWxyZWFkeSBiZWVu
IHRlc3RlZC4NCisJKioJQ2FsbCB0aGUgQyBjb2RlLg0KIAkqLw0KIAlTQ1Jf
TE9BRF9BQlMgKHNjcmF0Y2hhLCA0KSwNCiAJCVBBRERSSCAoc3RhcnRwb3Mp
LA0KLQlTQ1JfSU5UIF4gSUZUUlVFIChEQVRBIChTX1FVRVVFX0ZVTEwpKSwN
Ci0JCVNJUl9CQURfU1RBVFVTLA0KLQlTQ1JfSU5UIF4gSUZUUlVFIChEQVRB
IChTX0NIRUNLX0NPTkQpKSwNCi0JCVNJUl9CQURfU1RBVFVTLA0KLQlTQ1Jf
SU5UIF4gSUZUUlVFIChEQVRBIChTX1RFUk1JTkFURUQpKSwNCisJU0NSX0lO
VCBeIElGRkFMU0UgKERBVEEgKFNfQ09ORF9NRVQpKSwNCiAJCVNJUl9CQURf
U1RBVFVTLA0KIAlTQ1JfUkVUVVJOLA0KIAkJMCwNCkBAIC01MTgxLDE1ICs1
MTg1LDQ4IEBADQogCSh2b2lkKSBuY3JfcHJlcGFyZV9zZXR0aW5nKG5wLCBu
dnJhbSk7DQogDQogCS8qDQotCSoqCUNoZWNrIHRoZSBQQ0kgY2xvY2sgZnJl
cXVlbmN5Lg0KLQkqKglNdXN0IGJlIGRvbmUgYWZ0ZXIgcHJlcGFyZV9zZXR0
aW5nIHNpbmNlIGl0IA0KLQkqKglkZXN0cm95cyBTVEVTVDEgdGhhdCBpcyB1
c2VkIHRvIHByb2JlIGZvciANCi0JKioJdGhlIGNsb2NrIGRvdWJsZXIuDQot
CSovDQotCWkgPSAoaW50KSBuY3JfZ2V0cGNpY2xvY2sobnApOw0KLQlpZiAo
aSA+IDM3MDAwKSB7DQotCQlwcmludGsoS0VSTl9FUlIgIiVzOiBQQ0kgY2xv
Y2sgc2VlbXMgdG9vIGhpZ2ggKCV1IEtIeikuXG4iLA0KLQkJICAgICAgIG5j
cl9uYW1lKG5wKSwgaSk7DQorCSoqCUNoZWNrIHRoZSBQQ0kgY2xvY2sgZnJl
cXVlbmN5IGlmIG5lZWRlZC4NCisJKioJDQorCSoqCU11c3QgYmUgZG9uZSBh
ZnRlciBuY3JfcHJlcGFyZV9zZXR0aW5nIHNpbmNlIGl0IGRlc3Ryb3lzIA0K
KwkqKglTVEVTVDEgdGhhdCBpcyB1c2VkIHRvIHByb2JlIGZvciB0aGUgY2xv
Y2sgbXVsdGlwbGllci4NCisJKioNCisJKioJVGhlIHJhbmdlIGlzIGN1cnJl
bnRseSBbMjI2ODggLSA0NTM3NSBLaHpdLCBnaXZlbiANCisJKioJdGhlIHZh
bHVlcyB1c2VkIGJ5IG5jcl9nZXRjbG9jaygpLg0KKwkqKglUaGlzIGNhbGli
cmF0aW9uIG9mIHRoZSBmcmVxdWVjeSBtZWFzdXJlbWVudCANCisJKioJYWxn
b3JpdGhtIGFnYWluc3QgdGhlIFBDSSBjbG9jayBmcmVxdWVuY3kgaXMgb25s
eSANCisJKioJcGVyZm9ybWVkIGlmIHRoZSBkcml2ZXIgaGFzIGhhZCB0byBt
ZWFzdXJlIHRoZSBTQ1NJIA0KKwkqKgljbG9jayBkdWUgdG8gb3RoZXIgaGV1
cmlzdGljcyBub3QgaGF2aW5nIGJlZW4gZW5vdWdoIA0KKwkqKgl0byBkZWR1
Y2UgdGhlIFNDU0kgY2xvY2sgZnJlcXVlbmN5Lg0KKwkqKg0KKwkqKglXaGVu
IHRoZSBjaGlwIGhhcyBiZWVuIGluaXRpYWxpemVkIGNvcnJlY3RseSBieSB0
aGUgDQorCSoqCVNDU0kgQklPUywgdGhlIGRyaXZlciBkZWR1Y2VzIHRoZSBw
cmVzZW5jZSBvZiB0aGUgDQorCSoqCWNsb2NrIG11bHRpcGxpZXIgYW5kIHRo
ZSB2YWx1ZSBvZiB0aGUgU0NTSSBjbG9jayBmcm9tIA0KKwkqKglpbml0aWFs
IHZhbHVlcyBvZiBJTyByZWdpc3RlcnMsIGFuZCB0aGVyZWZvcmUgbm8gDQor
CSoqCWNsb2NrIG1lYXN1cmVtZW50IGlzIHBlcmZvcm1lZC4NCisJKioJTm9y
bWFsbHkgdGhlIGRyaXZlciBzaG91bGQgbmV2ZXIgaGF2ZSB0byBtZWFzdXJl
IGFueSANCisJKioJY2xvY2ssIHVubGVzcyB0aGUgY29udHJvbGxlciBtYXkg
dXNlIGEgODAgTUh6IGNsb2NrIA0KKwkqKglvciBoYXMgYSBjbG9jayBtdWx0
aXBsaWVyIGFuZCBhbnkgb2YgdGhlIGZvbGxvd2luZyANCisJKioJY29uZGl0
aW9uIGlzIG1ldDoNCisJKioNCisJKioJLSBObyBTQ1NJIEJJT1MgaXMgcHJl
c2VudC4NCisJKioJLSBTQ1NJIEJJT1MgZGlkJ250IGVuYWJsZSB0aGUgbXVs
dGlwbGllciBmb3Igc29tZSByZWFzb24uDQorCSoqCS0gVXNlciBoYXMgZGlz
YWJsZWQgdGhlIGNvbnRyb2xsZXIgZnJvbSB0aGUgU0NTSSBCSU9TLg0KKwkq
KgktIFVzZXIgYm9vdGVkIHRoZSBPL1MgZnJvbSBhbm90aGVyIE8vUyB0aGF0
IGRpZCdudCBlbmFibGUgDQorCSoqCSAgdGhlIG11bHRpcGxpZXIgZm9yIHNv
bWUgcmVhc29uLg0KKwkqKg0KKwkqKglBcyBhIHJlc3VsdCwgdGhlIGRyaXZl
ciBtYXkgb25seSBoYXZlIHRvIG1lYXN1cmUgc29tZSANCisJKioJZnJlcXVl
bmN5IGluIHZlcnkgdW51c3VhbCBzaXR1YXRpb25zLg0KKwkqKg0KKwkqKglG
b3IgdGhpcyByZWFsaXR5IHRlc3QgYWdhaW5zdCB0aGUgUENJIGNsb2NrIHRv
IHJlYWxseSANCisJKioJcHJvdGVjdCBhZ2FpbnN0IGZsYXdzIGluIHRoZSB1
ZGVsYXkoKSBjYWxpYnJhdGlvbiBvciANCisJKioJZHJpdmVyIHByb2JsZW0g
dGhhdCBhZmZlY3QgdGhlIGNsb2NrIG1lYXN1cmVtZW50IA0KKwkqKglhbGdv
cml0aG0sIHRoZSBhY3R1YWwgUENJIGNsb2NrIGZyZXF1ZW5jeSBtdXN0IGJl
IDMzIE1Iei4NCisJKi8NCisJaSA9IG5wLT5wY2ljbG9ja19tYXggPyBuY3Jf
Z2V0cGNpY2xvY2sobnApIDogMDsNCisJaWYgKGkgJiYgKGkgPCBucC0+cGNp
Y2xvY2tfbWluICB8fCBpID4gbnAtPnBjaWNsb2NrX21heCkpIHsNCisJCXBy
aW50ayhLRVJOX0VSUiAiJXM6IFBDSSBjbG9jayAoJXUgS0h6KSBpcyBvdXQg
b2YgcmFuZ2UgIg0KKwkJCSJbJXUgS0h6IC0gJXUgS0h6XS5cbiIsDQorCQkg
ICAgICAgbmNyX25hbWUobnApLCBpLCBucC0+cGNpY2xvY2tfbWluLCBucC0+
cGNpY2xvY2tfbWF4KTsNCiAJCWdvdG8gYXR0YWNoX2Vycm9yOw0KIAl9DQog
DQpAQCAtODUwOSw4MiArODU0Niw2NCBAQA0KIAl1X2ludDMyCQlzdGFydHA7
DQogCXVfY2hhcgkJc19zdGF0dXMgPSBJTkIgKFNTX1BSVCk7DQogCWludAkJ
bXNnbGVuOw0KKwlpbnQJCWksIGo7DQorDQogDQogCS8qDQorCSoqCUlmIHRo
ZSBMQ0IgaXMgbm90IHlldCBhdmFpbGFibGUsIHRoZW4gb25seSANCisJKioJ
MSBJTyBpcyBhY2NlcHRlZCwgc28gd2Ugc2hvdWxkIGhhdmUgaXQuDQorCSov
DQorCWlmICghbHApDQorCQlnb3RvIG5leHQ7CQ0KKwkvKg0KIAkqKglSZW1v
dmUgYWxsIENDQnMgcXVldWVkIHRvIHRoZSBjaGlwIGZvciB0aGF0IExVTiBh
bmQgcHV0IA0KIAkqKgl0aGVtIGJhY2sgaW4gdGhlIExVTiBDQ0Igd2FpdCBx
dWV1ZS4NCiAJKi8NCi0JaWYgKGxwKSB7DQotCQlpbnQgaSA9IG5wLT5zcXVl
dWVwdXQ7DQotCQlpbnQgaiA9IChJTkwgKG5jX3NjcmF0Y2hhKSAtIHZ0b2J1
cyhucC0+c3F1ZXVlKSkgLyA0Ow0KLQkJaW50IGsgPSBucC0+c3F1ZXVlcHV0
Ow0KLQ0KLQkJYnVzeWNjYnMgPSBscC0+cXVldWVkY2NiczsNCi0JCXdoaWxl
ICgxKSB7DQotCQkJaWYgKGkgPT0gaikNCi0JCQkJYnJlYWs7DQotCQkJaWYg
KGkgPT0gMCkNCi0JCQkJaSA9IE1BWF9TVEFSVCoyOw0KLQkJCWkgPSBpIC0g
MjsNCi0JCQljcDIgPSBuY3JfY2NiX2Zyb21fZHNhKG5wLCBzY3JfdG9fY3B1
KG5wLT5zcXVldWVbaV0pKTsNCi0JCQlpZiAoIWNwMikNCi0JCQkJY29udGlu
dWU7DQotCQkJaWYgKGNwMi0+dGFyZ2V0ICE9IGNwLT50YXJnZXQgfHwgY3Ay
LT5sdW4gIT0gY3AtPmx1bikNCi0JCQkJY29udGludWU7DQorCWJ1c3ljY2Jz
ID0gbHAtPnF1ZXVlZGNjYnM7DQorCWkgPSAoSU5MIChuY19zY3JhdGNoYSkg
LSB2dG9idXMobnAtPnNxdWV1ZSkpIC8gNDsNCisJaiA9IGk7DQorCXdoaWxl
IChpICE9IG5wLT5zcXVldWVwdXQpIHsNCisJCWNwMiA9IG5jcl9jY2JfZnJv
bV9kc2EobnAsIHNjcl90b19jcHUobnAtPnNxdWV1ZVtpXSkpOw0KKwkJYXNz
ZXJ0KGNwMik7DQogI2lmZGVmIFNDU0lfTkNSX0lBUkJfU1VQUE9SVA0KLQkJ
CWNwMi0+aG9zdF9mbGFncyAmPSB+SEZfSElOVF9JQVJCOw0KLQkJCWlmIChj
cDIgPT0gbnAtPmxhc3RfY3ApDQotCQkJCW5wLT5sYXN0X2NwID0gMDsNCisJ
CS8qIElBUkIgaGludHMgbWF5IG5vdCBiZSByZWxldmFudCBhbnkgbW9yZS4g
Rm9yZ2V0IHRoZW0uICovDQorCQljcDItPmhvc3RfZmxhZ3MgJj0gfkhGX0hJ
TlRfSUFSQjsNCiAjZW5kaWYNCisJCWlmIChjcDIgJiYgY3AyLT50YXJnZXQg
PT0gY3AtPnRhcmdldCAmJiBjcDItPmx1biA9PSBjcC0+bHVuKSB7DQogCQkJ
eHB0X3JlbXF1ZSgmY3AyLT5saW5rX2NjYnEpOw0KIAkJCXhwdF9pbnNxdWVf
aGVhZCgmY3AyLT5saW5rX2NjYnEsICZscC0+d2FpdF9jY2JxKTsNCiAJCQkt
LWxwLT5xdWV1ZWRjY2JzOw0KIAkJCWNwMi0+cXVldWVkID0gMDsNCi0JCQlu
cC0+c3F1ZXVlW2ldID0gRFNBX0lOVkFMSUQ7DQotCQkJayA9IGk7DQogCQl9
DQorCQllbHNlIHsNCisJCQlpZiAoaSAhPSBqKQ0KKwkJCQlucC0+c3F1ZXVl
W2pdID0gbnAtPnNxdWV1ZVtpXTsNCisJCQlpZiAoKGogKz0gMikgPj0gTUFY
X1NUQVJUKjIpIGogPSAwOw0KKwkJfQ0KKwkJaWYgKChpICs9IDIpID49IE1B
WF9TVEFSVCoyKSBpID0gMDsNCisJfQ0KKwlpZiAoaSAhPSBqKQkJLyogQ29w
eSBiYWNrIHRoZSBpZGxlIHRhc2sgaWYgbmVlZGVkICovDQorCQlucC0+c3F1
ZXVlW2pdID0gbnAtPnNxdWV1ZVtpXTsNCisJbnAtPnNxdWV1ZXB1dCA9IGo7
CS8qIFVwZGF0ZSBvdXIgY3VycmVudCBzdGFydCBxdWV1ZSBwb2ludGVyICov
DQogDQotCQkvKg0KLQkJKioJUmVxdWV1ZSB0aGUgaW50ZXJydXB0ZWQgQ0NC
IGluIGZyb250IG9mIA0KLQkJKioJdGhlIExVTiBDQ0Igd2FpdCBxdWV1ZS4N
Ci0JCSovDQotI2lmZGVmIFNDU0lfTkNSX0lBUkJfU1VQUE9SVA0KLQkJY3At
Pmhvc3RfZmxhZ3MgJj0gfkhGX0hJTlRfSUFSQjsNCi0JCWlmIChjcCA9PSBu
cC0+bGFzdF9jcCkNCi0JCQlucC0+bGFzdF9jcCA9IDA7DQotI2VuZGlmDQot
CQl4cHRfcmVtcXVlKCZjcC0+bGlua19jY2JxKTsNCi0JCXhwdF9pbnNxdWVf
aGVhZCgmY3AtPmxpbmtfY2NicSwgJmxwLT53YWl0X2NjYnEpOw0KLQkJLS1s
cC0+cXVldWVkY2NiczsNCi0JCWNwLT5xdWV1ZWQgPSAwOw0KKwkvKg0KKwkq
KglSZXF1ZXVlIHRoZSBpbnRlcnJ1cHRlZCBDQ0IgaW4gZnJvbnQgb2YgdGhl
IA0KKwkqKglMVU4gQ0NCIHdhaXQgcXVldWUgdG8gcHJlc2VydmUgb3JkZXJp
bmcuDQorCSovDQorCXhwdF9yZW1xdWUoJmNwLT5saW5rX2NjYnEpOw0KKwl4
cHRfaW5zcXVlX2hlYWQoJmNwLT5saW5rX2NjYnEsICZscC0+d2FpdF9jY2Jx
KTsNCisJLS1scC0+cXVldWVkY2NiczsNCisJY3AtPnF1ZXVlZCA9IDA7DQor
DQorbmV4dDoNCiANCiAjaWZkZWYgU0NTSV9OQ1JfSUFSQl9TVVBQT1JUDQot
CQlpZiAobnAtPmxhc3RfY3ApDQotCQkJbnAtPmxhc3RfY3AtPmhvc3RfZmxh
Z3MgJj0gfkhGX0hJTlRfSUFSQjsNCisJLyogSUFSQiBoaW50IG1heSBub3Qg
YmUgcmVsZXZhbnQgYW55IG1vcmUuIEZvcmdldCBpdC4gKi8NCisJY3AtPmhv
c3RfZmxhZ3MgJj0gfkhGX0hJTlRfSUFSQjsNCisJaWYgKG5wLT5sYXN0X2Nw
KQ0KKwkJbnAtPmxhc3RfY3AgPSAwOw0KICNlbmRpZg0KIA0KLQkJLyoNCi0J
CSoqCVJlcGFpciB0aGUgc3RhcnRxdWV1ZSBpZiBuZWNlc3NhcnkuDQotCQkq
Lw0KLQkJaWYgKGsgIT0gbnAtPnNxdWV1ZXB1dCkgew0KLQkJCWogPSBrOw0K
LQkJCXdoaWxlICgxKSB7DQotCQkJCWogKz0gMjsNCi0JCQkJaWYgKGogPj0g
TUFYX1NUQVJUKjIpDQotCQkJCQlqID0gMDsNCi0JCQkJaWYgKG5wLT5zcXVl
dWVbal0gPT0gRFNBX0lOVkFMSUQpDQotCQkJCQljb250aW51ZTsNCi0JCQkJ
bnAtPnNxdWV1ZVtrXSA9IG5wLT5zcXVldWVbal07DQotCQkJCWlmIChqID09
IG5wLT5zcXVldWVwdXQpDQotCQkJCQlicmVhazsNCi0JCQkJayArPSAyOw0K
LQkJCQlpZiAoayA+PSBNQVhfU1RBUlQqMikNCi0JCQkJCWsgPSAwOw0KLQkJ
CX0NCi0JCQlucC0+c3F1ZXVlcHV0ID0gazsNCi0JCX0NCi0JfQ0KLQ0KIAkv
Kg0KIAkqKglOb3cgd2UgY2FuIHJlc3RhcnQgdGhlIFNDUklQVFMgcHJvY2Vz
c29yIHNhZmVseS4NCiAJKi8NCkBAIC04NTkyLDcgKzg2MTEsMTAgQEANCiAJ
T1VUTCAobmNfZHNwLCBOQ0JfU0NSSVBUX1BIWVMgKG5wLCBzdGFydCkpOw0K
IA0KIAlzd2l0Y2goc19zdGF0dXMpIHsNCi0JZGVmYXVsdDoJLyogSnVzdCBm
b3Igc2FmZXR5LCBzaG91bGQgbmV2ZXIgaGFwcGVuICovDQorCWRlZmF1bHQ6
DQorCWNhc2UgU19CVVNZOg0KKwkJbmNyX2NvbXBsZXRlKG5wLCBjcCk7DQor
CQlicmVhazsNCiAJY2FzZSBTX1FVRVVFX0ZVTEw6DQogCQlpZiAoIWxwIHx8
ICFscC0+cXVldWVkY2Nicykgew0KIAkJCW5jcl9jb21wbGV0ZShucCwgY3Ap
Ow0KQEAgLTg5NTEsNiArODk3Myw3IEBADQogCQkJYXNzZXJ0KGsgIT0gLTEp
Ow0KIAkJCWlmIChrICE9IDEpIHsNCiAJCQkJbnAtPnNxdWV1ZVtrXSA9IG5w
LT5zcXVldWVbaV07IC8qIElkbGUgdGFzayAqLw0KKwkJCQlucC0+c3F1ZXVl
cHV0ID0gazsgLyogU3RhcnQgcXVldWUgcG9pbnRlciAqLw0KIAkJCQljcC0+
aG9zdF9zdGF0dXMgPSBIU19BQk9SVEVEOw0KIAkJCQljcC0+c2NzaV9zdGF0
dXMgPSBTX0lMTEVHQUw7DQogCQkJCW5jcl9jb21wbGV0ZShucCwgY3ApOw0K
QEAgLTEwOTQ0LDExICsxMDk2NywxOCBAQA0KIAkJaWYgKGJvb3R2ZXJib3Nl
KQ0KIAkJCXByaW50ayAoIiVzOiBOQ1IgY2xvY2sgaXMgJXVLSHpcbiIsIG5j
cl9uYW1lKG5wKSwgZjEpOw0KIA0KLQkJaWYJKGYxIDwJNDUwMDApCQlmMSA9
ICA0MDAwMDsNCi0JCWVsc2UgaWYgKGYxIDwJNTUwMDApCQlmMSA9ICA1MDAw
MDsNCisJCWlmCShmMSA8IDU1MDAwKQkJZjEgPSAgNDAwMDA7DQogCQllbHNl
CQkJCWYxID0gIDgwMDAwOw0KIA0KLQkJaWYgKGYxIDwgODAwMDAgJiYgbXVs
dCA+IDEpIHsNCisJCS8qDQorCQkqKglTdWdnZXN0IHRvIGFsc28gY2hlY2sg
dGhlIFBDSSBjbG9jayBmcmVxdWVuY3kgDQorCQkqKgl0byBtYWtlIHN1cmUg
b3VyIGZyZXF1ZW5jeSBjYWxjdWxhdGlvbiBhbGdvcml0aG0gDQorCQkqKglp
cyBub3QgdG9vIGJpYXNlZC4NCisJCSovDQorCQlucC0+cGNpY2xvY2tfbWlu
ID0gKDMzMDAwKjU1KzgwLTEpLzgwOw0KKwkJbnAtPnBjaWNsb2NrX21heCA9
ICgzMzAwMCo1NSkvNDA7DQorDQorCQlpZiAoZjEgPT0gNDAwMDAgJiYgbXVs
dCA+IDEpIHsNCiAJCQlpZiAoYm9vdHZlcmJvc2UgPj0gMikNCiAJCQkJcHJp
bnRrICgiJXM6IGNsb2NrIG11bHRpcGxpZXIgYXNzdW1lZFxuIiwgbmNyX25h
bWUobnApKTsNCiAJCQlucC0+bXVsdGlwbGllcgk9IG11bHQ7DQpAQCAtMTA5
NzMsMTMgKzExMDAzLDEyIEBADQogICovDQogc3RhdGljIHVfaW50IF9faW5p
dCBuY3JfZ2V0cGNpY2xvY2sgKG5jYl9wIG5wKQ0KIHsNCi0Jc3RhdGljIHVf
aW50IGYgPSAwOw0KKwlzdGF0aWMgdV9pbnQgZjsNCisNCisJT1VUQiAobmNf
c3Rlc3QxLCBTQ0xLKTsJLyogVXNlIHRoZSBQQ0kgY2xvY2sgYXMgU0NTSSBj
bG9jayAqLw0KKwlmID0gbmNyX2dldGZyZXEgKG5wKTsNCisJT1VUQiAobmNf
c3Rlc3QxLCAwKTsNCiANCi0JaWYgKCFmKSB7DQotCQlPVVRCIChuY19zdGVz
dDEsIFNDTEspOwkvKiBVc2UgdGhlIFBDSSBjbG9jayBhcyBTQ1NJIGNsb2Nr
ICovDQotCQlmID0gbmNyX2dldGZyZXEgKG5wKTsNCi0JCU9VVEIgKG5jX3N0
ZXN0MSwgMCk7DQotCX0NCiAJcmV0dXJuIGY7DQogfQ0KIA0K
--8323328-1089943134-938468040=:386--

-
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/