diff options
author | scottl <scottl@FreeBSD.org> | 2007-02-15 15:36:15 +0000 |
---|---|---|
committer | scottl <scottl@FreeBSD.org> | 2007-02-15 15:36:15 +0000 |
commit | f81a44a44965d60a3f9965c0350281724941a32f (patch) | |
tree | 955f72b639e35dc8c1027b2371728c94cbebfba1 /sys/dev | |
parent | b91f40d9ac14ae73ac8bb74d07a7b7bdcd611e6d (diff) | |
download | FreeBSD-src-f81a44a44965d60a3f9965c0350281724941a32f.zip FreeBSD-src-f81a44a44965d60a3f9965c0350281724941a32f.tar.gz |
Fix spurious I/O errors when under high load.
Submitted by: Erich Chen
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/arcmsr/arcmsr.c | 6 | ||||
-rw-r--r-- | sys/dev/arcmsr/arcmsr.h | 2 |
2 files changed, 6 insertions, 2 deletions
diff --git a/sys/dev/arcmsr/arcmsr.c b/sys/dev/arcmsr/arcmsr.c index 7d8d807..0f3638c 100644 --- a/sys/dev/arcmsr/arcmsr.c +++ b/sys/dev/arcmsr/arcmsr.c @@ -52,6 +52,9 @@ ** with scsi pass-through command ** add new device id of sas raid adapters ** code fit for SPARC64 & PPC +** 1.20.00.14 02/05/2007 Erich Chen bug fix for incorrect ccb_h.status report +** and cause g_vfs_done() read write error + ****************************************************************************************** * $FreeBSD$ */ @@ -1299,7 +1302,8 @@ static void arcmsr_executesrb(void *arg, bus_dma_segment_t *dm_segs, int nseg, i } pccb->ccb_h.status |= CAM_SIM_QUEUED; if(acb->srboutstandingcount >= ARCMSR_MAX_OUTSTANDING_CMD) { - pccb->ccb_h.status |= CAM_SCSI_BUSY; + pccb->ccb_h.status &= ~CAM_STATUS_MASK; + pccb->ccb_h.status |= CAM_REQUEUE_REQ; arcmsr_srb_complete(srb, 0); return; } diff --git a/sys/dev/arcmsr/arcmsr.h b/sys/dev/arcmsr/arcmsr.h index 285d587..31cc728 100644 --- a/sys/dev/arcmsr/arcmsr.h +++ b/sys/dev/arcmsr/arcmsr.h @@ -37,7 +37,7 @@ ************************************************************************** * $FreeBSD$ */ -#define ARCMSR_DRIVER_VERSION "Driver Version 1.20.00.13 2006-8-18" +#define ARCMSR_DRIVER_VERSION "Driver Version 1.20.00.14 2007-2-05" #define ARCMSR_SCSI_INITIATOR_ID 255 #define ARCMSR_DEV_SECTOR_SIZE 512 #define ARCMSR_MAX_XFER_SECTORS 4096 |