Commit Graph

31 Commits

Author SHA1 Message Date
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
thorpej 249cddaaa7 Don't declare Debugger(). It's handled in <sys/systm.h>.
#include <sys/systm.h> where necessary, as suggested by Jonathan Stone.
Fixes PR #1511.
1995-09-26 19:26:48 +00:00
mycroft 1d2f0bce2a Make the byte-shifting code consistent. 1995-05-03 19:38:45 +00:00
mycroft 1611df6ae0 Update copyrights. 1995-01-26 12:05:49 +00:00
mycroft b76a328caa Redo the `wait for spin up' code. The Mach 3 method clearly doesn't work.
Also, rearrange the first open sequences a bit; SDEV_OPEN is no longer magic.
1995-01-26 11:56:51 +00:00
mycroft 4a1e51751b Trivial simplification. 1995-01-16 21:34:10 +00:00
mycroft 28775a6a5d Add a DIAGNOSTIC check. 1995-01-13 14:38:13 +00:00
mycroft bfd9901daf Fix some oversights in the debugging code. 1994-12-30 05:33:06 +00:00
mycroft 5d3bd57538 Fix a couple of things in the sense printing code. 1994-12-29 13:49:57 +00:00
mycroft 8fd135209c Numerous changes. Many bugs fixed, better autoconfig, a few new features. 1994-12-28 19:42:47 +00:00
mycroft 1b372b7e96 Remove some redundant code. 1994-12-01 13:07:28 +00:00
mycroft 0109779d43 Remove unneeded override of SCSI_NOSLEEP. 1994-12-01 12:45:25 +00:00
mycroft 1066219897 Uncomment call to scsi_user_done(), and remove a duplicate biodone() (and
another si_free()).
1994-12-01 12:04:43 +00:00
deraadt 0c36dd6762 C botch repair from bostic 1994-11-22 00:05:36 +00:00
mycroft fd32202948 Replace dev_unit with device_softc in scsi_link. Change argument to foostart()
to void*.
1994-11-21 10:39:09 +00:00
deraadt 5aa2f1e6bb remove an un-aligned access 1994-08-30 17:01:57 +00:00
deraadt fd7c79353e knf 1994-06-29 23:32:42 +00:00
cgd fccfa11af5 New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD' 1994-06-29 06:39:25 +00:00
chopps 95faa87c60 remove union's from sense_data struct, conditionaly define RAW_PART 1994-05-09 07:40:47 +00:00
mycroft df873c8545 Maintain the xs free list with LIST_*(). 1994-04-20 22:13:33 +00:00
mycroft c01cb5c454 Fix various types. Remove some outdated flags. Actually sleep a bit if
there are too many commands pending on the controller.
1994-04-11 03:53:45 +00:00
mycroft 8b10b2cd18 Combine scsi_start_unit() and scsi_stop_unit(), and increase the start
timeout (again).
1994-04-11 02:23:41 +00:00
mycroft 2e5a28159f New SCSI system, based on Julian's more recent work. 1994-03-29 04:29:20 +00:00
mycroft 4335fa14b3 Increase the timeout for start_unit. 1994-02-16 00:47:35 +00:00
mycroft 94b2718bd1 PARANOID --> DIAGNOSTIC for inexpensive tests. 1994-02-14 21:43:33 +00:00
mycroft 4ecdacf90d Add scsi_stop_unit(), from Mac code. Other minor nits. 1994-02-01 20:05:19 +00:00
mycroft 31a8c70935 0xfe000000 --> KERNBASE 1993-12-13 11:50:13 +00:00
mycroft 5820418cb2 Remove remaining sleep()s. 1993-11-27 19:49:09 +00:00
mycroft 8cd6aec465 Patch from Julian to fix hangage when opening a device multiple times. 1993-11-25 04:03:20 +00:00
mycroft e985f4041a Still under construction... 1993-11-24 09:45:04 +00:00
mycroft 37548328a1 Under construction... 1993-11-24 04:52:44 +00:00