I'm very pleased to announce the release of our new website and documentation using the new toolchain with Hugo and AsciiDoctor. To get more information about the new toolchain please read the FreeBSD Documentation Project Primer[1], Hugo docs[2] and AsciiDoctor docs[3]. Acknowledgment: Benedict Reuschling <bcr@> Glen Barber <gjb@> Hiroki Sato <hrs@> Li-Wen Hsu <lwhsu@> Sean Chittenden <seanc@> The FreeBSD Foundation [1] https://docs.FreeBSD.org/en/books/fdp-primer/ [2] https://gohugo.io/documentation/ [3] https://docs.asciidoctor.org/home/ Approved by: doceng, core
195 lines
6 KiB
Diff
195 lines
6 KiB
Diff
Index: sys/dev/twe/twe.c
|
|
===================================================================
|
|
RCS file: /home/ncvs/src/sys/dev/twe/twe.c,v
|
|
retrieving revision 1.1.2.8.2.1
|
|
retrieving revision 1.1.2.8.2.2
|
|
diff -u -r1.1.2.8.2.1 -r1.1.2.8.2.2
|
|
--- sys/dev/twe/twe.c 12 May 2004 03:37:43 -0000 1.1.2.8.2.1
|
|
+++ sys/dev/twe/twe.c 26 Jun 2004 02:22:24 -0000 1.1.2.8.2.2
|
|
@@ -26,7 +26,7 @@
|
|
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
* SUCH DAMAGE.
|
|
*
|
|
- * $FreeBSD: src/sys/dev/twe/twe.c,v 1.1.2.8.2.1 2004/05/12 03:37:43 vkashyap Exp $
|
|
+ * $FreeBSD: src/sys/dev/twe/twe.c,v 1.1.2.8.2.2 2004/06/26 02:22:24 kensmith Exp $
|
|
*/
|
|
|
|
/*
|
|
@@ -382,7 +382,7 @@
|
|
|
|
debug_called(4);
|
|
|
|
- if (sc->twe_state & TWE_STATE_FRZN)
|
|
+ if (sc->twe_state & (TWE_STATE_CTLR_BUSY | TWE_STATE_FRZN))
|
|
return;
|
|
|
|
/* spin until something prevents us from doing any work */
|
|
@@ -433,6 +433,8 @@
|
|
error = twe_map_request(tr);
|
|
|
|
if (error != 0) {
|
|
+ if (error == EBUSY)
|
|
+ break;
|
|
tr->tr_status = TWE_CMD_ERROR;
|
|
if (tr->tr_private != NULL) {
|
|
bp = (twe_bio *)(tr->tr_private);
|
|
@@ -758,7 +760,7 @@
|
|
} else {
|
|
tr->tr_complete = func;
|
|
error = twe_map_request(tr);
|
|
- if (error == 0)
|
|
+ if ((error == 0) || (error == EBUSY))
|
|
return(func);
|
|
}
|
|
|
|
@@ -924,8 +926,10 @@
|
|
|
|
debug_called(4);
|
|
|
|
+ tr->tr_status = TWE_CMD_BUSY;
|
|
if ((error = twe_map_request(tr)) != 0)
|
|
- return(error);
|
|
+ if (error != EBUSY)
|
|
+ return(error);
|
|
while (tr->tr_status == TWE_CMD_BUSY){
|
|
twe_done(tr->tr_sc);
|
|
}
|
|
@@ -1117,6 +1121,7 @@
|
|
/* move to completed queue */
|
|
twe_remove_busy(tr);
|
|
twe_enqueue_complete(tr);
|
|
+ sc->twe_state &= ~TWE_STATE_CTLR_BUSY;
|
|
} else {
|
|
break; /* no response ready */
|
|
}
|
|
Index: sys/dev/twe/twe_freebsd.c
|
|
===================================================================
|
|
RCS file: /home/ncvs/src/sys/dev/twe/twe_freebsd.c,v
|
|
retrieving revision 1.2.2.8
|
|
retrieving revision 1.2.2.8.2.1
|
|
diff -u -r1.2.2.8 -r1.2.2.8.2.1
|
|
--- sys/dev/twe/twe_freebsd.c 7 Apr 2004 22:18:00 -0000 1.2.2.8
|
|
+++ sys/dev/twe/twe_freebsd.c 26 Jun 2004 02:22:24 -0000 1.2.2.8.2.1
|
|
@@ -26,7 +26,7 @@
|
|
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
* SUCH DAMAGE.
|
|
*
|
|
- * $FreeBSD: src/sys/dev/twe/twe_freebsd.c,v 1.2.2.8 2004/04/07 22:18:00 vkashyap Exp $
|
|
+ * $FreeBSD: src/sys/dev/twe/twe_freebsd.c,v 1.2.2.8.2.1 2004/06/26 02:22:24 kensmith Exp $
|
|
*/
|
|
|
|
/*
|
|
@@ -999,8 +999,10 @@
|
|
bcopy(tr->tr_realdata, tr->tr_data, tr->tr_length);
|
|
bus_dmamap_sync(tr->tr_sc->twe_buffer_dmat, tr->tr_dmamap, BUS_DMASYNC_PREWRITE);
|
|
}
|
|
- if (twe_start(tr) == EBUSY)
|
|
+ if (twe_start(tr) == EBUSY) {
|
|
+ tr->tr_sc->twe_state |= TWE_STATE_CTLR_BUSY;
|
|
twe_requeue_ready(tr);
|
|
+ }
|
|
}
|
|
|
|
static void
|
|
@@ -1022,8 +1024,10 @@
|
|
|
|
debug_called(4);
|
|
|
|
- if (sc->twe_state & TWE_STATE_FRZN)
|
|
+ if (sc->twe_state & (TWE_STATE_CTLR_BUSY | TWE_STATE_FRZN)) {
|
|
+ twe_requeue_ready(tr);
|
|
return (EBUSY);
|
|
+ }
|
|
|
|
/*
|
|
* Map the command into bus space.
|
|
@@ -1061,8 +1065,8 @@
|
|
}
|
|
} else {
|
|
if ((error = twe_start(tr)) == EBUSY) {
|
|
+ sc->twe_state |= TWE_STATE_CTLR_BUSY;
|
|
twe_requeue_ready(tr);
|
|
- error = 0;
|
|
}
|
|
}
|
|
|
|
Index: sys/dev/twe/twevar.h
|
|
===================================================================
|
|
RCS file: /home/ncvs/src/sys/dev/twe/twevar.h,v
|
|
retrieving revision 1.1.2.6.2.1
|
|
retrieving revision 1.1.2.6.2.2
|
|
diff -u -r1.1.2.6.2.1 -r1.1.2.6.2.2
|
|
--- sys/dev/twe/twevar.h 12 May 2004 03:37:43 -0000 1.1.2.6.2.1
|
|
+++ sys/dev/twe/twevar.h 26 Jun 2004 02:22:24 -0000 1.1.2.6.2.2
|
|
@@ -26,10 +26,10 @@
|
|
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
* SUCH DAMAGE.
|
|
*
|
|
- * $FreeBSD: src/sys/dev/twe/twevar.h,v 1.1.2.6.2.1 2004/05/12 03:37:43 vkashyap Exp $
|
|
+ * $FreeBSD: src/sys/dev/twe/twevar.h,v 1.1.2.6.2.2 2004/06/26 02:22:24 kensmith Exp $
|
|
*/
|
|
|
|
-#define TWE_DRIVER_VERSION_STRING "1.40.01.001"
|
|
+#define TWE_DRIVER_VERSION_STRING "1.40.01.002"
|
|
#define TWE_CDEV_MAJOR 146
|
|
#define TWED_CDEV_MAJOR 147
|
|
|
|
@@ -149,7 +149,8 @@
|
|
#define TWE_STATE_SHUTDOWN (1<<1) /* controller is shut down */
|
|
#define TWE_STATE_OPEN (1<<2) /* control device is open */
|
|
#define TWE_STATE_SUSPEND (1<<3) /* controller is suspended */
|
|
-#define TWE_STATE_FRZN (1<<4)
|
|
+#define TWE_STATE_FRZN (1<<4) /* got EINPROGRESS */
|
|
+#define TWE_STATE_CTLR_BUSY (1<<5) /* controller cmd queue full */
|
|
int twe_host_id;
|
|
struct twe_qstat twe_qstat[TWEQ_COUNT]; /* queue statistics */
|
|
|
|
Index: sys/conf/newvers.sh
|
|
===================================================================
|
|
RCS file: /home/ncvs/src/sys/conf/newvers.sh,v
|
|
retrieving revision 1.44.2.34.2.2
|
|
retrieving revision 1.44.2.34.2.3
|
|
diff -u -r1.44.2.34.2.2 -r1.44.2.34.2.3
|
|
--- sys/conf/newvers.sh 25 May 2004 05:30:47 -0000 1.44.2.34.2.2
|
|
+++ sys/conf/newvers.sh 26 Jun 2004 02:22:24 -0000 1.44.2.34.2.3
|
|
@@ -32,11 +32,11 @@
|
|
# SUCH DAMAGE.
|
|
#
|
|
# @(#)newvers.sh 8.1 (Berkeley) 4/20/94
|
|
-# $FreeBSD: src/sys/conf/newvers.sh,v 1.44.2.34.2.2 2004/05/25 05:30:47 scottl Exp $
|
|
+# $FreeBSD: src/sys/conf/newvers.sh,v 1.44.2.34.2.3 2004/06/26 02:22:24 kensmith Exp $
|
|
|
|
TYPE="FreeBSD"
|
|
REVISION="4.10"
|
|
-BRANCH="RELEASE"
|
|
+BRANCH="RELEASE-p1"
|
|
RELEASE="${REVISION}-${BRANCH}"
|
|
VERSION="${TYPE} ${RELEASE}"
|
|
|
|
Index: UPDATING
|
|
===================================================================
|
|
RCS file: /home/ncvs/src/UPDATING,v
|
|
retrieving revision 1.73.2.90
|
|
retrieving revision 1.73.2.90.2.2
|
|
diff -u -r1.73.2.90 -r1.73.2.90.2.2
|
|
--- UPDATING 31 Oct 2003 16:40:39 -0000 1.73.2.90
|
|
+++ UPDATING 26 Jun 2004 04:39:46 -0000 1.73.2.90.2.2
|
|
@@ -8,6 +8,12 @@
|
|
the common items quick how-tos, followed by entries for versions of
|
|
-current prior to 4.0 Release.
|
|
|
|
+20040626: p1 FreeBSD-EN-04:01.twe
|
|
+ Fix a bug in twe(4) that could cause kernel lockups.
|
|
+
|
|
+20040527:
|
|
+ FreeBSD 4.10-RELEASE.
|
|
+
|
|
20031028:
|
|
FreeBSD 4.9-RELEASE.
|
|
|
|
@@ -1185,4 +1191,4 @@
|
|
If you find this document useful, and you want to, you may buy the
|
|
author a beer.
|
|
|
|
-$FreeBSD: src/UPDATING,v 1.73.2.90 2003/10/31 16:40:39 simon Exp $
|
|
+$FreeBSD: src/UPDATING,v 1.73.2.90.2.2 2004/06/26 04:39:46 kensmith Exp $
|