Port-atari archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
atari/dev/zs.c interrupt issue
I tried to transfer some files to my Falcon running NetBSD 5 kernel
with ppp. I'm using zs0b (ttyA1) device which is standard Falcon
serial port.
However I started to see "zs0b: ring overrun" messages early during
transfer and occasional freezing.
It seems that BASEPRI() is causing this problem and following
patch cures this issue:
--- zs.c 11 Jun 2008 14:35:53 -0000 1.57
+++ zs.c 24 Jan 2009 00:23:49 -0000
@@ -630,15 +630,15 @@
#undef b
if(intflags & 1) {
- if(BASEPRI(sr)) {
+ if (!cb_scheduled) {
+ cb_scheduled++;
+ add_sicallback((si_farg)zssoft, 0, 0);
+ }
+ else {
spl1();
zsshortcuts++;
return(zssoft(sr));
}
- else if(!cb_scheduled) {
- cb_scheduled++;
- add_sicallback((si_farg)zssoft, 0, 0);
- }
}
return(intflags & 2);
}
It looks that we should pull this to NetBSD 4 & 5. Any comments ?
-Tuomo
Home |
Main Index |
Thread Index |
Old Index