sync with sparc:
authorchuck <chuck@openbsd.org>
Sat, 13 Jan 1996 03:52:44 +0000 (03:52 +0000)
committerchuck <chuck@openbsd.org>
Sat, 13 Jan 1996 03:52:44 +0000 (03:52 +0000)
 - move disk_attach() to before reading the disk label as per Jason.
otherwise we are reading into an unallocated buffer (oops!)

sys/arch/sun3/dev/xd.c
sys/arch/sun3/dev/xy.c

index 3013739..3543a7c 100644 (file)
@@ -36,7 +36,7 @@
  * x d . c   x y l o g i c s   7 5 3 / 7 0 5 3   v m e / s m d   d r i v e r
  *
  * author: Chuck Cranor <chuck@ccrc.wustl.edu>
- * id: $Id: xd.c,v 1.2 1996/01/12 20:21:04 deraadt Exp $
+ * id: $Id: xd.c,v 1.3 1996/01/13 03:52:44 chuck Exp $
  * started: 27-Feb-95
  * references: [1] Xylogics Model 753 User's Manual
  *                 part number: 166-753-001, Revision B, May 21, 1988.
@@ -632,6 +632,9 @@ xdattach(parent, self, aux)
        newstate = XD_DRIVE_NOLABEL;
 
        xd->hw_spt = spt;
+       /* Attach the disk: must be before getdisklabel to malloc label */
+       disk_attach(&xd->sc_dk);
+
        if (xdgetdisklabel(xd, xa->dvmabuf) != XD_ERR_AOK)
                goto done;
 
@@ -691,9 +694,6 @@ xdattach(parent, self, aux)
                bcopy(xa->dvmabuf, &xd->dkb, XDFM_BPS);
        }
 
-       /* Attach the disk. */
-       disk_attach(&xd->sc_dk);
-
        /* XXX - Where is this and what does it do? -gwr */
        dk_establish(&xd->sc_dk, &xd->sc_dev);
 
index 527f96d..b369e2b 100644 (file)
@@ -36,7 +36,7 @@
  * x y . c   x y l o g i c s   4 5 0 / 4 5 1   s m d   d r i v e r
  *
  * author: Chuck Cranor <chuck@ccrc.wustl.edu>
- * id: $Id: xy.c,v 1.2 1996/01/12 20:21:06 deraadt Exp $
+ * id: $Id: xy.c,v 1.3 1996/01/13 03:52:45 chuck Exp $
  * started: 14-Sep-95
  * references: [1] Xylogics Model 753 User's Manual
  *                 part number: 166-753-001, Revision B, May 21, 1988.
@@ -565,6 +565,9 @@ xyattach(parent, self, aux)
        newstate = XY_DRIVE_NOLABEL;
 
        xy->hw_spt = spt = 0; /* XXX needed ? */
+       /* Attach the disk: must be before getdisklabel to malloc label */
+       disk_attach(&xy->sc_dk);
+
        if (xygetdisklabel(xy, xa->dvmabuf) != XY_ERR_AOK)
                goto done;
 
@@ -653,9 +656,6 @@ xyattach(parent, self, aux)
                bcopy(xa->dvmabuf, &xy->dkb, XYFM_BPS);
        }
 
-       /* Attach the disk. */
-       disk_attach(&xy->sc_dk);
-
        dk_establish(&xy->sc_dk, &xy->sc_dev);          /* XXX */
 
 done: