Commit Graph

1351 Commits

Author SHA1 Message Date
cgd 85288c6a61 Include comvar.h, for comprobe1() prototype and for commulti_attach_args.
Remove multiple identical definitions for the arg struct used by multiport
boards' to attach slave com ports.
1996-03-09 01:03:59 +00:00
cgd a7c6dfe1cd include comvar.h for comprobe1() prototype 1996-03-09 01:02:08 +00:00
cgd 56edbfc4f9 define the common structure used to attach 'com' units as slaves to
multiport cards.  prototype comprobe1(), which is used by multiport card
drivers.
1996-03-09 01:01:33 +00:00
cgd 645d83b763 minor cleanup. mostly: use COM_NPORTS and a new (driver-specific) NSLAVES
macro where appropriate.  No point in hard-coding numbers in multiple places.
At the very least, this makes the drivers slightly easier to diff/understand.
1996-03-09 00:09:04 +00:00
cgd 2c11ad408c convert to use I/O mapping/access macros in <machine/bus.h>.
Mostly mechanical changes, except for probe/attach, which have
to map (and, in the case of probe, unmap) the I/O space that the
chip will use.
1996-03-08 22:17:58 +00:00
cgd fe4037750a convert to use I/O mapping/access macros in <machine/bus.h>.
Mostly mechanical changes, except for probe/attach, which have
to map (and, in the case of probe, unmap) the I/O space that the board
will use.
1996-03-08 22:03:26 +00:00
cgd 5e7aedd067 remember the bus_chipset_tag_t given by our parent, and pass it on to
children.  use I/O space access routines defined in <machine/bus.h>
when examining I/O space for slot ID information.
1996-03-08 20:39:32 +00:00
cgd b1d3f7607c remember the bus_chipset_tag_t given by our parent, and pass it on to
children.
1996-03-08 20:36:21 +00:00
cgd a38dcb7018 remember the bus_chipset_tag_t given by our parent, and pass it on to
children.
1996-03-08 20:34:25 +00:00
cgd 5087096150 pass a bus_chipset_tag_t (defined in <machine/bus.h>) to the bus when
attaching, and to the devices when attaching them.  #include <machine/bus.h>
to make this backward compatible with old #include requirements.
Also, clean up idempotency so that isa/eisa/pci "var.h" headers are
consistent (make them all idempotent).
1996-03-08 20:25:22 +00:00
ragge 6e51b1e47e Support for VAX 8600/8650 added. Works with lots of Unibus adapters,
and will probably work with Massbus adapters as well. (Not tested,
but it's the same code as for 11/780). Ubareset's may cause crashes
on 8600 also like 11/780, but they are more uncommon. No support
for console RL02 yet, but it's likely to come.
1996-03-07 23:22:34 +00:00
christos d318abdbc4 prototypes for ccd audio and ncr5380 1996-03-07 15:00:07 +00:00
leo 6da2ce259c Allow for a machine dependent match function - rd_match_hook() 1996-03-07 10:25:28 +00:00
cgd 1b4f4ed21d regen 1996-03-05 23:16:20 +00:00
cgd c5830eb792 add a bunch of device IDs & driver names & descriptions, thanks to
Jonathan Stone.
1996-03-05 23:15:59 +00:00
cgd d43ef3b959 split device info into driver name and human readable description. 1996-03-05 23:15:05 +00:00
thorpej 8f4177ba60 Add another broken drive that doesn't deal with LUNs properly to The List.
Fixes PR 1961, from Kevin P. Neal.
1996-03-05 01:45:42 +00:00
thorpej a8573feb51 Normalize SCSI autoconfiguration output.
From Chris Demetriou <cgd@NetBSD.ORG>.  Fixes PR #1958.
1996-03-05 00:15:09 +00:00
cgd c8487c701e reorganize mapping register definitions 1996-03-04 19:30:50 +00:00
cgd 272d9f69d2 fix aux argument to config_found() for secondary bus. 1996-03-04 17:02:46 +00:00
cgd acabb62791 the i386 port no longer attaches isa, eisa, and pci at root. 1996-03-04 03:29:12 +00:00
ragge 827892239a Add support for DW780. Note that ubareset's don't work properly.
This is not a problem on other Unibus adapters, but DW780's do
ubareset's more often. This needs to be fixed by someone someday.
1996-03-02 14:09:57 +00:00
cgd 7c61fe7779 change printing of unknown device names when not (BUS)VERBOSE slightly 1996-03-02 02:44:25 +00:00
cgd 0d2cc07e1c remove some colons to be slightly more friendly to things trying to
parse autoconfiguration output.
1996-03-02 02:28:48 +00:00
cgd 91f3357fe9 clean up some diagnostic printfs 1996-03-02 02:25:40 +00:00
cgd a4d39f5063 fix uninitialized variable; it shouldn't have been a variable at all.
(when probing to see if a device is there, always probe function 0.)
1996-03-02 02:03:55 +00:00
cgd 25d3eceab3 regen for changed tcdevs 1996-03-02 01:21:20 +00:00
cgd 305d9a88f6 typo in KZTSA-AA 1996-03-02 01:20:58 +00:00
cgd 9f36679a47 generated files 1996-03-02 01:17:58 +00:00
cgd c1c41f6bfc add ability to define TCVERBOSE, and get "human names" about "known"
but unconfigured (or unsupported) devices printed at boot time.
The device list is woefully incomplete, because i didn't put much time
in it, and because i don't know good "human names" for many TC devices.
1996-03-02 01:16:47 +00:00
cgd f33acccd57 if not EISAVERBOSE, don't say that vendor/product is "unknown," just say
what it is.
1996-03-02 01:09:37 +00:00
cgd 8806ff8c86 oops; spaces -> tabs 1996-03-02 01:09:13 +00:00
cgd c7241fb1ce if not PCIVERBOSE, don't say that vendor/product is "unknown," just say
what it is.
1996-03-02 01:07:47 +00:00
mycroft 97fbc0015b Add bit definition for auto-initialize mode. 1996-03-01 22:27:09 +00:00
mycroft d8026ad9ef Oops; switched two bits. 1996-03-01 04:35:27 +00:00
mycroft f3b29ca5d2 Remove two unneeded `if's. 1996-03-01 04:13:25 +00:00
mycroft 546ad9e88b Add support to the ISA DMA framework for auto-initialize mode.
Add experimental SB16 code, disabled for now.
1996-03-01 04:08:13 +00:00
gwr 950eda2d54 Replace DEBUG with NCR5380_DEBUG and do not define it by default. 1996-03-01 01:42:04 +00:00
gwr 6957383c25 Remove obsolete comment. 1996-02-29 19:37:53 +00:00
gwr 99e8401680 Add support for CapsLock and NumLock toggles. 1996-02-29 19:32:14 +00:00
cgd b213396977 fix arguments to ahbmatch to properly reflect reality. provide prototyped
declarations for ahbmatch and ahbattach.
1996-02-28 20:29:48 +00:00
cgd 2e86958f9b make PCI bus match/attach and sub-device attachment machine-independent,
add definition of 'ppb' (PCI-PCI bridge) device.
1996-02-28 01:47:06 +00:00
cgd 47e551efff Preliminary support for PCI-PCI bridges. Recognize a PCI-PCI bridge
and attach the secondary pci bus as a 'pci' device.  Note that this support
is incomplete and will not yet work for ports other than that i386.  (The
i386 can rely on the PCI interrupt 'line' information to determine
interrupt mapping, which is not necessarily possible on other systems.)
1996-02-28 01:46:32 +00:00
cgd f1f9317dfb make PCI bus match/attach and sub-device attachment machine-independent. 1996-02-28 01:44:41 +00:00
gwr 92d99153a3 Kill two mis-matched and unnecessary declarations. 1996-02-28 01:44:17 +00:00
cgd 3ca5707161 make ISA bus match/attach, and sub-device configuration machine-independent. 1996-02-28 01:43:45 +00:00
thorpej ee8a2c002f Copyright assigned to The NetBSD Foundation. 1996-02-28 01:01:17 +00:00
cgd 311a14c618 add a comment (XXX) about eisa's attachment. 1996-02-27 22:39:28 +00:00
jtc 8bd51c47b9 Copyright assigned to the NetBSD Foundation 1996-02-27 22:28:09 +00:00
cgd 4e07b4b16f eisabus attribute moved to conf/files 1996-02-27 22:00:25 +00:00
cgd cb8f484a57 tcbus attribute moved to conf/files 1996-02-27 22:00:04 +00:00
cgd a21351b381 use config_found_sm(), rather than config_search+config_attach()+glue, to
attach subdevices.
1996-02-27 21:48:52 +00:00
cgd 3f2d99e7a2 fix first args in tcprint() invocations. Fix for this (and several previous
commits) from Jonathan.  This is why one (I) shouldn't commit code w/o
having any sane way to test it.
1996-02-27 07:07:26 +00:00
cgd 8c79f5dd54 one more minor oops; print our name, not parent's, when doing unconfigured dev 1996-02-27 03:22:44 +00:00
cgd 09c7841a66 fix bug in previous commits. also, do submatch checking for all devices,
not just option slot devices.
1996-02-27 03:19:43 +00:00
cgd ecc22fbecd use #defines for bus speed constants, print speed on attach 1996-02-27 01:37:32 +00:00
cgd 3c43b4317d alphabetize device list 1996-02-27 01:31:33 +00:00
cgd 7f4f1d2406 be consistent when talking about eisa_attach_args 1996-02-27 00:31:30 +00:00
cgd 4bd7608739 Better EISA autoconfiguration, per PR 1959. 1996-02-27 00:20:54 +00:00
cgd 897baa5642 machine-generated files 1996-02-26 23:47:18 +00:00
cgd 9b53b5770d list of all EISA devices that we know about (for smarter 'unconfigured'
printing if 'options EISAVERBOSE'), and files to turn the list into c source.
From my PR (1959).
1996-02-26 23:46:17 +00:00
cgd c0251e2a9d (1) rename some structures & structure members, for consistency with
planned changes in other sections of code.
(2) expands the use of config_found() in tcattach() in-line, so that
    tcsubmatch can be invoked there, rather than being invoked by
    individual drivers.
(3) tcbus_attach_args now includes a turbochannel speed flag.
(4) compare a string in tcbus_attach_args against tc bus driver name,
    to better allow attachment of multiple busses to the same parent.
1996-02-26 23:38:38 +00:00
scottr 4005c5fd09 Fix typo (PR 2123, from Michael VanLoon) 1996-02-26 22:48:32 +00:00
cgd 5a1e1bb682 don't need isa/isareg.h or pci/pci{reg,var}.h. 1996-02-25 22:56:30 +00:00
pk 3d182fe265 Use CPU-type macros 1996-02-25 21:53:49 +00:00
cgd 6be793f659 use mono_time, rather than time, to keep track of timeouts. time can change
unpredictably.
1996-02-24 21:09:38 +00:00
mycroft 40d57df71a Switch byte order of ID and configuration registers for 14f and 34f. 1996-02-24 05:27:49 +00:00
mycroft ad355be572 Add a SDEV_AUTOSAVE quirk for the DEC RZ55. 1996-02-22 23:37:27 +00:00
mycroft 3ec5928403 Keep the terminal count information around, as it's self-clearing. 1996-02-22 06:21:48 +00:00
gwr 012b23ca17 fix a trace message 1996-02-22 04:06:03 +00:00
gwr a19a024e59 Do not mark target/LUN busy until we commit to working with it,
after the check for reselections.  (From Matthias Pfaller, PR 2105)
Also improve the selection code WRT concurrent reselection.
1996-02-22 03:10:47 +00:00
mycroft a35f0ac985 Add more debugging code. 1996-02-20 12:13:09 +00:00
mycroft 947cae817e Do not allow the gain to be changed on an original SoundBlaster. 1996-02-20 11:48:50 +00:00
mycroft d1b5c90fd6 Check for errors while changing gain. 1996-02-20 11:47:22 +00:00
mycroft 015ee926f6 Fix mono volume adjustment. 1996-02-20 11:15:15 +00:00
mycroft 5f732f379e Trivial (and probably not very good) implementation of SIGIO. 1996-02-20 10:00:31 +00:00
mycroft b5f3c5cbdc XXX This is a kluge.
Check to see if the DMA transfer is finished; if not, don't do interrupt
processing.
1996-02-20 04:19:24 +00:00
mycroft 4d6412e7bf Move the terminal count check into a separate function. 1996-02-20 04:17:05 +00:00
christos cd5249589d if_ep.c: Recognize 3c595 1996-02-19 20:18:40 +00:00
christos c456eaedc6 pcidevs was changed. 1996-02-19 20:09:24 +00:00
christos b6e5342075 Add 3c595 id 1996-02-19 20:08:25 +00:00
mycroft 5021ab87f1 Update copyright notice. 1996-02-19 15:23:25 +00:00
mycroft 5bc567b0d3 Set IER_ETXRDY before outputting any bytes, to prevent race condition. 1996-02-19 15:09:25 +00:00
mycroft c011a5eae4 Handle break more correctly.
Make IER_ETXRDY track TS_BUSY.  (Prevents a loop in comintr() if no output
is available.)
Add a bunch of debugging code.
1996-02-19 14:53:03 +00:00
pk b9de283ae6 Fix typo; pointed out by jtk. 1996-02-19 10:30:09 +00:00
gwr ce56580f30 Attach should get unit from _dev.dv_unit not sc_unit 1996-02-19 04:36:13 +00:00
gwr e9d6e59c62 Fix two bugs found by Bill Studenmund:
Driver can not use tp->t_sc for its own purposes
Attach should take the unit number from _dev.dv_unit
1996-02-19 04:34:01 +00:00
mycroft 91e913b297 Handle EOF a little differently. 1996-02-19 00:06:07 +00:00
mycroft c5326f656e Change variable name to avoid GCC warning. 1996-02-18 23:21:48 +00:00
mycroft 760b34026c Declare a variable... 1996-02-18 22:19:44 +00:00
mycroft ba2ac1b587 Clean this up a bit. 1996-02-18 22:17:37 +00:00
mycroft 2dfda50bb9 Minor tweak; make sure window size is 0 on close. 1996-02-18 20:44:40 +00:00
mycroft 8f0f40e8b3 Missed some prototyping foo. 1996-02-18 20:41:18 +00:00
mycroft 342c383728 Truncate to the window size in ssminphys(), not ssread(). 1996-02-18 20:38:44 +00:00
mycroft 294879d4ee Add SCSI scanner support by Kenneth Stailey and Joachim Koenig-Baltes,
hacked a bit.  Needs more work.
1996-02-18 20:32:40 +00:00
mycroft 23726708b0 Minor change. 1996-02-18 20:30:53 +00:00
jtk 47286969ae Add bass/treble input filter adjustment controls to SB (Pro) driver 1996-02-18 16:36:44 +00:00
mycroft e5730c4a73 Fix a race condition where we might stop outputting if a write follows a
flush too closely.
1996-02-18 09:10:15 +00:00
jtk 45eee6c55b remove #ifdef notdef made unnecessary by previous changes (PR#1597)
put in missing "if (error)" that caused tape IO to always fail.
(closes PR#2086)
1996-02-17 16:00:22 +00:00
mycroft 203f5d5329 Add some text describing the UART lossage worked around in the previous. 1996-02-17 04:51:41 +00:00
jtk 03f1e1432a fix compile error from gusprobe() cleanup 1996-02-17 04:49:50 +00:00
mycroft 121f6570d7 Drain the transmitter FIFO before changing the baud rate or FIFO depth
registers.  Fixes PR 2046.
Also, if COMCONSOLE is defined, expect CONSPEED to be the baud rate.
1996-02-17 04:04:28 +00:00
jtk 28feffd508 avoid panic'ing when driver gets confused--just spit out a message and
keep going.
Improve error messages to include device name.
use STATIC for function declarations/definitions so it's easier to get a
useful symbol table by flipping a switch.
1996-02-17 03:35:22 +00:00
jtk 4f3fc10939 Fix PR#2060 (add AUDIO_PERROR ioctl to query # of playback drops), also
fix semantics of AUDIO_WERROR (now returns a count).

Also repair audio driver back to "real-time mode" where user must
provide data quickly enough for real time audio or silence is played
until user catches up.  Add optional "play all" mode (additional bit in
mode field) to play all samples provided, with silence when needed to
avoid buffer underrun.
1996-02-17 02:28:56 +00:00
mycroft 7847c9efee Various:
* Snap the sample rate when setting it, and remember only the time constant.
* Set the time constant when changing between play/record.
* Always return the actual sample rate with AUDIO_GETINFO.
1996-02-16 10:10:21 +00:00
mycroft 19f59bf3c2 Prototype the probe and attach functions. 1996-02-16 08:18:32 +00:00
mycroft 9cbadb3ec2 Remove incorrect comment. From Mike Long, PR 1277. 1996-02-16 08:12:33 +00:00
mycroft 7af4edd731 Various, including:
* Add more delays while writing registers.
* Replace sc_dma{in,out}_inprogress with sc_dmadir.
* Eliminate the need for sc_locked.
* Add more DPRINTF()s.
1996-02-16 08:07:40 +00:00
mycroft 8ba7909bb4 Eliminate sc_silence, and handle output interrupts somewhat differently.
From John Kohl, slightly edited.
1996-02-16 02:25:43 +00:00
christos 0bc63f486d scsi prototypes 1996-02-14 21:46:52 +00:00
thorpej 91bd533c48 Avoid deref'ing a bad pointer in ccdopen(). This could happen if
any partition other than RAW_PART is opened before configuring the
ccd.  Bug pointed out by Matthew Green.
1996-02-11 18:04:01 +00:00
ragge 29719357a6 Remove csralloc(), not usable anymore.
Add ubasetvec() to steal interrupt vectors for device drivers that
need more than one vector. Add prototype for it.
1996-02-11 13:24:50 +00:00
hpeyerl fb81581990 detatch this spelling mistake from this source file. 1996-02-10 22:27:22 +00:00
christos ee08b72ef4 Hayes ESP register definition 1996-02-10 20:23:40 +00:00
christos 11d31f7ce7 Hayes ESP patches [from PR database] 1996-02-10 20:23:18 +00:00
christos 30c34c327f vnd.c: Typo (disk_deta{t,}ch) It was detach in the header file and
detatch everywhere else. Reverted to the english spelling.
       Also fixed the rest of the prototype warnings while I was at it.
ic/ncr5380sbc.c: Don't declare Debugger()... I have to clean this
		 everywhere :-(
1996-02-10 00:11:44 +00:00
mycroft 28bf676a23 Read the 14f/34f registers in 8-bit mode. 1996-02-09 17:38:09 +00:00
briggs f18f32d2e1 PR#2048. Prototype st_erase(). 1996-02-09 14:51:34 +00:00
mycroft 47246947c7 Adjust the low and high watermarks. Based on a suggestion from Lennart
Augustsson.
1996-02-08 03:05:34 +00:00
thorpej b686e830b8 Fix typo, from Thorsten Frueauf <frueauf@ira.uka.de>. 1996-02-06 18:15:19 +00:00
scottr 54c51d4393 Document this file better, mostly from John Vinopal
<banshee@gabriella.resort.com>.  Closes PR #1864.
1996-02-05 23:01:50 +00:00
scottr ae06fdb589 Allow blocksize of NBPG/2 to NBPG for higher sampling rates. From
Lennart Augustsson <augustss@cs.chalmers.se>, closes PR 2013.
1996-02-05 21:32:26 +00:00
scottr 186d69c204 Don't adjust the number of blocks in the ring buffer if the driver
is currently outputting silence.  Fix from Lennart Augustsson
<augustss@cs.chalmers.se>, closes PR #2010.
1996-02-05 21:11:10 +00:00
jtc 3ae2aedf4d Fix error in copyright notice 1996-02-05 02:18:48 +00:00
jtc 240e22087c Received copyright assignment 1996-02-05 00:10:32 +00:00
christos d4f46b2259 cnputc returns void 1996-02-04 02:04:08 +00:00
mycroft cfefb732a0 Fix type errors. 1996-02-02 22:57:43 +00:00
mycroft 0103e26fd8 Fix #includes. 1996-02-02 18:59:16 +00:00
mycroft 9d9a70a5a2 Fix #includes. 1996-02-02 18:05:36 +00:00
jonathan 8b3d92f17f Resolve pmax and alpha IOCTL asic driver differences, pass 1:
Rename the ioctl asic register and slot macros from ASIC_<xxx> to
IOASIC_<xxx>, to be compatible with the machine-indpendent names in
sys/dev/tc/ioasicvar.h.  The pmax code still uses
sys/arch/pmax/pmax/asic.h, as some of the registers and offsets
defined there are not yet defined in sys/dev/tc/ioasicvar.h.
Rename the ioctl asic base-address pointer from `asic_base' to `ioasic_base'.
Use the device address in the attach_args structure, instead of
using the deprecated BUS_CVTADDR macro.

Change the Mach derived asc driver to use "SCSI_PHASE_xxx" instead of
"ASC_PHASE_xxx",  as the latest version of the Mach driver does.
1996-02-02 02:33:34 +00:00
mycroft 88e512b693 LOCORE -> _LOCORE 1996-02-01 22:28:24 +00:00
thorpej 732dd94a83 Add experimental data mirroring support, derived from code written by
Satoshi Asami and Nisha Talagala.  For details on using data mirroring,
see the ccd(4) manual page.
1996-02-01 20:47:13 +00:00
jonathan c72cd6e76c Set sc->sc_cookie appropriately for the ioasic and TC option cases.
Tested on Decstation: ioasic, kn02 baseboard, and TC option card.

Add untested for pmax 3100/5100 baseboard ethernet.
1996-02-01 06:12:16 +00:00
briggs e5ece749b2 Handle COMMAND ABORTED by forcing a retry. PR#2003, but with some more
diagnostic info.
1996-01-31 15:16:06 +00:00
cgd 40628fb3e8 update for new version of 'pcidevs' 1996-01-31 00:45:25 +00:00
cgd 8a3babe178 update/clean entries for Adaptec PCI scsi chips/boards. 1996-01-31 00:43:02 +00:00
gwr f2e57c6dc8 Eliminate remaining direct references to the z8530 chip
to allow the MD access functions to do delays, etc.
1996-01-30 22:34:52 +00:00
thorpej 919f6728ab Accept DIOCEJECT as a synonym for CDIOCEJECT. Implement DIOCLOCK
separately from CDIOCALLOW and CDIOCPREVENT, even though they perform
basically the same function (with a different interface XXX).
1996-01-30 18:28:02 +00:00
thorpej c7a20f0ee3 Implement DIOCLOCK and DIOCEJECT. DIOCEJECT is limited to removable
media.  Fixes PR #1975.
1996-01-30 18:24:47 +00:00
gwr c2c1c1b11a Move struct definitions to MD code. 1996-01-24 19:21:40 +00:00
gwr a3c19fb08a Oops, I didn't mean to check in that file. 1996-01-24 16:03:31 +00:00
gwr c68a32fc95 New "child" drivers for Sun keyboard and mouse attached to z8530sc. 1996-01-24 01:15:34 +00:00
gwr ca633a9f35 Reorganized, machine-independent z8530 driver, based on the sparc/sun3 zs.
Uses autoconfig to attach keyboard, mouse, or tty.  (See z8530.doc)
1996-01-24 01:07:21 +00:00
gwr 5886eb474f Use the function pointers sc_pio_in, sc_pio_out to call the PIO functions
for transfers in data phase so those functions may be MD implementations
that do "pseudo-DMA" if desired.  Also correct some comments.
1996-01-23 19:47:00 +00:00
cgd 0d743e5a05 update PCIVERBOSE code in various ways:
(1) remove the 'UNSUPP' keyword from the device list,
	    because it can't be reasonably used (becuase different
	    devices may be supported on different machines, for
	    good reason).
	(2) enhance pci_devinfo so that class/subclass information
	    is optional (so pci_devinfo can be used by drivers that
	    match classes of devices, and want to look up the
	    devices' names easily).
	(3) more known vendors and devices.
1996-01-22 21:08:09 +00:00
mycroft 02317d25bb Make the panic message for ISA clone devices more informative. 1996-01-16 07:52:38 +00:00
christos d3427703db Hayes ESP support from Michael Van Loon, with minor cleanups. Tested on
a single port ESP card; works great!
1996-01-14 23:44:34 +00:00
thorpej f08d96426e Oops. Fix RCS id. 1996-01-13 02:06:30 +00:00
thorpej e422ebca1a Add the "ahe" driver, autoconfiguration support for the aic7xxx-based
Adaptec 2[78]4x SCSI controllers, from Michael Graff <explorer@flame.org>.
Fixes PR #1594 from Noriyuki Soda <soda@sra.co.jp> in a different way.
1996-01-13 02:05:14 +00:00
thorpej 8068d9eeb2 Handle cases like the following:
- controller calls scsi_done() with error XS_TIMEOUT
	- scsi_done() calls sddone()
	- sddone() calls disk_unbusy()
	- scsi_done() calls controller to retry command (missing the
	  call to disk_busy())
	- controller calls scsi_done()
	- scsi_done() calls sddone()
	- sddone() calls disk_busy(), which panics because of the imbalance.
Bug noticed by Leo Weppleman, who also suggested this fix; pass an additional
boolean argument ("complete") to the device's "done" routine, with a
value of `0' passed from the previous call to "done", and add an additional
call to "done" when the xfer resources are freed.
1996-01-12 22:43:26 +00:00