Path: blob/main/website/static/security/patches/EN-04:01/twe.patch
18096 views
Index: sys/dev/twe/twe.c1===================================================================2RCS file: /home/ncvs/src/sys/dev/twe/twe.c,v3retrieving revision 1.1.2.8.2.14retrieving revision 1.1.2.8.2.25diff -u -r1.1.2.8.2.1 -r1.1.2.8.2.26--- sys/dev/twe/twe.c 12 May 2004 03:37:43 -0000 1.1.2.8.2.17+++ sys/dev/twe/twe.c 26 Jun 2004 02:22:24 -0000 1.1.2.8.2.28@@ -26,7 +26,7 @@9* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF10* SUCH DAMAGE.11*12- * $FreeBSD: src/sys/dev/twe/twe.c,v 1.1.2.8.2.1 2004/05/12 03:37:43 vkashyap Exp $13+ * $FreeBSD: src/sys/dev/twe/twe.c,v 1.1.2.8.2.2 2004/06/26 02:22:24 kensmith Exp $14*/1516/*17@@ -382,7 +382,7 @@1819debug_called(4);2021- if (sc->twe_state & TWE_STATE_FRZN)22+ if (sc->twe_state & (TWE_STATE_CTLR_BUSY | TWE_STATE_FRZN))23return;2425/* spin until something prevents us from doing any work */26@@ -433,6 +433,8 @@27error = twe_map_request(tr);2829if (error != 0) {30+ if (error == EBUSY)31+ break;32tr->tr_status = TWE_CMD_ERROR;33if (tr->tr_private != NULL) {34bp = (twe_bio *)(tr->tr_private);35@@ -758,7 +760,7 @@36} else {37tr->tr_complete = func;38error = twe_map_request(tr);39- if (error == 0)40+ if ((error == 0) || (error == EBUSY))41return(func);42}4344@@ -924,8 +926,10 @@4546debug_called(4);4748+ tr->tr_status = TWE_CMD_BUSY;49if ((error = twe_map_request(tr)) != 0)50- return(error);51+ if (error != EBUSY)52+ return(error);53while (tr->tr_status == TWE_CMD_BUSY){54twe_done(tr->tr_sc);55}56@@ -1117,6 +1121,7 @@57/* move to completed queue */58twe_remove_busy(tr);59twe_enqueue_complete(tr);60+ sc->twe_state &= ~TWE_STATE_CTLR_BUSY;61} else {62break; /* no response ready */63}64Index: sys/dev/twe/twe_freebsd.c65===================================================================66RCS file: /home/ncvs/src/sys/dev/twe/twe_freebsd.c,v67retrieving revision 1.2.2.868retrieving revision 1.2.2.8.2.169diff -u -r1.2.2.8 -r1.2.2.8.2.170--- sys/dev/twe/twe_freebsd.c 7 Apr 2004 22:18:00 -0000 1.2.2.871+++ sys/dev/twe/twe_freebsd.c 26 Jun 2004 02:22:24 -0000 1.2.2.8.2.172@@ -26,7 +26,7 @@73* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF74* SUCH DAMAGE.75*76- * $FreeBSD: src/sys/dev/twe/twe_freebsd.c,v 1.2.2.8 2004/04/07 22:18:00 vkashyap Exp $77+ * $FreeBSD: src/sys/dev/twe/twe_freebsd.c,v 1.2.2.8.2.1 2004/06/26 02:22:24 kensmith Exp $78*/7980/*81@@ -999,8 +999,10 @@82bcopy(tr->tr_realdata, tr->tr_data, tr->tr_length);83bus_dmamap_sync(tr->tr_sc->twe_buffer_dmat, tr->tr_dmamap, BUS_DMASYNC_PREWRITE);84}85- if (twe_start(tr) == EBUSY)86+ if (twe_start(tr) == EBUSY) {87+ tr->tr_sc->twe_state |= TWE_STATE_CTLR_BUSY;88twe_requeue_ready(tr);89+ }90}9192static void93@@ -1022,8 +1024,10 @@9495debug_called(4);9697- if (sc->twe_state & TWE_STATE_FRZN)98+ if (sc->twe_state & (TWE_STATE_CTLR_BUSY | TWE_STATE_FRZN)) {99+ twe_requeue_ready(tr);100return (EBUSY);101+ }102103/*104* Map the command into bus space.105@@ -1061,8 +1065,8 @@106}107} else {108if ((error = twe_start(tr)) == EBUSY) {109+ sc->twe_state |= TWE_STATE_CTLR_BUSY;110twe_requeue_ready(tr);111- error = 0;112}113}114115Index: sys/dev/twe/twevar.h116===================================================================117RCS file: /home/ncvs/src/sys/dev/twe/twevar.h,v118retrieving revision 1.1.2.6.2.1119retrieving revision 1.1.2.6.2.2120diff -u -r1.1.2.6.2.1 -r1.1.2.6.2.2121--- sys/dev/twe/twevar.h 12 May 2004 03:37:43 -0000 1.1.2.6.2.1122+++ sys/dev/twe/twevar.h 26 Jun 2004 02:22:24 -0000 1.1.2.6.2.2123@@ -26,10 +26,10 @@124* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF125* SUCH DAMAGE.126*127- * $FreeBSD: src/sys/dev/twe/twevar.h,v 1.1.2.6.2.1 2004/05/12 03:37:43 vkashyap Exp $128+ * $FreeBSD: src/sys/dev/twe/twevar.h,v 1.1.2.6.2.2 2004/06/26 02:22:24 kensmith Exp $129*/130131-#define TWE_DRIVER_VERSION_STRING "1.40.01.001"132+#define TWE_DRIVER_VERSION_STRING "1.40.01.002"133#define TWE_CDEV_MAJOR 146134#define TWED_CDEV_MAJOR 147135136@@ -149,7 +149,8 @@137#define TWE_STATE_SHUTDOWN (1<<1) /* controller is shut down */138#define TWE_STATE_OPEN (1<<2) /* control device is open */139#define TWE_STATE_SUSPEND (1<<3) /* controller is suspended */140-#define TWE_STATE_FRZN (1<<4)141+#define TWE_STATE_FRZN (1<<4) /* got EINPROGRESS */142+#define TWE_STATE_CTLR_BUSY (1<<5) /* controller cmd queue full */143int twe_host_id;144struct twe_qstat twe_qstat[TWEQ_COUNT]; /* queue statistics */145146Index: sys/conf/newvers.sh147===================================================================148RCS file: /home/ncvs/src/sys/conf/newvers.sh,v149retrieving revision 1.44.2.34.2.2150retrieving revision 1.44.2.34.2.3151diff -u -r1.44.2.34.2.2 -r1.44.2.34.2.3152--- sys/conf/newvers.sh 25 May 2004 05:30:47 -0000 1.44.2.34.2.2153+++ sys/conf/newvers.sh 26 Jun 2004 02:22:24 -0000 1.44.2.34.2.3154@@ -32,11 +32,11 @@155# SUCH DAMAGE.156#157# @(#)newvers.sh 8.1 (Berkeley) 4/20/94158-# $FreeBSD: src/sys/conf/newvers.sh,v 1.44.2.34.2.2 2004/05/25 05:30:47 scottl Exp $159+# $FreeBSD: src/sys/conf/newvers.sh,v 1.44.2.34.2.3 2004/06/26 02:22:24 kensmith Exp $160161TYPE="FreeBSD"162REVISION="4.10"163-BRANCH="RELEASE"164+BRANCH="RELEASE-p1"165RELEASE="${REVISION}-${BRANCH}"166VERSION="${TYPE} ${RELEASE}"167168Index: UPDATING169===================================================================170RCS file: /home/ncvs/src/UPDATING,v171retrieving revision 1.73.2.90172retrieving revision 1.73.2.90.2.2173diff -u -r1.73.2.90 -r1.73.2.90.2.2174--- UPDATING 31 Oct 2003 16:40:39 -0000 1.73.2.90175+++ UPDATING 26 Jun 2004 04:39:46 -0000 1.73.2.90.2.2176@@ -8,6 +8,12 @@177the common items quick how-tos, followed by entries for versions of178-current prior to 4.0 Release.179180+20040626: p1 FreeBSD-EN-04:01.twe181+ Fix a bug in twe(4) that could cause kernel lockups.182+183+20040527:184+ FreeBSD 4.10-RELEASE.185+18620031028:187FreeBSD 4.9-RELEASE.188189@@ -1185,4 +1191,4 @@190If you find this document useful, and you want to, you may buy the191author a beer.192193-$FreeBSD: src/UPDATING,v 1.73.2.90 2003/10/31 16:40:39 simon Exp $194+$FreeBSD: src/UPDATING,v 1.73.2.90.2.2 2004/06/26 04:39:46 kensmith Exp $195196197