Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-1-5]: src/sys/arch/arm32/podulebus Pullup 1.19 [abs]:



details:   https://anonhg.NetBSD.org/src/rev/37a651632c18
branches:  netbsd-1-5
changeset: 490115:37a651632c18
user:      tv <tv%NetBSD.org@localhost>
date:      Fri Nov 03 18:42:09 2000 +0000

description:
Pullup 1.19 [abs]:
Fix hanging problem with acorn scsi card on RiscPC and A7000 machines
PR port-arm32/10539 from Mike Pumford

diffstat:

 sys/arch/arm32/podulebus/sbic.c |  9 ++++-----
 1 files changed, 4 insertions(+), 5 deletions(-)

diffs (32 lines):

diff -r 6d68dd40b454 -r 37a651632c18 sys/arch/arm32/podulebus/sbic.c
--- a/sys/arch/arm32/podulebus/sbic.c   Fri Nov 03 18:41:04 2000 +0000
+++ b/sys/arch/arm32/podulebus/sbic.c   Fri Nov 03 18:42:09 2000 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: sbic.c,v 1.15 2000/03/23 06:35:15 thorpej Exp $ */
+/* $NetBSD: sbic.c,v 1.15.4.1 2000/11/03 18:42:09 tv Exp $ */
 
 /*
  * Copyright (c) 1994 Christian E. Hopps
@@ -533,11 +533,10 @@
        dev->target = slp->scsipi_scsi.target;
        dev->lun = slp->scsipi_scsi.lun;
        if ( flags & XS_CTL_POLL || ( !sbic_parallel_operations
-                                  && (/*phase == STATUS_PHASE ||*/
-                                      sbicdmaok(dev, xs) == 0) ) )
+                                && (sbicdmaok(dev, xs) == 0) ) )
                stat = sbicicmd(dev, slp->scsipi_scsi.target, slp->scsipi_scsi.lun, &acb->cmd,
                    acb->clen, acb->sc_kv.dc_addr, acb->sc_kv.dc_count);
-       else if (sbicgo(dev, xs) == 0) {
+       else if (sbicgo(dev, xs) == 0 && xs->error != XS_SELTIMEOUT) {
                SBIC_TRACE(dev);
                return;
        } else
@@ -722,7 +721,7 @@
        struct sbic_softc *dev;
        struct scsipi_xfer *xs;
 {
-       if (sbic_no_dma || xs->datalen & 0x1 || (u_int)xs->data & 0x3)
+       if (sbic_no_dma || !xs->datalen || xs->datalen & 0x1 || (u_int)xs->data & 0x3)
                return(0);
        /*
         * controller supports dma to any addresses?



Home | Main Index | Thread Index | Old Index