diff options
author | gibbs <gibbs@FreeBSD.org> | 1995-01-27 17:37:05 +0000 |
---|---|---|
committer | gibbs <gibbs@FreeBSD.org> | 1995-01-27 17:37:05 +0000 |
commit | 630d3981306ee5bc445899521f23e3106557a91c (patch) | |
tree | 70cf44cf36c4f019b65ad224154d93de1ab530bf /sys/i386/scsi | |
parent | b5c6599aa47b119e1aaac3b629eb0e9d109696be (diff) | |
download | FreeBSD-src-630d3981306ee5bc445899521f23e3106557a91c.zip FreeBSD-src-630d3981306ee5bc445899521f23e3106557a91c.tar.gz |
Set the current transfer parameters directly after a mesg reject for either
Wide or Sync negotiation attempts as we do in all other phases of negotiation.
Diffstat (limited to 'sys/i386/scsi')
-rw-r--r-- | sys/i386/scsi/aic7xxx.c | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/sys/i386/scsi/aic7xxx.c b/sys/i386/scsi/aic7xxx.c index 824ff01..0b62719 100644 --- a/sys/i386/scsi/aic7xxx.c +++ b/sys/i386/scsi/aic7xxx.c @@ -24,7 +24,7 @@ * * commenced: Sun Sep 27 18:14:01 PDT 1992 * - * $Id: aic7xxx.c,v 1.11 1995/01/16 16:33:46 gibbs Exp $ + * $Id: aic7xxx.c,v 1.12 1995/01/22 00:48:39 gibbs Exp $ */ /* * TODO: @@ -957,15 +957,6 @@ ahcintr(unit) + scsi_id); mask = (0x01 << scsi_id); - if(ahc->needsdtr & mask){ - /* note asynch xfers and clear flag */ - targ_scratch &= 0xf0; - ahc->needsdtr &= ~mask; - printf("ahc%d: target %d refusing " - "syncronous negotiation. Using " - "asyncronous transfers\n", - unit, scsi_id); - } if(ahc->needwdtr & mask){ /* note 8bit xfers and clear flag */ targ_scratch &= 0x7f; @@ -975,11 +966,23 @@ ahcintr(unit) "8bit transfers\n", unit, scsi_id); } + else if(ahc->needsdtr & mask){ + /* note asynch xfers and clear flag */ + targ_scratch &= 0xf0; + ahc->needsdtr &= ~mask; + printf("ahc%d: target %d refusing " + "syncronous negotiation. Using " + "asyncronous transfers\n", + unit, scsi_id); + } + else + /* + * Otherwise, we ignore it. + */ + break; outb(HA_TARG_SCRATCH + iobase + scsi_id, targ_scratch); - /* - * Otherwise, we ignore it. - */ + outb(SCSIRATE + iobase, targ_scratch); break; } case BAD_STATUS: |