Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 12 Jul 2001 16:39:52 -0700 (PDT)
From:      Matthew Jacob <mjacob@feral.com>
To:        Jim Bryant <kc5vdj@yahoo.com>
Cc:        scsi@FreeBSD.ORG
Subject:   Re: oddity with dump(8) or sa(4) in -current
Message-ID:  <Pine.BSF.4.21.0107121636340.61694-200000@beppo>
In-Reply-To: <3B4E339D.E37DAD13@yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]


On Thu, 12 Jul 2001, Jim Bryant wrote:

> Well, honestly, the last working version I had was late feb/early-march,
> at which point i lost my connectivity.  Then I had a cmos battery go bad
> without the settings being written, this caused an IRQ conflict which I
> only resolved a few days ago.  They say "shit happens", well, I had a
> whole manure truck dump on me over the past few months, and I'm only now
> getting my shit together.
> 
> All I can say is that it worked late-feb/early-march.

Try the attached patch, which backs Joerg's fix in rev 1.68.

-matt


[-- Attachment #2 --]
Index: scsi_sa.c
===================================================================
RCS file: /home/ncvs/src/sys/cam/scsi/scsi_sa.c,v
retrieving revision 1.68
retrieving revision 1.67
diff -u -r1.68 -r1.67
--- scsi_sa.c	2001/04/22 20:13:28	1.68
+++ scsi_sa.c	2001/03/27 05:45:12	1.67
@@ -2286,7 +2286,7 @@
 	u_int32_t resid = 0;
 	int32_t	info = 0;
 	int	error_code, sense_key, asc, ascq;
-	int	error, defer_action, no_actual_error = FALSE;
+	int	error, defer_action;
 
 	periph = xpt_path_periph(ccb->ccb_h.path);
 	softc = (struct sa_softc *)periph->softc;
@@ -2396,8 +2396,6 @@
 			if (defer_action) {
 				error = -1;
 				softc->flags |= SA_FLAG_EOF_PENDING;
-			} else {
-				no_actual_error = TRUE;
 			}
 			/*
 			 * Unconditionally, if we detected a filemark on a read,
@@ -2426,8 +2424,6 @@
 					softc->flags |= SA_FLAG_EIO_PENDING;
 				else
 					error = EIO;
-			} else {
-				no_actual_error = TRUE;
 			}
 			/*
 			 * Bump the block number if we hadn't seen a filemark.
@@ -2442,17 +2438,8 @@
 			}
 		}
 	}
-	if (error == 0 && !no_actual_error)
+	if (error == 0)
 		return (cam_periph_error(ccb, cflgs, sflgs, &softc->saved_ccb));
-	if (no_actual_error) {
-		if ((ccb->ccb_h.status & CAM_DEV_QFRZN) != 0) 
-			cam_release_devq(ccb->ccb_h.path,
-					 /* relsim_flags */0,
-					 /* openings */0,
-					 /* timeout */0,
-					 /* getcount_only */ FALSE);
-		return (0);
-	}
 
 	if (error == -1)
 		return (0);

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0107121636340.61694-200000>