-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


FreeBSD-EN-04:01.twe                                            Errata Notice
                                                          The FreeBSD Project

Topic:          twe(4) driver may hang on heavily loaded systems

Category:       core
Module:         twe(4) device driver
Announced:      2004-06-28
Credits:        Vinod Kashyap
                Paul Saab
Affects:        FreeBSD 4.10-RELEASE
Corrected:      2004-06-26 02:22:24 UTC (4.10-RELEASE-p1)

I.   Background

The twe(4) driver handles the 3ware series of RAID controllers.

II.  Problem Description

On 6xxx series controllers the driver may try to repeatedly submit the
same request if the cmd queue gets full, which may happen under extremely
high I/O rates.

III. Impact

Once the driver entered the state it was repeatedly submitting the same
request all normal disk I/O through the controller stops.  The computer
would require a hard reset, any pending I/O buffered in memory would be
lost.

IV.   Solution

Do one of the following:

1) Upgrade your vulnerable system to the RELENG_4_10 errata branch dated
after the correction date using cvsup(1) or cvs(1).  This is the preferred
method.

2) To patch your present system:

a) Download the relevant patch from the location below, and verify the
detached PGP signature using your PGP utility.

# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/ERRATA/patches/EN-04:01/twe.patch
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/ERRATA/patches/EN-04:01/twe.patch.asc

b) Execute the following commands as root:

# cd /usr/src
# patch -p0 < /path/to/patch

Then follow the normal procedures for rebuilding/reinstalling the kernel.
Note that this method will only work with no errors if your system was
installed from scratch using the FreeBSD-4.10 Release CDs or FTP install.
If that is not the case you may see errors while patching the UPDATING
file.  Those errors would be harmless.  Any other errors while running
patch(1) should be investigated before proceeding with the rebuild/reinstall.

V.  Correction details

The following list contains the revision numbers of each file that was
corrected in FreeBSD.

Branch                                                           Revision
  Path
- --------------------------------------------------------------------------
RELENG_4_10
  src/sys/dev/twe/twe.c                                      1.1.2.8.2.2
  src/sys/dev/twe/twe_freebsd.c                              1.2.2.8.2.1
  src/sys/dev/twe/twevar.h                                   1.1.2.6.2.2
  src/sys/conf/newvers.sh                                    1.44.2.34.2.3
  src/UPDATING                                               1.73.2.90.2.2
- --------------------------------------------------------------------------
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (FreeBSD)

iD8DBQFA3ZYO/G14VSmup/YRAlOqAJ0cTgJcc83f+aAnHSFejBbUwMp5vQCdGpfB
mHTWM/zA65ZjvrPEq1mrZy8=
=T1Ow
-----END PGP SIGNATURE-----
