Subject: Re: Patch (Re: Interrupts)
To: Michael <macallan18@earthlink.net>
From: Michael <macallan18@earthlink.net>
List: port-macppc
Date: 12/06/2004 23:42:27
This is a multi-part message in MIME format.

--Multipart=_Mon__6_Dec_2004_23_42_27_-0500_bW7lN4YjfwopJepY
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

Hi Michael,

> > and then it hung. I only found one line different from your last patch. Is
> > this correct (comments excepted)?
> Try this patch, it should make sure that lost interrupts are only retried once.

What about attaching a patch here? :p

Ok, /here/ it is.

To motivate testers: I tried some file transfers through one of the serials at 38.400kBit/s - no problems. No ZModem retries, the files seem ok ( well, ZModem would complain if the CRCs don't match )
Couldn't try higher speeds because AIX doesn't let me use more on any serial port.

have fun
Michael

--Multipart=_Mon__6_Dec_2004_23_42_27_-0500_bW7lN4YjfwopJepY
Content-Type: application/octet-stream;
 name="intr.patch"
Content-Disposition: attachment;
 filename="intr.patch"
Content-Transfer-Encoding: base64

SW5kZXg6IGV4dGludHIuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3Zzcm9vdC9zcmMvc3lzL2Fy
Y2gvbWFjcHBjL21hY3BwYy9leHRpbnRyLmMsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNDQKZGlm
ZiAtdSAtdyAtcjEuNDQgZXh0aW50ci5jCi0tLSBleHRpbnRyLmMJMjAgSnVuIDIwMDQgMjA6NTA6
MTMgLTAwMDAJMS40NAorKysgZXh0aW50ci5jCTcgRGVjIDIwMDQgMDM6NDU6MDAgLTAwMDAKQEAg
LTE0OCw2ICsxNDgsMTAgQEAKIAogI2RlZmluZSBoYXZlX29wZW5waWMJKG9wZW5waWNfYmFzZSAh
PSBOVUxMKQogCisvKiBmb3JtIERhcndpbiBzb3VyY2UgKi8KKyNkZWZpbmUgSU5UX0xFVkVMX01B
U0sJMHgzZmYwMDAwMAorLyogRGFyd2luIHVzZXMgMHgxZmYwMDAwMCBmb3IgSGVhdGhyb3cgdGhv
dWdoICovCisKIC8qCiAgKiBNYXAgNjQgaXJxcyBpbnRvIDMyIChiaXRzKS4KICAqLwpAQCAtMTU5
LDYgKzE2Myw3IEBACiAKIAlpZiAoaXJxIDwgMCB8fCBpcnEgPj0gSUNVX0xFTikKIAkJcGFuaWMo
ImludmFsaWQgaXJxICVkIiwgaXJxKTsKKwogCWlmICh2aXJxW2lycV0pCiAJCXJldHVybiB2aXJx
W2lycV07CiAKQEAgLTE2Nyw2ICsxNzIsNyBAQAogCWlmICh2ID4gSFdJUlFfTUFYKQogCQlwYW5p
YygidmlycSBvdmVyZmxvdyIpOwogCisJcHJpbnRmKCJtYXBwaW5nIGlycSAleCB0byB2aXJxICV4
XG4iLCBpcnEsIHYpOwogCWludHJzb3VyY2VzW3ZdLmlzX2h3aXJxID0gaXJxOwogCXZpcnFbaXJx
XSA9IHY7CiAKQEAgLTE5MSwxMSArMTk3LDE2IEBACiBnY19yZWFkX2lycSgpCiB7CiAJaW50IHJ2
ID0gMDsKLQlpbnQgbG8sIGhpLCBwOworCXVpbnQzMl90IGxvLCBoaSwgcDsKKwl1aW50MzJfdCBw
cDsKIAotCWxvID0gaW4zMnJiKElOVF9TVEFURV9SRUdfTCk7Ci0JaWYgKGxvKQotCQlvdXQzMnJi
KElOVF9DTEVBUl9SRUdfTCwgbG8pOworCS8qIERhcndpbiB1c2VzICYgfklOVF9MRVZFTF9NQVNL
IC0gZW5hYmxpbmcgaXQgaGVyZSBnaXZlcyBmdW5reSBwcm9ibGVtcyAqLworCWxvID0gaW4zMnJi
KElOVF9TVEFURV9SRUdfTCkvKiAmIH5JTlRfTEVWRUxfTUFTSyovOworCXBwID0gKGluMzJyYihJ
TlRfTEVWRUxfUkVHX0wpICYgaW4zMnJiKElOVF9FTkFCTEVfUkVHX0wpICYgSU5UX0xFVkVMX01B
U0spOworCWxvfD1wcDsKKwkvKiBEYXJ3aW4gYWx3YXlzIGNsZWFycyBJUlFzICovCisJLyppZiAo
bG8pKi8KKwkJb3V0MzJyYihJTlRfQ0xFQVJfUkVHX0wsIGxvfElOVF9MRVZFTF9NQVNLKTsKIAl3
aGlsZSAobG8pIHsKIAkJcCA9IDMxIC0gY250bHp3KGxvKTsKIAkJcnYgfD0gMSA8PCB2aXJxW3Bd
OwpAQCAtMjAzLDggKzIxNCw5IEBACiAJfQogCiAJaWYgKGhlYXRocm93X0ZDUikJCQkvKiBoYXMg
aGVhdGhyb3c/ICovCisJewogCQloaSA9IGluMzJyYihJTlRfU1RBVEVfUkVHX0gpOwotCWVsc2UK
Kwl9IGVsc2UKIAkJaGkgPSAwOwogCiAJaWYgKGhpKQpAQCAtMjE4LDIxICsyMzAsNjYgQEAKIAkv
KiAxIDw8IDAgaXMgaW52YWxpZC4gKi8KIAlyZXR1cm4gcnYgJiB+MTsKIH0KKy8vICNkZWZpbmUg
SVJRX0RFQlVHCiAKIHZvaWQKIGdjX2VuYWJsZV9pcnEoaXJxKQogCWludCBpcnE7CiB7Ci0JdV9p
bnQgeDsKKwlzdHJ1Y3QgY3B1X2luZm8gKmNpID0gY3VyY3B1KCk7CisJdV9pbnQgeSx2aTsKKwl1
X2ludCB4LG07CiAKIAlpZiAoaXJxIDwgMzIpIHsKIAkJeCA9IGluMzJyYihJTlRfRU5BQkxFX1JF
R19MKTsKLQkJeCB8PSAxIDw8IGlycTsKKwkJbSA9IDEgPDwgaXJxOworCQkvKiBubyBwb2ludCBn
b2luZyBhbnkgZnVydGhlciBpZiB0aGUgaW50ZXJydXB0IGlzIGFscmVhZHkgZW5hYmxlZCAqLwor
CQlpZih4Jm0pCisJCQlyZXR1cm47CisJCXggfD0gbTsKIAkJb3V0MzJyYihJTlRfRU5BQkxFX1JF
R19MLCB4KTsKKwkJLyogbG9vayBmb3IgbG9zdCBpbnRlcnJ1cHRzICovCisJCXk9aW4zMnJiKElO
VF9MRVZFTF9SRUdfTCkvKiAmIElOVF9MRVZFTF9NQVNLKi87CisJCWlmKHkmbSkKKwkJeworCQkJ
LyogZGlkIHdlIGxvc2UgdGhpcyBvbmU/ICovCisJCQl2aT12aXJxW2lycV07CisJCQkvKiBzZWUg
aWYgaXQncyBhbHJlYWR5IHBlbmRpbmcgKi8KKwkJCWlmKCEoY2ktPmNpX2lwZW5kaW5nJigxPDx2
aSkpKQorCQkJeworCQkJCS8qIHNvIHdlIHJlYWxseSBsb3N0IHRoaXMgb25lIC0gY29tcGxhaW4g
YW5kIG1hcmsgaXQgcGVuZGluZyAqLworCQkJCSNpZmRlZiBJUlFfREVCVUcKKwkJCQlwcmludGYo
Imxvc3QgYW4gaW50ZXJydXB0ISAoJWQpXG4iLGlycSk7CisJCQkJI2VuZGlmCisJCQkJY2ktPmNp
X2lwZW5kaW5nfD0oMTw8dmkpOwkKKwkJCX0KKwkJCS8qIGNsZWFyIGl0IGFueXdheSwgZG9lcyBu
byBoYXJtIGlmIHdlIGRpZG4ndCBtaXNzIGl0IGJ1dCBzYXZlcyBvdXIgYSoqIGlmIHdlIGRpZCAq
LwkJCisJCQlvdXQzMnJiKElOVF9DTEVBUl9SRUdfTCxtKTsKKwkJfQogCX0gZWxzZSB7CiAJCXgg
PSBpbjMycmIoSU5UX0VOQUJMRV9SRUdfSCk7Ci0JCXggfD0gMSA8PCAoaXJxIC0gMzIpOworCQlt
ID0gMSA8PCAoaXJxIC0gMzIpOworCQlpZih4Jm0pCisJCQlyZXR1cm47CisJCXggfD0gbTsKIAkJ
b3V0MzJyYihJTlRfRU5BQkxFX1JFR19ILCB4KTsKKwkJeT1pbjMycmIoSU5UX0xFVkVMX1JFR19I
KTsKKwkJaWYoeSZtKQorCQl7CisJCQkvKiBkaWQgd2UgbG9zZSB0aGlzIG9uZT8gKi8KKwkJCXZp
PXZpcnFbaXJxXTsKKwkJCS8qIHNlZSBpZiBpdCdzIGFscmVhZHkgcGVuZGluZyAqLworCQkJaWYo
IShjaS0+Y2lfaXBlbmRpbmcmKDE8PHZpKSkpCisJCQl7CisJCQkJLyogc28gd2UgcmVhbGx5IGxv
c3QgdGhpcyBvbmUgLSBjb21wbGFpbiBhbmQgbWFyayBpdCBwZW5kaW5nICovCisJCQkJI2lmZGVm
IElSUV9ERUJVRworCQkJCXByaW50ZigibG9zdCBhbiBpbnRlcnJ1cHQhICglZClcbiIsaXJxKTsK
KwkJCQkjZW5kaWYKKwkJCQljaS0+Y2lfaXBlbmRpbmd8PSgxPDx2aSk7CQorCQkJfQorCQkJLyog
Y2xlYXIgaXQgYW55d2F5LCBkb2VzIG5vIGhhcm0gaWYgd2UgZGlkbid0IG1pc3MgaXQgYnV0IHNh
dmVzIG91ciBhKiogaWYgd2UgZGlkICovCQkKKwkJCW91dDMycmIoSU5UX0NMRUFSX1JFR19ILG0p
OworCQl9CiAJfQogfQogCkBAIC0zNDMsNiArNDAwLDcgQEAKIAkJcmVnaXN0ZXIgaW50IGlycXMg
PSAxIDw8IGlycTsKIAkJZm9yIChxID0gaXMtPmlzX2hhbmQ7IHE7IHEgPSBxLT5paF9uZXh0KQog
CQkJaXJxcyB8PSBpbWFza1txLT5paF9sZXZlbF07CisJCS8vcHJpbnRmKCJpcnEgJWQ6ICUwOHhc
biIsaXJxLGlycXMpOwogCQlpcy0+aXNfbWFzayA9IGlycXM7CiAJfQogCkBAIC0zNjAsMTAgKzQx
OCwxMyBAQAogCQkJb3V0MzJyYihJTlRfRU5BQkxFX1JFR19ILCAwKTsKIAkJZm9yIChpcnEgPSAw
LCBpcyA9IGludHJzb3VyY2VzOyBpcnEgPCBOSVJROyBpcnErKywgaXMrKykgewogCQkJaWYgKGlz
LT5pc19oYW5kKQorCQkJeworCQkJCS8vZ2NfZGlzYWJsZV9pcnEoaXMtPmlzX2h3aXJxKTsKIAkJ
CQlnY19lbmFibGVfaXJxKGlzLT5pc19od2lycSk7CiAJCX0KIAl9CiB9Cit9CiAKIGludAogZmFr
ZWludHIoYXJnKQpAQCAtNTc5LDcgKzY0MCw5IEBACiAJaW50X3N0YXRlICY9IH5yX2ltZW47CiAJ
aWYgKGludF9zdGF0ZSkKIAkJZ290byBzdGFydDsKLQorCWludF9zdGF0ZT1pbjMycmIoSU5UX0xF
VkVMX1JFR19IKSZJTlRfTEVWRUxfTUFTSzsKKwlpZihpbnRfc3RhdGUhPTApCisJCXByaW50Zigi
aW50OiAlMDh4XG4iLChpbnQpaW50X3N0YXRlKTsKIAltdG1zcihtc3IgfCBQU0xfRUUpOwogCXNw
bHgocGNwbCk7CS8qIFByb2Nlc3MgcGVuZGluZ3MuICovCiAJbXRtc3IobXNyKTsKQEAgLTY5Nyw5
ICs3NjAsMTAgQEAKIAl3aGlsZSAoKGh3cGVuZCA9IChjaS0+Y2lfaXBlbmRpbmcgJiB+cGNwbCAm
IEhXSVJRX01BU0spKSAhPSAwKSB7CiAJCWlycSA9IDMxIC0gY250bHp3KGh3cGVuZCk7CiAJCWlz
ID0gJmludHJzb3VyY2VzW2lycV07CisjaWYgMAogCQlpZiAoIWhhdmVfb3BlbnBpYykKIAkJCWdj
X2VuYWJsZV9pcnEoaXMtPmlzX2h3aXJxKTsKLQorI2VuZGlmCiAJCWNpLT5jaV9pcGVuZGluZyAm
PSB+KDEgPDwgaXJxKTsKIAkJc3BscmFpc2UoaXMtPmlzX21hc2spOwogCQltdG1zcihlbXNyKTsK
QEAgLTcxMiwxMCArNzc2LDE2IEBACiAJCUtFUk5FTF9VTkxPQ0soKTsKIAkJbXRtc3IoZG1zcik7
CiAJCWNpLT5jaV9jcGwgPSBwY3BsOwotCiAJCWlzLT5pc19ldi5ldl9jb3VudCsrOwogCQlpZiAo
aGF2ZV9vcGVucGljKQogCQkJb3BlbnBpY19lbmFibGVfaXJxKGlzLT5pc19od2lycSwgaXMtPmlz
X3R5cGUpOworCQkvKiBtb3ZlZCBnY19lbmFibGVfaXJxKCkgZG93biBoZXJlIHNvIHdlIGNhbiBj
aGVjayBmb3IgbG9zdCBpbnRlcnJ1cHRzLCAqLworCQkvKiBtYXJrIHRoZW0gcGVuZGluZyBhbmQg
cHJvY2VzcyB0aGVtIGluIHRoZSBuZXh0IGxvb3AuIE1heWJlIGEgY291bnRlciAqLworCQkvKiB3
b3VsZCBiZSBhIGdvb2QgaWRlYSBzbyB3ZSBnZXQgb3V0IG9mIHRoaXMgZXZlbiBpZiBhbiBJUlEg
aXMgbmV2ZXIgZGVhc3NlcnRlZCAqLworI2lmIDEKKwkJaWYgKCFoYXZlX29wZW5waWMpCisJCQln
Y19lbmFibGVfaXJxKGlzLT5pc19od2lycSk7CisjZW5kaWYKIAl9CiAjaWZkZWYgTVVMVElQUk9D
RVNTT1IKIAl9CkBAIC03NzcsNyArODQ3LDcgQEAKIAkJZ290byBhZ2FpbjsKIAl9CiAKLSNpZiAw
CisjaWYgMQogCWlmIChjaS0+Y2lfaXBlbmRpbmcgJiB+cGNwbCkgewogCQlwcmludGYoImRvX3Bl
bmRpbmdfaW50IChhZ2FpbikgMHgleFxuIiwgY2ktPmNpX2lwZW5kaW5nICYgfnBjcGwpOwogCQln
b3RvIGFnYWluOwo=

--Multipart=_Mon__6_Dec_2004_23_42_27_-0500_bW7lN4YjfwopJepY--