Subject: port-mac68k/9302: -current mac68k does not build after disksort() changes
To: None <gnats-bugs@gnats.netbsd.org>
From: None <hauke@Espresso.Rhein-Neckar.DE>
List: netbsd-bugs
Date: 01/26/2000 15:18:54
>Number:         9302
>Category:       port-mac68k
>Synopsis:       Typo in disksort changes breaks mac68k iwm driver build
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    port-mac68k-maintainer (NetBSD/mac68k Portmaster)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Jan 26 15:18:00 2000
>Last-Modified:
>Originator:     Hauke Fath
>Organization:
Einzeln auftretender Radfahrer
>Release:        NetBSD -current kernel sources of 26 Jan 2000
>Environment:
	
System: NetBSD q700.hf.org 1.4P NetBSD 1.4P (FG54) #42: Sat Dec 4 00:20:27 CET 1999 hauke@q700.hf.org:/usr/src/sys/arch/mac68k/compile/FG54 mac68k


>Description:
	Recent disklabel() changes broke mac68k iwm driver 
-- the buffer queue belongs to the drives attached, not the controller.

>How-To-Repeat:
	build mac68k kernel with iwm driver

>Fix:

--- iwm_fd.c.orig       Sat Jan 22 13:31:14 2000
+++ iwm_fd.c    Wed Jan 26 22:35:04 2000
@@ -323,8 +323,6 @@
        printf(": Apple GCR floppy disk controller\n");
        iwm = (iwm_softc_t *)self;
 
-       BUFQ_INIT(&iwm->bufQueue);
-
        iwmErr = iwmInit();
        if (TRACE_CONFIG)
                printf("initIWM() says %d.\n", iwmErr);
@@ -467,6 +465,9 @@
 
        iwm->fd[ia->unit] = fd;         /* iwm has ptr to this drive */
        iwm->drives++;
+
+       BUFQ_INIT(&fd->bufQueue);
+
        printf(" drive %d: ", fd->unit);
 
        if (IWM_NO_DISK & driveInfo) {

>Audit-Trail:
>Unformatted: