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