[patch] drivers/net/plip.c

Ely Wilson (plexus@ionet.net)
Sat, 30 Jan 1999 01:33:37 -0700 (MST)


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-1697589865-917685217=:4228
Content-Type: TEXT/PLAIN; charset=US-ASCII

A few days ago I posted a patch for drivers/net/plip.c, at least I think, I
may have dreamed the whole event.

But yet I have received no response. I don't know if this is because no-one
else cares about plip.c or maybe that no-one believed me when I stated that
the driver is *still* broken (as per 2.2.0-final release) and the initial
bugfix (from 2.2.0-pre) did not fix the problem in 2.2.0, what it did was
added a 1 in 4 chance that the code would not faulter.

I took an older plip.c, which I knew used to work (take your pick), and
diff'd it against 2.2.0, noted all changes (growel) and then repaired the
older code. This patch will apply to 2.2.1, I know that Linus is not
accepting any patches that don't address 'real showstoppers'.. So what
should I do now? When is a good time to submit a patch to the lkml?

----------------------------------------------------------
---- ely --- <plexus@ionet.net> ------

"If God had hands who would he smack first?"

--8323328-1697589865-917685217=:4228
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="plip.c-diff"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.05.9901300133370.4228@localhost.localdomain>
Content-Description:
Content-Disposition: attachment; filename="plip.c-diff"

