NetBSD/sys/dev/scsipi
bouyer 8b5bf22895 Workaround for broken drives (explained to me by Chris G. Demetriou):
some devices can't handle tag number larger than some values and always
reject commands with QUEUE FULL if the tag number is larger than this.
Under some circonstances the scsipi system may not decrease periph_openings
(as a workaround of other odd behavior) and we may end up requeuing the command
with a hight tag value again, and the driver could loop on this.
Workaround: in case of queue full, decrease periph_openings to
min(periph_active - 1, periph_openings - 1) so that, after some iteration,
periph_openings is less than the max tag value acceptable by the device.

Solves the problem with tagged queuing on ncr53c9x for me.
2001-05-18 12:56:28 +00:00
..
atapi_base.c Use SCSI/ATAPI common definition for MODE_{SELECT,SENSE}{,_BIG}. Define 2001-05-14 20:35:27 +00:00
atapi_cd.h Use SCSI/ATAPI common definition for MODE_{SELECT,SENSE}{,_BIG}. Define 2001-05-14 20:35:27 +00:00
atapi_disk.h Use SCSI/ATAPI common definition for MODE_{SELECT,SENSE}{,_BIG}. Define 2001-05-14 20:35:27 +00:00
atapi_wdc.c delint: can't have an empty case item at the end of a switch; need a ; at least 2001-05-15 13:53:20 +00:00
atapiconf.c Use SCSI/ATAPI common definition for MODE_{SELECT,SENSE}{,_BIG}. Define 2001-05-14 20:35:27 +00:00
atapiconf.h Use SCSI/ATAPI common definition for MODE_{SELECT,SENSE}{,_BIG}. Define 2001-05-14 20:35:27 +00:00
cd_atapi.c Use SCSI/ATAPI common definition for MODE_{SELECT,SENSE}{,_BIG}. Define 2001-05-14 20:35:27 +00:00
cd_scsi.c Use SCSI/ATAPI common definition for MODE_{SELECT,SENSE}{,_BIG}. Define 2001-05-14 20:35:27 +00:00
cd.c SDEV_DB -> SCSIPI_DB 2001-05-17 20:02:56 +00:00
cdvar.h Pull up the thorpej_scsipi branch to main branch. 2001-04-25 17:53:04 +00:00
ch.c Use SCSI/ATAPI common definition for MODE_{SELECT,SENSE}{,_BIG}. Define 2001-05-14 20:35:27 +00:00
files.scsipi Add an ATAPI front-end to the st driver. Completely untested for now, 2001-05-04 07:48:56 +00:00
if_se.c Pull up the thorpej_scsipi branch to main branch. 2001-04-25 17:53:04 +00:00
Makefile Only install headers which are actually used by our userland. This 2001-04-11 07:42:31 +00:00
scsi_all.h Use SCSI/ATAPI common definition for MODE_{SELECT,SENSE}{,_BIG}. Define 2001-05-14 20:35:27 +00:00
scsi_base.c Pull up the thorpej_scsipi branch to main branch. 2001-04-25 17:53:04 +00:00
scsi_cd.h Use SCSI/ATAPI common definition for MODE_{SELECT,SENSE}{,_BIG}. Define 2001-05-14 20:35:27 +00:00
scsi_changer.h
scsi_ctron_ether.h
scsi_disk.h
scsi_message.h Pull up the thorpej_scsipi branch to main branch. 2001-04-25 17:53:04 +00:00
scsi_scanner.h
scsi_tape.h Pull up the thorpej_scsipi branch to main branch. 2001-04-25 17:53:04 +00:00
scsiconf.c Pull up the thorpej_scsipi branch to main branch. 2001-04-25 17:53:04 +00:00
scsiconf.h Pull up the thorpej_scsipi branch to main branch. 2001-04-25 17:53:04 +00:00
scsipi_all.h Use SCSI/ATAPI common definition for MODE_{SELECT,SENSE}{,_BIG}. Define 2001-05-14 20:35:27 +00:00
scsipi_base.c Workaround for broken drives (explained to me by Chris G. Demetriou): 2001-05-18 12:56:28 +00:00
scsipi_base.h Pull up the thorpej_scsipi branch to main branch. 2001-04-25 17:53:04 +00:00
scsipi_cd.h
scsipi_debug.h Pull up the thorpej_scsipi branch to main branch. 2001-04-25 17:53:04 +00:00
scsipi_disk.h
scsipi_ioctl.c Pull up the thorpej_scsipi branch to main branch. 2001-04-25 17:53:04 +00:00
scsipi_verbose.c Pull up the thorpej_scsipi branch to main branch. 2001-04-25 17:53:04 +00:00
scsipiconf.c Pull up the thorpej_scsipi branch to main branch. 2001-04-25 17:53:04 +00:00
scsipiconf.h Use SCSI/ATAPI common definition for MODE_{SELECT,SENSE}{,_BIG}. Define 2001-05-14 20:35:27 +00:00
sd_atapi.c Use SCSI/ATAPI common definition for MODE_{SELECT,SENSE}{,_BIG}. Define 2001-05-14 20:35:27 +00:00
sd_scsi.c Use SCSI/ATAPI common definition for MODE_{SELECT,SENSE}{,_BIG}. Define 2001-05-14 20:35:27 +00:00
sd.c Since __HAVE_OLD_DISKLABEL, DISKMINOR(u, p) isn't continuous over "p" 2001-05-06 18:30:56 +00:00
sdvar.h Pull up the thorpej_scsipi branch to main branch. 2001-04-25 17:53:04 +00:00
ses.c Pull up the thorpej_scsipi branch to main branch. 2001-04-25 17:53:04 +00:00
ses.h
ss_mustek.c Pull up the thorpej_scsipi branch to main branch. 2001-04-25 17:53:04 +00:00
ss_mustek.h
ss_scanjet.c Pull up the thorpej_scsipi branch to main branch. 2001-04-25 17:53:04 +00:00
ss.c Pull up the thorpej_scsipi branch to main branch. 2001-04-25 17:53:04 +00:00
ssvar.h Pull up the thorpej_scsipi branch to main branch. 2001-04-25 17:53:04 +00:00
st_atapi.c Add an ATAPI front-end to the st driver. Completely untested for now, 2001-05-04 07:48:56 +00:00
st_scsi.c Add an ATAPI front-end to the st driver. Completely untested for now, 2001-05-04 07:48:56 +00:00
st.c delint; use MAX(sizeof(..),sizeof(..)) instead of max(...) for array size 2001-05-15 14:03:27 +00:00
stvar.h Add an ATAPI front-end to the st driver. Completely untested for now, 2001-05-04 07:48:56 +00:00
su.c
uk.c Pull up the thorpej_scsipi branch to main branch. 2001-04-25 17:53:04 +00:00