kern/75154: Please update twa driver (for 3ware 9000 series) to
9.1.5.2.
Frederick S Bruckman
fredb at immanent.net
Thu Dec 16 08:30:29 PST 2004
>Number: 75154
>Category: kern
>Synopsis: Please update twa driver (for 3ware 9000 series) to 9.1.5.2.
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Thu Dec 16 16:30:29 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator: Frederick S Bruckman
>Release: FreeBSD 5.3-RELEASE i386
>Organization:
>Environment:
System: FreeBSD construction.immanent.net 5.3-RELEASE FreeBSD 5.3-RELEASE #6: Wed Dec 15 22:22:11 CST 2004 fredb at construction.immanent.net:/usr/src/sys/i386/compile/CONDUCTION i386
>Description:
Please update the twa driver for AMCC/3ware 9500S series RAID cards to
the latest codeset, 9.1.5.2 (driver 2.50.02.011/firmware 2.04.00.005).
The new firmware is needed to properly support the Battery Backup Units,
and the new driver to support the latest utilities, "tw_cli" and "3dm2".
>How-To-Repeat:
Please update... (just kidding).
>Fix:
The following mechanical diff is against the driver from AMCC's web
site, which is otherwise a "drop in" replacement on FreeBSD 5.3. You
can download it from:
http://www.3ware.com/support/download.asp
In the form, choose "3ware 9000 series", "9.1.5.2", "Driver", "FreeBSD
5.x driver source (5.2 and above)". Hopefully, it will be no harder to
port to current.
diff -u twa-2.50.02.011.orig/twa.h twa-2.50.02.011/twa.h
--- twa-2.50.02.011.orig/twa.h Mon Nov 8 18:28:46 2004
+++ twa-2.50.02.011/twa.h Wed Dec 15 20:08:14 2004
@@ -172,7 +172,7 @@
between ioctl calls */
device_t twa_bus_dev; /* bus device */
- dev_t twa_ctrl_dev; /* control device */
+ struct cdev *twa_ctrl_dev; /* control device */
struct resource *twa_io_res; /* register interface window */
bus_space_handle_t twa_bus_handle; /* bus space handle */
bus_space_tag_t twa_bus_tag; /* bus space tag */
diff -u twa-2.50.02.011.orig/twa_freebsd.c twa-2.50.02.011/twa_freebsd.c
--- twa-2.50.02.011.orig/twa_freebsd.c Mon Nov 8 18:28:46 2004
+++ twa-2.50.02.011/twa_freebsd.c Wed Dec 15 22:21:42 2004
@@ -50,6 +50,8 @@
static d_ioctl_t twa_ioctl_wrapper;
static struct cdevsw twa_cdevsw = {
+ .d_version = D_VERSION,
+ .d_flags = D_NEEDGIANT,
.d_open = twa_open,
.d_close = twa_close,
.d_ioctl = twa_ioctl_wrapper,
@@ -74,7 +76,7 @@
* non-zero-- failure
*/
static int
-twa_open(dev_t dev, int flags, int fmt, d_thread_t *proc)
+twa_open(struct cdev *dev, int flags, int fmt, d_thread_t *proc)
{
int unit = minor(dev);
struct twa_softc *sc = devclass_get_softc(twa_devclass, unit);
@@ -99,7 +101,7 @@
* non-zero-- failure
*/
static int
-twa_close(dev_t dev, int flags, int fmt, d_thread_t *proc)
+twa_close(struct cdev *dev, int flags, int fmt, d_thread_t *proc)
{
int unit = minor(dev);
struct twa_softc *sc = devclass_get_softc(twa_devclass, unit);
@@ -127,7 +129,7 @@
* non-zero-- failure
*/
static int
-twa_ioctl_wrapper(dev_t dev, u_long cmd, caddr_t buf,
+twa_ioctl_wrapper(struct cdev *dev, u_long cmd, caddr_t buf,
int flags, d_thread_t *proc)
{
struct twa_softc *sc = (struct twa_softc *)(dev->si_drv1);
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list