]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Fix the abort code in the BUS DEVICE RESET case. Needed to set cmdlen to 0.
authorJustin T. Gibbs <gibbs@FreeBSD.org>
Sun, 28 Apr 1996 19:21:20 +0000 (19:21 +0000)
committerJustin T. Gibbs <gibbs@FreeBSD.org>
Sun, 28 Apr 1996 19:21:20 +0000 (19:21 +0000)
commita515c85818ba847d3175cc8b70ca0fe9e03bb6d5
tree668c9c7b75570856fbeae02e987f1cbc2df93b4c
parent30d8ec044285d11b633eb1ed8265bb38aa2aa0f4
Fix the abort code in the BUS DEVICE RESET case.  Needed to set cmdlen to 0.

Ensure that queued commands are not touched by the abort code by setting
the SCB status to indicate what queue it is in.

Fix deadlocks when using SCB paging by using SCBs from the assigned_scbs
queue or an SCB that completed during the same interrupt if needed.

Don't ever use insl to pull SCBs from any of the controllers.  You can
only do 8bit PIO reads.  This only affected SCB paging.

With this checkin, SCB paging works quite a bit better, but I still have
some problems with it that may be caused by a firmware problem in my
PD1800s.  It seems that using a tag number higher than the maximum number
of tags allowed by the device, confuses it.  For example, if I queue
two commands, tagged 3 and 36, it never reconnects for tag 36.
sys/i386/scsi/aic7xxx.c
sys/i386/scsi/aic7xxx.h