Commit graph

12 commits

Author SHA1 Message Date
Justin T. Gibbs fd21cc5ee0 Allow 5 untagged commands to go to a device before enabling tags after
enabling transfer negotiations, a BDR, or a bus reset to allow the controller
driver to negotiate without tagged messages getting in the way.  Some
devices are confused by attempts to negotiate and tag at the same time.
Some controllers (e.g. BT MultiMaster with certain firmware revs) will
never negotiate if you don't give them an untagged "window" to perform
negotiation in.

Bump the maximum tag count to 255.  The system reclaims unused tag space
as the tag count is dropped anyway, so we might as well try the max.

We should probably use a larger type than u_int8_t to hold our tag value
as SCSI over certain mediums allows for higher values.

Reviewed by:	 Kenneth Merry <ken@FreeBSD.org>
1998-09-23 03:03:19 +00:00
Kenneth D. Merry f24c39c7d5 Add several quirks:
Western Digital Enterprise drives have sorry performance (1.5MB/sec versus
8MB/sec) when doing tagged queueing.  Disable tagged queueing for them.

Submitted by:	Andrew Gallatin <gallatin@cs.duke.edu>

Some Sony CDROM drives don't like it when we probe more than one LUN.

Verified by:    Jean-Marc Zucconi <jmz@FreeBSD.ORG>

Some Sony CD-R's don't like multi-LUN probing either.

Submitted by:   Parag Patel <parag@cgt.com>
1998-09-22 20:41:12 +00:00
Justin T. Gibbs 53b062d3cc cam.c:
Clear up trailing NULs in cam_strvis.

cam_xpt.c:
	Nuke an experimental quirk entry for the Toshiba 3401.  The real
	problem with this device turned out to be a bug in the aic7xxx
	driver that was fixed months ago.

	Add a quirk entry to inhibit multiple lun scanning and serial number
	probing of DPT RAID volumes.  My DPT controller hangs up solid when
	I do either of these things to a RAID 1 volume.
1998-09-22 04:53:23 +00:00
Justin T. Gibbs e471e974cc cam_xpt.c:
Add quirk entry for a Samsung drive that doesn't like experiencing
	the queue full condition.

	Bump the timeouts for all probe activities to 60s.  We don't know
	what the seletion timeout (or equivelent on other mediums) is
	for controllers, which can make the transactions at the tail
	end of a parallel probe take a while to complete.  The DPT
	seems to be a card that takes a long time to see a selection timeout.

cam_periph.c:
	Don't call a device "gone" after a single selection timeout.  We
	need to come up with a better policy.  Until that time, you'll
	have to manually re-scan a bus via camcontrol for the system to
	decide that a device is really gone.  This should give devices
	experiencing temporary insanity to escape death.
1998-09-20 07:14:36 +00:00
Justin T. Gibbs ecdf111388 Only deregister out configuration hook manually if there are no SCSI
busses to configure.
1998-09-20 05:03:34 +00:00
Kenneth D. Merry 6747168dc9 Change the Atlas II quirk entries so they work with differential Atlas
II's.  Also, add a quirk entry for the 2 gig Atlas II.

Partially Submitted by:	Ted Buswell <tbuswell@mediaone.net>
1998-09-18 19:55:34 +00:00
Kenneth D. Merry a822eb2a8b Fix a formatting error.
Fix a problem reported by bde:  setting SCSI_DELAY to 0 doesn't work.  Now,
when the user sets SCSI_DELAY to 0, we re-set it to the minimum allowable
bus settle delay (100ms).

Fix a potential panic in xptfinishconfigfunc() if the CCB passed in is
NULL.  Reported by, I think, Nicolas Souchu.  Fix a memory leak in the same
function (we created a path, but didn't free it) by allocating the getdev
CCB and path on the stack.

Reviewed by:	gibbs
1998-09-17 23:58:53 +00:00
Kenneth D. Merry c5e6ca4410 Some Alpha patches for CAM from Doug Rabson.
Reviewed by:	gibbs
Submitted by:	dfr
1998-09-16 23:30:11 +00:00
Justin T. Gibbs 9bc66b835c Properly allocate our, per lun, probe peripheral softc from
the TEMP malloc pool.

Noticed by: Don Lewis <Don.Lewis@tsc.tdk.com>
1998-09-16 13:24:37 +00:00
Kenneth D. Merry 66a0780e8e Check to make sure that this device is opened read-write, not just read
only.  Previously, if the device was chmoded 644, someone could open it
with the O_RDONLY flag and issue any ioctl to the device.

Reviewed by:	imp, gibbs
1998-09-16 00:11:53 +00:00
Justin T. Gibbs 5ee58402df Correct printf format bugs. 1998-09-15 22:05:44 +00:00
Justin T. Gibbs 8b8a9b1d3e CAM Transport Layer (XPT).
Submitted by:	The CAM Team
1998-09-15 06:33:23 +00:00