Subject: kern/12430: sys/dev/ic/ispvar.h pullup to netbsd-1-5 broke sys/dev/sbus/isp_sbus.c
To: None <gnats-bugs@gnats.netbsd.org>
From: None <windsor@warthog.com>
List: netbsd-bugs
Date: 03/18/2001 16:29:41
>Number:         12430
>Category:       kern
>Synopsis:       sys/dev/ic/ispvar.h pullup broke sys/dev/sbus/isp_sbus.c
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Mar 18 14:32:00 PST 2001
>Closed-Date:
>Last-Modified:
>Originator:     Rob Windsor
>Release:        NetBSD-1.5.1_ALPHA (20010317 sources)
>Organization:
Nose-Pickers Anonymous
>Environment:
System: NetBSD pioneer 1.5.1_ALPHA NetBSD 1.5.1_ALPHA (SUN4M) #28: Sat Mar 17 17:04:25 CST 2001 windsor@pioneer:/usr/src/sys/arch/sparc/compile/SUN4M sparc


>Description:
	While building a GENERIC kernel:

cc  -O2 -Werror -Wall -Wstrict-prototypes -Wmissing-prototypes  -Wpointer-arith -Wno-uninitialized -Wno-main -I. -I/usr/src/sys/arch -I/usr/src/sys -nostdinc -DSUN4 -DSUN4C -DSUN4M -DSUN4_MMU3L -DRASTERCONSOLE -DLKM -DMAXUSERS=32 -D_KERNEL  -c /usr/src/sys/dev/sbus/isp_sbus.c
cc1: warnings being treated as errors
/usr/src/sys/dev/sbus/isp_sbus.c:104: warning: initialization from incompatible pointer type
*** Error code 1

>How-To-Repeat:
	make a release, or build a GENERIC kernel
>Fix:

I don't know squat about the sbus code, so someone needs to verify that
my patch won't blow up in your face.  I just tweaked isp_sbus_dmateardown()
to use u_int_16_t instead of u_int_32_t to match sys/dev/ic/ispvar.h
declarations for the fifth parameter of ispmdvec

So, with that, here's my patch:
--- sys/dev/sbus/isp_sbus.c.FCS	Sun Mar 18 16:12:56 2001
+++ sys/dev/sbus/isp_sbus.c	Sun Mar 18 16:20:49 2001
@@ -90,7 +90,7 @@
 static int isp_sbus_dmasetup __P((struct ispsoftc *, struct scsipi_xfer *,
 	ispreq_t *, u_int16_t *, u_int16_t));
 static void isp_sbus_dmateardown __P((struct ispsoftc *, struct scsipi_xfer *,
-	u_int32_t));
+	u_int16_t));
 
 #ifndef	ISP_1000_RISC_CODE
 #define	ISP_1000_RISC_CODE	NULL
@@ -565,7 +565,7 @@
 isp_sbus_dmateardown(isp, xs, handle)
 	struct ispsoftc *isp;
 	struct scsipi_xfer *xs;
-	u_int32_t handle;
+	u_int16_t handle;
 {
 	struct isp_sbussoftc *sbc = (struct isp_sbussoftc *) isp;
 	bus_dmamap_t dmap;
>Release-Note:
>Audit-Trail:
>Unformatted: