increase MESG_IN/OUT field to 7 bytes. Most drives only return 1 byte
authorMike Hibler <hibler@ucbvax.Berkeley.EDU>
Sat, 15 Aug 1992 00:16:55 +0000 (16:16 -0800)
committerMike Hibler <hibler@ucbvax.Berkeley.EDU>
Sat, 15 Aug 1992 00:16:55 +0000 (16:16 -0800)
but some (MO) return more.  If the MESG_IN phase code fails to read all
the pending bytes, it throws the controller out of sync leading to a
variety of odd behaviors:
boot program failures on warm reboot (ixfer_start failures)
read requests that silently do nothing (VJ's old printf in sd.c)

SCCS-vsn: sys/hp300/stand/scsivar.h 7.2

usr/src/sys/hp300/stand/scsivar.h

index 676d864..60cbfdc 100644 (file)
@@ -8,7 +8,7 @@
  *
  * %sccs.include.redist.c%
  *
  *
  * %sccs.include.redist.c%
  *
- *     @(#)scsivar.h   7.1 (Berkeley) %G%
+ *     @(#)scsivar.h   7.2 (Berkeley) %G%
  */
 
 struct scsi_softc {
  */
 
 struct scsi_softc {
@@ -17,7 +17,7 @@ struct        scsi_softc {
        char    sc_alive;
        char    sc_scsi_addr;
        char    sc_stat;
        char    sc_alive;
        char    sc_scsi_addr;
        char    sc_stat;
-       char    sc_msg;
+       char    sc_msg[7];
 };
 
 extern struct scsi_softc scsi_softc[];
 };
 
 extern struct scsi_softc scsi_softc[];