LS0tIHBsaXAuYy1vbGQJV2VkIEphbiAyNyAwODozNjozNSAxOTk5DQorKysg
cGxpcC5jCVNhdCBKYW4gMzAgMDE6MTU6NDcgMTk5OQ0KQEAgLTI1LDYgKzI1
LDE2IEBADQogICoJCSAgLSBDaGFuZ2VkIHtlbmFibGUsZGlzYWJsZX1faXJx
IGhhbmRsaW5nIHRvIG1ha2UgaXQgd29yaw0KICAqCQkgICAgd2l0aCBuZXcg
KCJzdGFjayIpIHNlbWFudGljcy4NCiAgKg0KKyAqCQlFbHkgV2lsc29uIDxw
bGV4dXNAaW9uZXQubmV0PiAoc3VwcG9ydGl2ZSBtYWludGFpbmVyPykNCisg
KgkJICAtIHJld29ya2VkIG5ldF9kZWJ1Zy4gTkVUX0RFQlVHIG5vdyBkZWZh
dWx0cyB0byAwLCBhIGZldw0KKyAqCQkgICAgcHJpbnRrJ3Mgd2VyZSBtb3Zl
ZCBpbnRvIGlmIChuZXRfZGVidWcgPiAwKSBibG9ja3MgYW5kDQorICoJCSAg
ICBhIHNpbGx5IHByb2JsZW0gd2l0aCBwbGlwIGlnbm9yaW5nIG5ldF9kZWJ1
ZyB2YWx1ZXMgb2YgMg0KKyAqCQkgICAgd2FzIGZpeGVkIHdoZXJlIGFwcHJv
cHJpYXRlLg0KKyAqCQkgIC0gYSBidWcgaW4gdGhlIGlycSBlbmFibGUgY29k
ZSB3YXMgZml4ZWQsIGFzIHdlbGwgYXMgbmV3DQorICoJCSAgICBtYWNyb3Mg
dG8gaGFuZGxlIGlycSBlbmFibGUvZGlzYWJsZS4gIHNwaW4gbG9ja3MgYXJl
IHN0aWxsDQorICoJCSAgICBlbXBsb3llZCBidXQgdW5sZXNzIHlvdSBkZWZp
bmUgUExJUF9VU0VfSVJRIHRoZSBpcnEgZW5hYmxlDQorICoJCSAgICBkaXNh
YmxlIG1hY3JvcyB3aWxsIGRlZmF1bHQgdG8gTk9QcyAoYWhlbSkNCisgKg0K
ICAqCQlUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yDQogICoJCW1vZGlmeSBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQog
ICoJCWFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uOyBlaXRoZXIgdmVyc2lvbg0KQEAgLTExNiwxNyArMTI2LDE0IEBADQog
I2luY2x1ZGUgPGxpbnV4L3BhcnBvcnQuaD4NCiANCiAvKiBNYXhpbXVtIG51
bWJlciBvZiBkZXZpY2VzIHRvIHN1cHBvcnQuICovDQotI2RlZmluZSBQTElQ
X01BWCAgOA0KKyNkZWZpbmUgUExJUF9NQVggIFBBUlBPUlRfTUFYDQogDQot
LyogVXNlIDAgZm9yIHByb2R1Y3Rpb24sIDEgZm9yIHZlcmlmaWNhdGlvbiwg
PjIgZm9yIGRlYnVnICovDQorLyogVXNlIDAgZm9yIHByb2R1Y3Rpb24sIDEg
Zm9yIHZlcmlmaWNhdGlvbiwgPj0gMiBmb3IgZGVidWcgKi8NCiAjaWZuZGVm
IE5FVF9ERUJVRw0KLSNkZWZpbmUgTkVUX0RFQlVHIDENCisjZGVmaW5lIE5F
VF9ERUJVRyAwDQogI2VuZGlmDQogc3RhdGljIHVuc2lnbmVkIGludCBuZXRf
ZGVidWcgPSBORVRfREVCVUc7DQogDQotI2RlZmluZSBFTkFCTEUoaXJxKSBl
bmFibGVfaXJxKGlycSkNCi0jZGVmaW5lIERJU0FCTEUoaXJxKSBkaXNhYmxl
X2lycShpcnEpDQotDQogLyogSW4gbWljcm8gc2Vjb25kICovDQogI2RlZmlu
ZSBQTElQX0RFTEFZX1VOSVQJCSAgIDENCiANCkBAIC0xMzYsMTkgKzE0Myw0
OSBAQA0KIC8qIE5pYmJsZSB0aW1lIG91dCA9IFBMSVBfTklCQkxFX1dBSVQg
KiBQTElQX0RFTEFZX1VOSVQgdXNlYyAqLw0KICNkZWZpbmUgUExJUF9OSUJC
TEVfV0FJVCAgICAgICAgMzAwMA0KIA0KLSNkZWZpbmUgUEFSX0lOVFJfT04J
CShMUF9QSU5JVFB8TFBfUFNFTEVDUHxMUF9QSU5URU4pDQotI2RlZmluZSBQ
QVJfSU5UUl9PRkYJCShMUF9QSU5JVFB8TFBfUFNFTEVDUCkNCisvKiBwYXJw
b3J0IGNvbnRyb2xsZXIgY29kZXMgKGludGVycnVwdCBlbmFibGUoaW50ZW4p
IG1peGVkIHdpdGggb3V0cHV0IG1vZGVzKSAqLw0KKyNkZWZpbmUgUEFSX0lO
VFJfT04JCShQQVJQT1JUX0NPTlRST0xfSU5JVHxQQVJQT1JUX0NPTlRST0xf
U0VMRUNUfFBBUlBPUlRfQ09OVFJPTF9JTlRFTikNCisjZGVmaW5lIFBBUl9J
TlRSX09GRgkJKFBBUlBPUlRfQ09OVFJPTF9JTklUfFBBUlBPUlRfQ09OVFJP
TF9TRUxFQ1QpDQorDQorLyogcGFycG9ydCBkYXRhLCBjb250cm9sIGFuZCBz
dGF0dXMgbGluZSBwb3J0IG9mZnNldHMgKi8NCiAjZGVmaW5lIFBBUl9EQVRB
KGRldikJCSgoZGV2KS0+YmFzZV9hZGRyKzApDQogI2RlZmluZSBQQVJfU1RB
VFVTKGRldikJCSgoZGV2KS0+YmFzZV9hZGRyKzEpDQogI2RlZmluZSBQQVJf
Q09OVFJPTChkZXYpCSgoZGV2KS0+YmFzZV9hZGRyKzIpDQogDQotLyogQm90
dG9tIGhhbGZzICovDQorLyogcmV0dXJuIHZhbHVlcyAqLw0KKyNkZWZpbmUg
T0sgICAgICAgIDANCisjZGVmaW5lIFRJTUVPVVQgICAxDQorI2RlZmluZSBF
UlJPUiAgICAgMg0KKw0KKy8qIGJvdHRvbS1oYWxmIGZ1bmN0aW9ucyAqLw0K
IHN0YXRpYyB2b2lkIHBsaXBfa2lja19iaChzdHJ1Y3QgZGV2aWNlICpkZXYp
Ow0KIHN0YXRpYyB2b2lkIHBsaXBfYmgoc3RydWN0IGRldmljZSAqZGV2KTsN
CiANCi0vKiBJbnRlcnJ1cHQgaGFuZGxlciAqLw0KKy8qIGludGVycnVwdCBo
YW5kbGVyICovDQogc3RhdGljIHZvaWQgcGxpcF9pbnRlcnJ1cHQoaW50IGly
cSwgdm9pZCAqZGV2X2lkLCBzdHJ1Y3QgcHRfcmVncyAqcmVncyk7DQogDQor
LyogaXJxIGNvZGUgKi8NCisjaWZuZGVmIFBMSVBfVVNFX0lSUQ0KKyNkZWZp
bmUgUExJUF9FTkFCTEVfSVJRKGRldmljZSkgOw0KKyNkZWZpbmUgUExJUF9E
SVNBQkxFX0lSUShkZXZpY2UpIDsgDQorI2Vsc2UNCitzdGF0aWMgaW50IHBs
aXBfaXJxX3N0YXRlW05SX0lSUVNdID0geyAwIH07DQorI2RlZmluZSBQTElQ
X0VOQUJMRV9JUlEoZGV2aWNlKSBcDQorCWlmICghcGxpcF9pcnFfc3RhdGVb
ZGV2aWNlLT5pcnFdKSB7IFwNCisJCXBsaXBfaXJxX3N0YXRlW2RldmljZS0+
aXJxXSBePSAxOyBcDQorCQllbmFibGVfaXJxKGRldmljZS0+aXJxKTsgXA0K
Kwl9IGVsc2UgaWYgKG5ldF9kZWJ1ZyA+IDApIHsgXA0KKwkJcHJpbnRrKEtF
Uk5fV0FSTklORyAicGxpcDogSVJRICVkIGFscmVhZHkgdXAuXG4iLCBkZXZp
Y2UtPmlycSk7IFwNCisJfQ0KKyNkZWZpbmUgUExJUF9ESVNBQkxFX0lSUShk
ZXZpY2UpIFwNCisJaWYgKHBsaXBfaXJxX3N0YXRlW2RldmljZS0+aXJxXSkg
eyBcDQorCQlwbGlwX2lycV9zdGF0ZVtkZXZpY2UtPmlycV0gXj0gMTsgXA0K
KwkJZGlzYWJsZV9pcnEoZGV2aWNlLT5pcnEpOyBcDQorCX0gZWxzZSBpZiAo
bmV0X2RlYnVnID4gMCkgeyBcDQorCQlwcmludGsoS0VSTl9XQVJOSU5HICJw
bGlwOiBJUlEgJWQgd2FzIG5vdCB1cC5cbiIsIGRldmljZS0+aXJxKTsgXA0K
Kwl9DQorI2VuZGlmDQorDQogLyogRnVuY3Rpb25zIGZvciBERVYgbWV0aG9k
cyAqLw0KIHN0YXRpYyBpbnQgcGxpcF9yZWJ1aWxkX2hlYWRlcihzdHJ1Y3Qg
c2tfYnVmZiAqc2tiKTsNCiBzdGF0aWMgaW50IHBsaXBfdHhfcGFja2V0KHN0
cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBkZXZpY2UgKmRldik7DQpAQCAt
MTU5LDcgKzE5Niw3IEBADQogc3RhdGljIGludCBwbGlwX2lvY3RsKHN0cnVj
dCBkZXZpY2UgKmRldiwgc3RydWN0IGlmcmVxICppZnIsIGludCBjbWQpOw0K
IHN0YXRpYyBpbnQgcGxpcF9wcmVlbXB0KHZvaWQgKmhhbmRsZSk7DQogc3Rh
dGljIHZvaWQgcGxpcF93YWtldXAodm9pZCAqaGFuZGxlKTsNCi0MDQorDQog
ZW51bSBwbGlwX2Nvbm5lY3Rpb25fc3RhdGUgew0KIAlQTElQX0NOX05PTkU9
MCwNCiAJUExJUF9DTl9SRUNFSVZFLA0KQEAgLTE4MCw3ICsyMTcsNyBAQA0K
IGVudW0gcGxpcF9uaWJibGVfc3RhdGUgew0KIAlQTElQX05CX0JFR0lOLA0K
IAlQTElQX05CXzEsDQotCVBMSVBfTkJfMiwNCisJUExJUF9OQl8yDQogfTsN
CiANCiBzdHJ1Y3QgcGxpcF9sb2NhbCB7DQpAQCAtMjIzLDcgKzI2MCw3IEBA
DQogCWludCAoKm9yaWdfcmVidWlsZF9oZWFkZXIpKHN0cnVjdCBza19idWZm
ICpza2IpOw0KIAlzcGlubG9ja190IGxvY2s7DQogfTsNCi0MDQorDQogLyog
RW50cnkgcG9pbnQgb2YgUExJUCBkcml2ZXIuDQogICAgUHJvYmUgdGhlIGhh
cmR3YXJlLCBhbmQgcmVnaXN0ZXIvaW5pdGlhbGl6ZSB0aGUgZHJpdmVyLg0K
IA0KQEAgLTI0MywyMSArMjgwLDI2IEBADQogCWRldi0+YmFzZV9hZGRyID0g
cGItPmJhc2U7DQogDQogCWlmIChwYi0+aXJxID09IC0xKSB7DQotCQlwcmlu
dGsoS0VSTl9JTkZPICJwbGlwOiAlcyBoYXMgbm8gSVJRLlxuIiwgcGItPm5h
bWUpOw0KKwkJcHJpbnRrKEtFUk5fSU5GTyAiJXM6IHBvcnQgJSMzbHggaGFz
IG5vIGFzc2lnbmVkIElSUS5cbiIsIHBiLT5uYW1lLCBkZXYtPmJhc2VfYWRk
cik7DQogCQlyZXR1cm4gLUVOT0RFVjsNCiAJfQ0KIA0KIAlwYXJkZXYgPSBw
YXJwb3J0X3JlZ2lzdGVyX2RldmljZShwYiwgZGV2LT5uYW1lLCBwbGlwX3By
ZWVtcHQsDQogCQkJCQkgcGxpcF93YWtldXAsIHBsaXBfaW50ZXJydXB0LCAN
Ci0JCQkJCSAwLCBkZXYpOw0KLQ0KLQlpZiAoIXBhcmRldikNCisJCQkJCSBQ
QVJQT1JUX0ZMQUdfQ09NQSwgZGV2KTsNCisJCQkJCSANCisJaWYgKHBhcmRl
diA9PSBOVUxMKQ0KIAkJcmV0dXJuIC1FTk9ERVY7DQogDQogCXByaW50ayhL
RVJOX0lORk8gIiVzIiwgdmVyc2lvbik7DQogCXByaW50ayhLRVJOX0lORk8g
IiVzOiBQYXJhbGxlbCBwb3J0IGF0ICUjM2x4LCB1c2luZyBJUlEgJWRcbiIs
IGRldi0+bmFtZSwNCiAJICAgICAgIGRldi0+YmFzZV9hZGRyLCBkZXYtPmly
cSk7DQogDQorI2lmZGVmIFBMSVBfVVNFX0lSUQ0KKwkvKiBkZWNsYXJlIHRo
ZSBpcnEgZm9yIGRldmljZSBhcyBiZWluZyBlbmFibGVkICovDQorCXBsaXBf
aXJxX3N0YXRlW2Rldi0+aXJxXSA9IDE7DQorI2VuZGlmIC8qUExJUF9VU0Vf
SVJRKi8NCisNCiAJLyogRmlsbCBpbiB0aGUgZ2VuZXJpYyBmaWVsZHMgb2Yg
dGhlIGRldmljZSBzdHJ1Y3R1cmUuICovDQogCWV0aGVyX3NldHVwKGRldik7
DQogDQpAQCAtMzA2LDIwICszNDgsNiBAQA0KIA0KIAlyZXR1cm4gMDsNCiB9
DQotDA0KLS8qIEJvdHRvbSBoYWxmIGhhbmRsZXIgZm9yIHRoZSBkZWxheWVk
IHJlcXVlc3QuDQotICAgVGhpcyByb3V0aW5lIGlzIGtpY2tlZCBieSBkb190
aW1lcigpLg0KLSAgIFJlcXVlc3QgYHBsaXBfYmgnIHRvIGJlIGludm9rZWQu
ICovDQotc3RhdGljIHZvaWQNCi1wbGlwX2tpY2tfYmgoc3RydWN0IGRldmlj
ZSAqZGV2KQ0KLXsNCi0Jc3RydWN0IG5ldF9sb2NhbCAqbmwgPSAoc3RydWN0
IG5ldF9sb2NhbCAqKWRldi0+cHJpdjsNCi0NCi0JaWYgKG5sLT5pc19kZWZl
cnJlZCkgew0KLQkJcXVldWVfdGFzaygmbmwtPmltbWVkaWF0ZSwgJnRxX2lt
bWVkaWF0ZSk7DQotCQltYXJrX2JoKElNTUVESUFURV9CSCk7DQotCX0NCi19
DQogDQogLyogRm9yd2FyZCBkZWNsYXJhdGlvbnMgb2YgaW50ZXJuYWwgcm91
dGluZXMgKi8NCiBzdGF0aWMgaW50IHBsaXBfbm9uZShzdHJ1Y3QgZGV2aWNl
ICosIHN0cnVjdCBuZXRfbG9jYWwgKiwNCkBAIC0zMzcsMTEgKzM2NSw2IEBA
DQogCQkJCSBzdHJ1Y3QgcGxpcF9sb2NhbCAqcmN2LA0KIAkJCQkgaW50IGVy
cm9yKTsNCiANCi0jZGVmaW5lIE9LICAgICAgICAwDQotI2RlZmluZSBUSU1F
T1VUICAgMQ0KLSNkZWZpbmUgRVJST1IgICAgIDINCi0jZGVmaW5lIEhTX1RJ
TUVPVVQJMw0KLQ0KIHR5cGVkZWYgaW50ICgqcGxpcF9mdW5jKShzdHJ1Y3Qg
ZGV2aWNlICpkZXYsIHN0cnVjdCBuZXRfbG9jYWwgKm5sLA0KIAkJCSBzdHJ1
Y3QgcGxpcF9sb2NhbCAqc25kLCBzdHJ1Y3QgcGxpcF9sb2NhbCAqcmN2KTsN
CiANCkBAIC0zNTQsNiArMzc3LDIwIEBADQogCXBsaXBfZXJyb3INCiB9Ow0K
IA0KKy8qIEJvdHRvbSBoYWxmIGhhbmRsZXIgZm9yIHRoZSBkZWxheWVkIHJl
cXVlc3QuDQorICAgVGhpcyByb3V0aW5lIGlzIGtpY2tlZCBieSBkb190aW1l
cigpLg0KKyAgIFJlcXVlc3QgYHBsaXBfYmgnIHRvIGJlIGludm9rZWQuICov
DQorc3RhdGljIHZvaWQNCitwbGlwX2tpY2tfYmgoc3RydWN0IGRldmljZSAq
ZGV2KQ0KK3sNCisJc3RydWN0IG5ldF9sb2NhbCAqbmwgPSAoc3RydWN0IG5l
dF9sb2NhbCAqKWRldi0+cHJpdjsNCisNCisJaWYgKG5sLT5pc19kZWZlcnJl
ZCkgew0KKwkJcXVldWVfdGFzaygmbmwtPmltbWVkaWF0ZSwgJnRxX2ltbWVk
aWF0ZSk7DQorCQltYXJrX2JoKElNTUVESUFURV9CSCk7DQorCX0NCit9DQor
DQogLyogQm90dG9tIGhhbGYgaGFuZGxlciBvZiBQTElQLiAqLw0KIHN0YXRp
YyB2b2lkDQogcGxpcF9iaChzdHJ1Y3QgZGV2aWNlICpkZXYpDQpAQCAtMzY2
LDggKzQwMyw4IEBADQogDQogCW5sLT5pc19kZWZlcnJlZCA9IDA7DQogCWYg
PSBjb25uZWN0aW9uX3N0YXRlX3RhYmxlW25sLT5jb25uZWN0aW9uXTsNCi0J
aWYgKChyID0gKCpmKShkZXYsIG5sLCBzbmQsIHJjdikpICE9IE9LDQotCSAg
ICAmJiAociA9IHBsaXBfYmhfdGltZW91dF9lcnJvcihkZXYsIG5sLCBzbmQs
IHJjdiwgcikpICE9IE9LKSB7DQorCWlmICggKChyID0gKCpmKShkZXYsIG5s
LCBzbmQsIHJjdikpICE9IE9LKSAmJiAoKHIgPSBwbGlwX2JoX3RpbWVvdXRf
ZXJyb3IoZGV2LCBubCwgc25kLCByY3YsIHIpKSAhPSBPSykgDQorCQkpIHsN
CiAJCW5sLT5pc19kZWZlcnJlZCA9IDE7DQogCQlxdWV1ZV90YXNrKCZubC0+
ZGVmZXJyZWQsICZ0cV90aW1lcik7DQogCX0NCkBAIC0zNzksMzMgKzQxNiwy
NSBAQA0KIAkJICAgICAgaW50IGVycm9yKQ0KIHsNCiAJdW5zaWduZWQgY2hh
ciBjMDsNCi0JLyoNCi0JICogVGhpcyBpcyB0cmlja3kuIElmIHdlIGdvdCBo
ZXJlIGZyb20gdGhlIGJlZ2lubmluZyBvZiBzZW5kIChlaXRoZXINCi0JICog
d2l0aCBFUlJPUiBvciBIU19USU1FT1VUKSB3ZSBoYXZlIElSUSBlbmFibGVk
LiBPdGhlcndpc2UgaXQncw0KLQkgKiBhbHJlYWR5IGRpc2FibGVkLiBXaXRo
IHRoZSBvbGQgdmFyaWFudCBvZiB7ZW5hYmxlLGRpc2FibGV9X2lycSgpDQot
CSAqIGV4dHJhIGRpc2FibGVfaXJxKCkgd2FzIGEgbm8tb3AuIE5vdyBpdCBi
ZWNhbWUgbW9ydGFsIC0gaXQncw0KLQkgKiB1bmJhbGFuY2VkIGFuZCB0aHVz
IHdlJ2xsIG5ldmVyIHJlLWVuYWJsZSBJUlEgKHVudGlsIHJtbW9kIHBsaXAs
DQotCSAqIHRoYXQgaXMpLiBTbyB3ZSBoYXZlIHRvIHRyZWF0IEhTX1RJTUVP
VVQgYW5kIEVSUk9SIGZyb20gc2VuZA0KLQkgKiBpbiBhIHNwZWNpYWwgd2F5
Lg0KLQkgKi8NCiANCiAJc3Bpbl9sb2NrX2lycSgmbmwtPmxvY2spOw0KIAlp
ZiAobmwtPmNvbm5lY3Rpb24gPT0gUExJUF9DTl9TRU5EKSB7DQogDQogCQlp
ZiAoZXJyb3IgIT0gRVJST1IpIHsgLyogVGltZW91dCAqLw0KIAkJCW5sLT50
aW1lb3V0X2NvdW50Kys7DQotCQkJaWYgKChlcnJvciA9PSBIU19USU1FT1VU
DQotCQkJICAgICAmJiBubC0+dGltZW91dF9jb3VudCA8PSAxMCkNCi0JCQkg
ICAgfHwgbmwtPnRpbWVvdXRfY291bnQgPD0gMykgew0KKwkJCWlmICggKHNu
ZC0+c3RhdGUgPT0gUExJUF9QS19UUklHR0VSIA0KKwkJCQkmJiBubC0+dGlt
ZW91dF9jb3VudCA8PSAxMCkgDQorCQkJCXx8IG5sLT50aW1lb3V0X2NvdW50
IDw9IDMgKSB7DQorCQkJCQ0KIAkJCQlzcGluX3VubG9ja19pcnEoJm5sLT5s
b2NrKTsNCiAJCQkJLyogVHJ5IGFnYWluIGxhdGVyICovDQogCQkJCXJldHVy
biBUSU1FT1VUOw0KIAkJCX0NCiAJCQljMCA9IGluYihQQVJfU1RBVFVTKGRl
dikpOw0KLQkJCXByaW50ayhLRVJOX1dBUk5JTkcgIiVzOiB0cmFuc21pdCB0
aW1lb3V0KCVkLCUwMngpXG4iLA0KLQkJCSAgICAgICBkZXYtPm5hbWUsIHNu
ZC0+c3RhdGUsIGMwKTsNCi0JCX0gZWxzZQ0KLQkJCWVycm9yID0gSFNfVElN
RU9VVDsNCisJCQlpZiAobmV0X2RlYnVnID4gMCkNCisJCQkJcHJpbnRrKEtF
Uk5fV0FSTklORyAiJXM6IHRyYW5zbWl0IHRpbWVvdXQoJWQsJTAyeClcbiIs
DQorCQkJCQlkZXYtPm5hbWUsIHNuZC0+c3RhdGUsIGMwKTsNCisJCX0NCiAJ
CW5sLT5lbmV0X3N0YXRzLnR4X2Vycm9ycysrOw0KIAkJbmwtPmVuZXRfc3Rh
dHMudHhfYWJvcnRlZF9lcnJvcnMrKzsNCiAJfSBlbHNlIGlmIChubC0+Y29u
bmVjdGlvbiA9PSBQTElQX0NOX1JFQ0VJVkUpIHsNCkBAIC00MjEsOCArNDUw
LDkgQEANCiAJCQkJcmV0dXJuIFRJTUVPVVQ7DQogCQkJfQ0KIAkJCWMwID0g
aW5iKFBBUl9TVEFUVVMoZGV2KSk7DQotCQkJcHJpbnRrKEtFUk5fV0FSTklO
RyAiJXM6IHJlY2VpdmUgdGltZW91dCglZCwlMDJ4KVxuIiwNCi0JCQkgICAg
ICAgZGV2LT5uYW1lLCByY3YtPnN0YXRlLCBjMCk7DQorCQkJaWYgKG5ldF9k
ZWJ1ZyA+IDApDQorCQkJCXByaW50ayhLRVJOX1dBUk5JTkcgIiVzOiByZWNl
aXZlIHRpbWVvdXQoJWQsJTAyeClcbiIsDQorCQkJCQlkZXYtPm5hbWUsIHJj
di0+c3RhdGUsIGMwKTsNCiAJCX0NCiAJCW5sLT5lbmV0X3N0YXRzLnJ4X2Ry
b3BwZWQrKzsNCiAJfQ0KQEAgLTQzNywxMCArNDY3LDcgQEANCiAJCXNuZC0+
c2tiID0gTlVMTDsNCiAJfQ0KIAlzcGluX3VubG9ja19pcnEoJm5sLT5sb2Nr
KTsNCi0JaWYgKGVycm9yID09IEhTX1RJTUVPVVQpIHsNCi0JCURJU0FCTEUo
ZGV2LT5pcnEpOw0KLQkJc3luY2hyb25pemVfaXJxKCk7DQotCX0NCisJUExJ
UF9ESVNBQkxFX0lSUShkZXYpOw0KIAlvdXRiKFBBUl9JTlRSX09GRiwgUEFS
X0NPTlRST0woZGV2KSk7DQogCWRldi0+dGJ1c3kgPSAxOw0KIAlubC0+Y29u
bmVjdGlvbiA9IFBMSVBfQ05fRVJST1I7DQpAQCAtNDQ4LDcgKzQ3NSwxMCBA
QA0KIA0KIAlyZXR1cm4gVElNRU9VVDsNCiB9DQotDA0KKw0KKw0KKw0KKw0K
IHN0YXRpYyBpbnQNCiBwbGlwX25vbmUoc3RydWN0IGRldmljZSAqZGV2LCBz
dHJ1Y3QgbmV0X2xvY2FsICpubCwNCiAJICBzdHJ1Y3QgcGxpcF9sb2NhbCAq
c25kLCBzdHJ1Y3QgcGxpcF9sb2NhbCAqcmN2KQ0KQEAgLTUxOCwxMiArNTQ4
LDExIEBADQogDQogCXN3aXRjaCAocmN2LT5zdGF0ZSkgew0KIAljYXNlIFBM
SVBfUEtfVFJJR0dFUjoNCi0JCURJU0FCTEUoZGV2LT5pcnEpOw0KLQkJLyog
RG9uJ3QgbmVlZCB0byBzeW5jaHJvbml6ZSBpcnEsIGFzIHdlIGNhbiBzYWZl
bHkgaWdub3JlIGl0ICovDQorCQlQTElQX0RJU0FCTEVfSVJRKGRldik7DQog
CQlvdXRiKFBBUl9JTlRSX09GRiwgUEFSX0NPTlRST0woZGV2KSk7DQogCQlk
ZXYtPmludGVycnVwdCA9IDA7DQogCQlvdXRiKDB4MDEsIFBBUl9EQVRBKGRl
dikpOyAvKiBzZW5kIEFDSyAqLw0KLQkJaWYgKG5ldF9kZWJ1ZyA+IDIpDQor
CQlpZiAobmV0X2RlYnVnID4gMSkNCiAJCQlwcmludGsoS0VSTl9ERUJVRyAi
JXM6IHJlY2VpdmUgc3RhcnRcbiIsIGRldi0+bmFtZSk7DQogCQlyY3YtPnN0
YXRlID0gUExJUF9QS19MRU5HVEhfTFNCOw0KIAkJcmN2LT5uaWJibGUgPSBQ
TElQX05CX0JFR0lOOw0KQEAgLTUzOCw3ICs1NjcsNyBAQA0KIAkJCQlubC0+
Y29ubmVjdGlvbiA9IFBMSVBfQ05fU0VORDsNCiAJCQkJcXVldWVfdGFzaygm
bmwtPmRlZmVycmVkLCAmdHFfdGltZXIpOw0KIAkJCQlvdXRiKFBBUl9JTlRS
X09OLCBQQVJfQ09OVFJPTChkZXYpKTsNCi0JCQkJRU5BQkxFKGRldi0+aXJx
KTsNCisJCQkJUExJUF9FTkFCTEVfSVJRKGRldik7DQogCQkJCXJldHVybiBP
SzsNCiAJCQl9DQogCQl9IGVsc2Ugew0KQEAgLTU4Nyw3ICs2MTYsNyBAQA0K
IAkJCXJldHVybiBUSU1FT1VUOw0KIAkJaWYgKHJjdi0+ZGF0YSAhPSByY3Yt
PmNoZWNrc3VtKSB7DQogCQkJbmwtPmVuZXRfc3RhdHMucnhfY3JjX2Vycm9y
cysrOw0KLQkJCWlmIChuZXRfZGVidWcpDQorCQkJaWYgKG5ldF9kZWJ1ZyA+
IDApDQogCQkJCXByaW50ayhLRVJOX0RFQlVHICIlczogY2hlY2tzdW0gZXJy
b3JcbiIsIGRldi0+bmFtZSk7DQogCQkJcmV0dXJuIEVSUk9SOw0KIAkJfQ0K
QEAgLTYwMCw3ICs2MjksNyBAQA0KIAkJbmwtPmVuZXRfc3RhdHMucnhfYnl0
ZXMgKz0gcmN2LT5sZW5ndGguaDsNCiAJCW5sLT5lbmV0X3N0YXRzLnJ4X3Bh
Y2tldHMrKzsNCiAJCXJjdi0+c2tiID0gTlVMTDsNCi0JCWlmIChuZXRfZGVi
dWcgPiAyKQ0KKwkJaWYgKG5ldF9kZWJ1ZyA+IDEpDQogCQkJcHJpbnRrKEtF
Uk5fREVCVUcgIiVzOiByZWNlaXZlIGVuZFxuIiwgZGV2LT5uYW1lKTsNCiAN
CiAJCS8qIENsb3NlIHRoZSBjb25uZWN0aW9uLiAqLw0KQEAgLTYxMiwxMyAr
NjQxLDEzIEBADQogCQkJcXVldWVfdGFzaygmbmwtPmltbWVkaWF0ZSwgJnRx
X2ltbWVkaWF0ZSk7DQogCQkJbWFya19iaChJTU1FRElBVEVfQkgpOw0KIAkJ
CW91dGIoUEFSX0lOVFJfT04sIFBBUl9DT05UUk9MKGRldikpOw0KLQkJCUVO
QUJMRShkZXYtPmlycSk7DQorCQkJUExJUF9FTkFCTEVfSVJRKGRldik7DQog
CQkJcmV0dXJuIE9LOw0KIAkJfSBlbHNlIHsNCiAJCQlubC0+Y29ubmVjdGlv
biA9IFBMSVBfQ05fTk9ORTsNCiAJCQlzcGluX3VubG9ja19pcnEoJm5sLT5s
b2NrKTsNCiAJCQlvdXRiKFBBUl9JTlRSX09OLCBQQVJfQ09OVFJPTChkZXYp
KTsNCi0JCQlFTkFCTEUoZGV2LT5pcnEpOw0KKwkJCVBMSVBfRU5BQkxFX0lS
UShkZXYpOwkJCQkNCiAJCQlyZXR1cm4gT0s7DQogCQl9DQogCX0NCkBAIC02
ODUsNyArNzE0LDggQEANCiAJdW5zaWduZWQgaW50IGN4Ow0KIA0KIAlpZiAo
c25kLT5za2IgPT0gTlVMTCB8fCAobGJ1ZiA9IHNuZC0+c2tiLT5kYXRhKSA9
PSBOVUxMKSB7DQotCQlwcmludGsoS0VSTl9ERUJVRyAiJXM6IHNlbmQgc2ti
IGxvc3RcbiIsIGRldi0+bmFtZSk7DQorCQlpZiAobmV0X2RlYnVnID4gMCkN
CisJCQlwcmludGsoS0VSTl9ERUJVRyAiJXM6IHNlbmQgc2tiIGxvc3RcbiIs
IGRldi0+bmFtZSk7DQogCQlzbmQtPnN0YXRlID0gUExJUF9QS19ET05FOw0K
IAkJc25kLT5za2IgPSBOVUxMOw0KIAkJcmV0dXJuIEVSUk9SOw0KQEAgLTY5
NCw3ICs3MjQsNyBAQA0KIAlzd2l0Y2ggKHNuZC0+c3RhdGUpIHsNCiAJY2Fz
ZSBQTElQX1BLX1RSSUdHRVI6DQogCQlpZiAoKGluYihQQVJfU1RBVFVTKGRl
dikpICYgMHhmOCkgIT0gMHg4MCkNCi0JCQlyZXR1cm4gSFNfVElNRU9VVDsN
CisJCQlyZXR1cm4gVElNRU9VVDsNCiANCiAJCS8qIFRyaWdnZXIgcmVtb3Rl
IHJ4IGludGVycnVwdC4gKi8NCiAJCW91dGIoMHgwOCwgZGF0YV9hZGRyKTsN
CkBAIC03MTEsMjEgKzc0MSwxNyBAQA0KIAkJCWMwID0gaW5iKFBBUl9TVEFU
VVMoZGV2KSk7DQogCQkJaWYgKGMwICYgMHgwOCkgew0KIAkJCQlzcGluX3Vu
bG9ja19pcnEoJm5sLT5sb2NrKTsNCi0JCQkJRElTQUJMRShkZXYtPmlycSk7
DQotCQkJCXN5bmNocm9uaXplX2lycSgpOw0KKwkJCQlQTElQX0RJU0FCTEVf
SVJRKGRldik7DQogCQkJCWlmIChubC0+Y29ubmVjdGlvbiA9PSBQTElQX0NO
X1JFQ0VJVkUpIHsNCiAJCQkJCS8qIEludGVycnVwdGVkLg0KIAkJCQkJICAg
V2UgZG9uJ3QgbmVlZCB0byBlbmFibGUgaXJxLA0KIAkJCQkJICAgYXMgaXQg
aXMgc29vbiBkaXNhYmxlZC4gICAgKi8NCi0JCQkJCS8qIFllcywgd2UgZG8u
IE5ldyB2YXJpYW50IG9mDQotCQkJCQkgICB7ZW5hYmxlLGRpc2FibGV9X2ly
cSAqY291bnRzKg0KLQkJCQkJICAgdGhlbS4gIC0tIEFWICAqLw0KLQkJCQkJ
RU5BQkxFKGRldi0+aXJxKTsNCisJCQkJCVBMSVBfRU5BQkxFX0lSUShkZXYp
Ow0KIAkJCQkJbmwtPmVuZXRfc3RhdHMuY29sbGlzaW9ucysrOw0KIAkJCQkJ
cmV0dXJuIE9LOw0KIAkJCQl9DQogCQkJCW91dGIoUEFSX0lOVFJfT0ZGLCBQ
QVJfQ09OVFJPTChkZXYpKTsNCi0JCQkJaWYgKG5ldF9kZWJ1ZyA+IDIpDQor
CQkJCWlmIChuZXRfZGVidWcgPiAxKQ0KIAkJCQkJcHJpbnRrKEtFUk5fREVC
VUcgIiVzOiBzZW5kIHN0YXJ0XG4iLCBkZXYtPm5hbWUpOw0KIAkJCQlzbmQt
PnN0YXRlID0gUExJUF9QS19MRU5HVEhfTFNCOw0KIAkJCQlzbmQtPm5pYmJs
ZSA9IFBMSVBfTkJfQkVHSU47DQpAQCAtNzM1LDkgKzc2MSwxMCBAQA0KIAkJ
CXNwaW5fdW5sb2NrX2lycSgmbmwtPmxvY2spOw0KIAkJCWlmICgtLWN4ID09
IDApIHsNCiAJCQkJb3V0YigweDAwLCBkYXRhX2FkZHIpOw0KLQkJCQlyZXR1
cm4gSFNfVElNRU9VVDsNCisJCQkJcmV0dXJuIFRJTUVPVVQ7DQogCQkJfQ0K
IAkJfQ0KKwlQTElQX0VOQUJMRV9JUlEoZGV2KTsNCiANCiAJY2FzZSBQTElQ
X1BLX0xFTkdUSF9MU0I6DQogCQlpZiAocGxpcF9zZW5kKG5pYmJsZV90aW1l
b3V0LCBkYXRhX2FkZHIsDQpAQCAtNzc4LDEzICs4MDUsMTIgQEANCiAJCS8q
IENsb3NlIHRoZSBjb25uZWN0aW9uICovDQogCQlvdXRiICgweDAwLCBkYXRh
X2FkZHIpOw0KIAkJc25kLT5za2IgPSBOVUxMOw0KLQkJaWYgKG5ldF9kZWJ1
ZyA+IDIpDQorCQlpZiAobmV0X2RlYnVnID4gMSkNCiAJCQlwcmludGsoS0VS
Tl9ERUJVRyAiJXM6IHNlbmQgZW5kXG4iLCBkZXYtPm5hbWUpOw0KIAkJbmwt
PmNvbm5lY3Rpb24gPSBQTElQX0NOX0NMT1NJTkc7DQogCQlubC0+aXNfZGVm
ZXJyZWQgPSAxOw0KIAkJcXVldWVfdGFzaygmbmwtPmRlZmVycmVkLCAmdHFf
dGltZXIpOw0KIAkJb3V0YihQQVJfSU5UUl9PTiwgUEFSX0NPTlRST0woZGV2
KSk7DQotCQlFTkFCTEUoZGV2LT5pcnEpOw0KIAkJcmV0dXJuIE9LOw0KIAl9
DQogCXJldHVybiBPSzsNCkBAIC04MTcsMTQgKzg0MywxMyBAQA0KIA0KIAlz
dGF0dXMgPSBpbmIoUEFSX1NUQVRVUyhkZXYpKTsNCiAJaWYgKChzdGF0dXMg
JiAweGY4KSA9PSAweDgwKSB7DQotCQlpZiAobmV0X2RlYnVnID4gMikNCisJ
CWlmIChuZXRfZGVidWcgPiAxKQ0KIAkJCXByaW50ayhLRVJOX0RFQlVHICIl
czogcmVzZXQgaW50ZXJmYWNlLlxuIiwgZGV2LT5uYW1lKTsNCiAJCW5sLT5j
b25uZWN0aW9uID0gUExJUF9DTl9OT05FOw0KIAkJbmwtPnNob3VsZF9yZWxp
bnF1aXNoID0gMDsNCiAJCWRldi0+dGJ1c3kgPSAwOw0KIAkJZGV2LT5pbnRl
cnJ1cHQgPSAwOw0KIAkJb3V0YihQQVJfSU5UUl9PTiwgUEFSX0NPTlRST0wo
ZGV2KSk7DQotCQlFTkFCTEUoZGV2LT5pcnEpOw0KIAkJbWFya19iaChORVRf
QkgpOw0KIAl9IGVsc2Ugew0KIAkJbmwtPmlzX2RlZmVycmVkID0gMTsNCkBA
IC04MzMsNyArODU4LDcgQEANCiANCiAJcmV0dXJuIE9LOw0KIH0NCi0MDQor
DQogLyogSGFuZGxlIHRoZSBwYXJhbGxlbCBwb3J0IGludGVycnVwdHMuICov
DQogc3RhdGljIHZvaWQNCiBwbGlwX2ludGVycnVwdChpbnQgaXJxLCB2b2lk
ICpkZXZfaWQsIHN0cnVjdCBwdF9yZWdzICogcmVncykNCkBAIC04NDgsMTIg
Kzg3MywxMiBAQA0KIAkJcmV0dXJuOw0KIAl9DQogDQotCW5sID0gKHN0cnVj
dCBuZXRfbG9jYWwgKilkZXYtPnByaXY7DQotCXJjdiA9ICZubC0+cmN2X2Rh
dGE7DQotDQogCWlmIChkZXYtPmludGVycnVwdCkNCiAJCXJldHVybjsNCiAN
CisJbmwgPSAoc3RydWN0IG5ldF9sb2NhbCAqKWRldi0+cHJpdjsNCisJcmN2
ID0gJm5sLT5yY3ZfZGF0YTsNCisNCiAJYzAgPSBpbmIoUEFSX1NUQVRVUyhk
ZXYpKTsNCiAJaWYgKChjMCAmIDB4ZjgpICE9IDB4YzApIHsNCiAJCWlmIChu
ZXRfZGVidWcgPiAxKQ0KQEAgLTg2MSw3ICs4ODYsNyBAQA0KIAkJcmV0dXJu
Ow0KIAl9DQogCWRldi0+aW50ZXJydXB0ID0gMTsNCi0JaWYgKG5ldF9kZWJ1
ZyA+IDMpDQorCWlmIChuZXRfZGVidWcgPiAyKQ0KIAkJcHJpbnRrKEtFUk5f
REVCVUcgIiVzOiBpbnRlcnJ1cHQuXG4iLCBkZXYtPm5hbWUpOw0KIA0KIAlz
cGluX2xvY2tfaXJxKCZubC0+bG9jayk7DQpAQCAtODkyLDcgKzkxNyw3IEBA
DQogCQlicmVhazsNCiAJfQ0KIH0NCi0MDQorDQogLyogV2UgZG9uJ3QgbmVl
ZCB0byBzZW5kIGFycCwgZm9yIHBsaXAgaXMgcG9pbnQtdG8tcG9pbnQuICov
DQogc3RhdGljIGludA0KIHBsaXBfcmVidWlsZF9oZWFkZXIoc3RydWN0IHNr
X2J1ZmYgKnNrYikNCkBAIC05MzYsNyArOTYxLDcgQEANCiAJCXJldHVybiAw
Ow0KIAl9DQogDQotCWlmIChuZXRfZGVidWcgPiAyKQ0KKwlpZiAobmV0X2Rl
YnVnID4gMSkNCiAJCXByaW50ayhLRVJOX0RFQlVHICIlczogc2VuZCByZXF1
ZXN0XG4iLCBkZXYtPm5hbWUpOw0KIA0KIAlzcGluX2xvY2tfaXJxKCZubC0+
bG9jayk7DQpAQCAtMTAyNCw5ICsxMDQ5LDggQEANCiANCiAJZGV2LT50YnVz
eSA9IDE7DQogCWRldi0+c3RhcnQgPSAwOw0KLQlESVNBQkxFKGRldi0+aXJx
KTsNCi0Jc3luY2hyb25pemVfaXJxKCk7DQotDQorCVBMSVBfRElTQUJMRV9J
UlEoZGV2KTsNCisJDQogI2lmZGVmIE5PVERFRg0KIAlvdXRiKDB4MDAsIFBB
Ul9EQVRBKGRldikpOw0KICNlbmRpZg0KQEAgLTExNTEsNyArMTE3NSw3IEBA
DQogCX0NCiAJcmV0dXJuIDA7DQogfQ0KLQwNCisNCiBzdGF0aWMgaW50IHBh
cnBvcnRbUExJUF9NQVhdID0geyBbMCAuLi4gUExJUF9NQVgtMV0gPSAtMSB9
Ow0KIHN0YXRpYyBpbnQgdGltaWQgPSAwOw0KIA0KQEAgLTEyMjcsNiArMTI1
MSw3IEBADQogcGxpcF9pbml0KHZvaWQpKQ0KIHsNCiAJc3RydWN0IHBhcnBv
cnQgKnBiID0gcGFycG9ydF9lbnVtZXJhdGUoKTsNCisJaW50IGRldmljZXM9
MDsNCiAJaW50IGk9MDsNCiANCiAJaWYgKHBhcnBvcnRbMF0gPT0gLTIpDQpA
QCAtMTIzNyw3ICsxMjYyLDcgQEANCiAJCXRpbWlkID0gMDsNCiAJfQ0KIA0K
LQkvKiBJZiB0aGUgdXNlciBmZWVkcyBwYXJhbWV0ZXJzLCB1c2UgdGhlbSAq
Lw0KKwkvKiBXaGVuIHVzZXIgZmVlZHMgcGFyYW1ldGVycywgdXNlIHRoZW0g
Ki8NCiAJd2hpbGUgKHBiKSB7DQogCQlpZiAoKHBhcnBvcnRbMF0gPT0gLTEg
JiYgKCF0aW1pZCB8fCAhcGItPmRldmljZXMpKSB8fCANCiAJCSAgICBwbGlw
X3NlYXJjaGZvcihwYXJwb3J0LCBpKSkgew0KQEAgLTEyNjUsMTkgKzEyOTAs
MjAgQEANCiAJCQkJa2ZyZWUoZGV2X3BsaXBbaV0tPm5hbWUpOw0KIAkJCQlr
ZnJlZShkZXZfcGxpcFtpXSk7DQogCQkJfSBlbHNlIHsNCi0JCQkJaSsrOw0K
KwkJCQlkZXZpY2VzKys7DQogCQkJfQ0KIAkJfQ0KKwkJaSsrOw0KIAkJcGIg
PSBwYi0+bmV4dDsNCiAgIAl9DQogDQotCWlmIChpID09IDApIHsNCisJaWYg
KGRldmljZXMgPT0gMCkgew0KIAkJcHJpbnRrKEtFUk5fSU5GTyAicGxpcDog
bm8gZGV2aWNlcyByZWdpc3RlcmVkXG4iKTsNCiAJCXJldHVybiAtRUlPOw0K
IAl9DQogCXJldHVybiAwOw0KIH0NCi0MDQorDQogLyoNCiAgKiBMb2NhbCB2
YXJpYWJsZXM6DQogICogY29tcGlsZS1jb21tYW5kOiAiZ2NjIC1ETU9EVUxF
IC1ETU9EVkVSU0lPTlMgLURfX0tFUk5FTF9fIC1XYWxsIC1Xc3RyaWN0LXBy
b3RvdHlwZXMgLU8yIC1nIC1mb21pdC1mcmFtZS1wb2ludGVyIC1waXBlIC1j
IHBsaXAuYyINCg==
--8323328-1697589865-917685217=:4228--

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