diff options
author | ps <ps@FreeBSD.org> | 2005-12-16 06:50:55 +0000 |
---|---|---|
committer | ps <ps@FreeBSD.org> | 2005-12-16 06:50:55 +0000 |
commit | 56b29d3d8597bb042c0ecd3d061633c237c3ccdc (patch) | |
tree | e862bd3e4573b922157e5b33affee383247d7055 /sys/dev/ciss/ciss.c | |
parent | 0b75b9ba210c84127ae327e750df88d196e7b53a (diff) | |
download | FreeBSD-src-56b29d3d8597bb042c0ecd3d061633c237c3ccdc.zip FreeBSD-src-56b29d3d8597bb042c0ecd3d061633c237c3ccdc.tar.gz |
It seems ciss should ignore overrun and underrun on a SCSI INQUIRY
command. This fixes some weird booting issues on newer versions
of the firmware on the MSA20.
Reported by: Philippe Pegon <Philippe dot Pegon at crc dot u-strasbg dot fr>
Diffstat (limited to 'sys/dev/ciss/ciss.c')
-rw-r--r-- | sys/dev/ciss/ciss.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/ciss/ciss.c b/sys/dev/ciss/ciss.c index 1b8c494..f062377 100644 --- a/sys/dev/ciss/ciss.c +++ b/sys/dev/ciss/ciss.c @@ -1933,8 +1933,11 @@ ciss_report_request(struct ciss_request *cr, int *command_status, int *scsi_stat * Logical/Physical LUNs commands. */ if ((cc->header.host_tag & CISS_HDR_HOST_TAG_ERROR) && + ((ce->command_status == CISS_CMD_STATUS_DATA_OVERRUN) || + (ce->command_status == CISS_CMD_STATUS_DATA_UNDERRUN)) && ((cc->cdb.cdb[0] == CISS_OPCODE_REPORT_LOGICAL_LUNS) || - (cc->cdb.cdb[0] == CISS_OPCODE_REPORT_PHYSICAL_LUNS))) { + (cc->cdb.cdb[0] == CISS_OPCODE_REPORT_PHYSICAL_LUNS) || + (cc->cdb.cdb[0] == INQUIRY))) { cc->header.host_tag &= ~CISS_HDR_HOST_TAG_ERROR; debug(2, "ignoring irrelevant under/overrun error"); } |