git: cafc839393db - main - ciss: Ignore data over/under run on RECEIVE_DIAGNOSTIC

From: Warner Losh <imp_at_FreeBSD.org>
Date: Mon, 14 Oct 2024 05:40:51 UTC
The branch main has been updated by imp:

URL: https://cgit.FreeBSD.org/src/commit/?id=cafc839393db5c5d8000fd086118b3c7b47e95c2

commit cafc839393db5c5d8000fd086118b3c7b47e95c2
Author:     Peter Eriksson <pen@lysator.liu.se>
AuthorDate: 2024-10-14 04:01:33 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2024-10-14 05:22:19 +0000

    ciss: Ignore data over/under run on RECEIVE_DIAGNOSTIC
    
    This appears to be harmless, so ignore data over/under run on
    diagnostics.
    
    PR: 246279
    Reviewed by: imp
    Tested by: Marek Zarychta
    Differential Revision: https://reviews.freebsd.org/D25155
---
 sys/dev/ciss/ciss.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/sys/dev/ciss/ciss.c b/sys/dev/ciss/ciss.c
index 6723d05e0cfe..866e67766818 100644
--- a/sys/dev/ciss/ciss.c
+++ b/sys/dev/ciss/ciss.c
@@ -2299,13 +2299,14 @@ _ciss_report_request(struct ciss_request *cr, int *command_status, int *scsi_sta
 
     /*
      * We don't consider data under/overrun an error for the Report
-     * Logical/Physical LUNs commands.
+     * Logical/Physical LUNs, INQUIRY & RECEIVE_DIAGNOSTIC 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] == RECEIVE_DIAGNOSTIC) ||
 	 (cc->cdb.cdb[0] == INQUIRY))) {
 	cc->header.host_tag &= ~CISS_HDR_HOST_TAG_ERROR;
 	debug(2, "ignoring irrelevant under/overrun error");