Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watnot!watmath!clyde!rutgers!seismo!mcvax!cernvax!hslrswi!robert From: robert@hslrswi.UUCP Newsgroups: comp.bugs.4bsd Subject: 4.3BSD DEQUNA Driver Panics MicroVax Message-ID: <433@hslrswi.UUCP> Date: Mon, 9-Mar-87 04:41:12 EST Article-I.D.: hslrswi.433 Posted: Mon Mar 9 04:41:12 1987 Date-Received: Thu, 12-Mar-87 23:43:54 EST Organization: Hasler AG, Berne, Switzerland Lines: 43 Keywords: 4.3 BSD DEQUNA panic MicroVax Index: /sys/vaxif/if_qe.c 4.3BSD Description: The 4.3 BSD diver for the DEQUNA contains a bug that causes the MicroVax to panic with a "Protection fault" as soon as one does an "ifconfig qe0
". The problem here is that, inside qerestart(), the driver requires the `addr' field of the `qe_softc' structure to be set before an ioctl( ..., SIOCSIFFLAGS, ... ) is done. This field is set inside qeinit() when an ioctl( ..., SIOCSIFADDR, ... ) is called. Unfortunately, ifconfig calls the ioctl's in the opposite order - that is, SIOCSIFFLAGS before SIOCSIFADDR - regardless of the order of the command flags. Repeat-By: Bring up 4.3BSD on a MicroVax. Type something like: ifconfig qe0 myaddress broadcast ... trailers up Watch as your MicroVax immediately blows up with a "Panic: protection fault" Fix: I haven't got a fix for this but here is a ... Work-Around: Split the ifconfig command into two parts. Thus: ifconfig qe0 myaddress ifconfig qe0 broadcast ... trailers up ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ J. Robert Ward, ___________ Hasler AG, Belpstrasse 23, CH-3000 Berne 14, Switzerland | _ | | _| |_ | Tel.: +41 31 632319 | |_ _| | X.400: robert@hslrswi.hasler | |_| | Bitnet: robert%hslrswi.UUCP@cernvax.BITNET |_________| Uucp: ... {seismo,ukc, ... }!mcvax!cernvax!hslrswi!robert ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~