summaryrefslogtreecommitdiffstats
path: root/sys/dev/arcmsr
diff options
context:
space:
mode:
authorscottl <scottl@FreeBSD.org>2009-02-20 07:40:54 +0000
committerscottl <scottl@FreeBSD.org>2009-02-20 07:40:54 +0000
commit9894622a1c3bbdb740cb4fa7cfd9dcecc0697db0 (patch)
treeb69ad932c820b1408a48101af3b9f5967742b356 /sys/dev/arcmsr
parent261fc57b267bcc31fc486f94e6472a0c30fa457f (diff)
downloadFreeBSD-src-9894622a1c3bbdb740cb4fa7cfd9dcecc0697db0.zip
FreeBSD-src-9894622a1c3bbdb740cb4fa7cfd9dcecc0697db0.tar.gz
Tell CAM that SPI disconnect works, which in turn will let it use tags.
This fixes the low "max device openings" count that has lead to poor performance in FreeBSD 7.0 and 7.1. Extra thanks goes to Mike Tancsa at Sentex for providing a debug system for this.
Diffstat (limited to 'sys/dev/arcmsr')
-rw-r--r--sys/dev/arcmsr/arcmsr.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/arcmsr/arcmsr.c b/sys/dev/arcmsr/arcmsr.c
index 416bd5d..3d19a53 100644
--- a/sys/dev/arcmsr/arcmsr.c
+++ b/sys/dev/arcmsr/arcmsr.c
@@ -2150,7 +2150,8 @@ static void arcmsr_action(struct cam_sim * psim, union ccb * pccb)
spi->sync_offset=32;
spi->bus_width=MSG_EXT_WDTR_BUS_16_BIT;
scsi->flags = CTS_SCSI_FLAGS_TAG_ENB;
- spi->valid = CTS_SPI_VALID_SYNC_RATE
+ spi->valid = CTS_SPI_VALID_DISC
+ | CTS_SPI_VALID_SYNC_RATE
| CTS_SPI_VALID_SYNC_OFFSET
| CTS_SPI_VALID_BUS_WIDTH;
scsi->valid = CTS_SCSI_VALID_TQ;
OpenPOWER on IntegriCloud