Subject: small update to DHV-11 driver (#61) Index: sys/pdpuba/dhv.c 2.11BSD Description: The DELAY macro was replaced with a call to the "delay()" routine (in pdp/mch_xxxx.s) because the macro generated a rather excessive volume of code AND because this driver was the last module to use it. A later patch removes the macro altogether from machparam.h. Too, there was an unused variable present which was removed (two bytes is two bytes after all). Repeat-By: Examine the code. Fix: Apply the patch below (this assumes previous postings which promoted the DHV driver from the OTHERS catagory to "supported") have been applied). No need to recompile the kernel unless a DHV-11 is present in the system ------------------------------------------------------------------------ *** /sys/pdpuba/dhv.c.old Thu Dec 26 10:13:41 1991 --- /sys/pdpuba/dhv.c Thu Jul 2 22:53:43 1992 *************** *** 76,82 **** struct tty dhv_tty[NDHVLINE]; int ndhv = NDHVLINE; int dhv_ie[NDHV]; - int dhvtsize = sizeof(struct tty); int dhvact; /* mask of active dhv's */ int dhv_rcnt[16]; int dhvstart(), ttrstrt(); --- 76,81 ---- *************** *** 546,552 **** else { addr->dhvlcr &= ~DHV_LC_OAUTOF; ! DELAY(25); /* see the dhv manual, sec 3.3.6 */ addr->dhvlcr2 |= DHV_LC2_TXEN; } splx(s); --- 545,551 ---- else { addr->dhvlcr &= ~DHV_LC_OAUTOF; ! delay(25L); /* see the dhv manual, sec 3.3.6 */ addr->dhvlcr2 |= DHV_LC2_TXEN; } splx(s); *************** *** 721,727 **** unit = UNIT(tp->t_dev); addr->dhvcsrl = DHV_SELECT(unit) | dhv_ie[unit>>3]; addr->dhvlcr |= DHV_LC_TXABORT; ! DELAY(25); /* see the dhv manual, sec 3.3.6 */ addr->dhvlcr2 |= DHV_LC2_TXEN; if ((tp->t_state&TS_TTSTOP)==0) tp->t_state |= TS_FLUSH; --- 720,726 ---- unit = UNIT(tp->t_dev); addr->dhvcsrl = DHV_SELECT(unit) | dhv_ie[unit>>3]; addr->dhvlcr |= DHV_LC_TXABORT; ! delay(25L); /* see the dhv manual, sec 3.3.6 */ addr->dhvlcr2 |= DHV_LC2_TXEN; if ((tp->t_state&TS_TTSTOP)==0) tp->t_state |= TS_FLUSH;