Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 16 Dec 2004 10:21:45 -0600 (CST)
From:      Frederick S Bruckman <fredb@immanent.net>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   kern/75154: Please update twa driver (for 3ware 9000 series) to 9.1.5.2.
Message-ID:  <200412161621.iBGGLjbq008177@construction.immanent.net>
Resent-Message-ID: <200412161630.iBGGUTUi049118@freefall.freebsd.org>

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

>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@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:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200412161621.iBGGLjbq008177>